Crystal packing and unit cell contents

From: Gordon Webster (gwebster@imb-jena.de)
Date: Tue Oct 01 1996 - 04:00:49 CDT


On Sep 30, 10:39am, J. Dunbar wrote:

Hello O Users.

I would like to plot a figure showing the crystal packing interactions
of my protein molecule.  Using symm_cell and symm_object I can get the
desired symmetry-related molecules and the unit cell box to appear on
the screen.  When I use the plot command, however, only my original
protein molecule appears in the postscript file.

In looking at the FAQ listing it appears that I should use symm_sph to
obtain my symmetry related molecules instead.  Is there some way to get
O and oplot to plot a figure with the original molecule and symmetry related
molecules together with the unit cell box?  I have seen such figures in
papers so I am hoping there is a straightforward solution to my problem.

Any helpful suggestions would be greatly appreciated.

Thanks,
Jennifer Dunbar
-- End of excerpt from J. Dunbar

 ...........................................................

Generating the unit cell contents seems to be very difficult using O. The
symmetry operators are applied without any checks on the positions of the
generated molecules relative to the actual unit cell that you are working in,
unless you use symm_sphere, in which case a distance criteria is used to
generate all symmetry-related atoms within a certain radius of the current
object.

If you would like to view the unit cell contents, one way is to use pdbset
to generate the symmetry-related molecules as someone has previously
suggested, but this also generates molecules without respect to the
particular unit cell of your object, and it is usually necessary to play
around with the unit cell translations in order to get what you want.

A very nice way to generate exactly the unit cell contents, is to use X-plor
something like this ...

 ......................................................................
{===>} structure @myprotein.psf end       {*Read structure file.*}

{===>} coor @myprotein.pdb    end             {*Read coordinates.*}
  

xrefin
{===>}                                             {*Unit cell for crystal.*}
   a=120.00 b=50.00 c=100.00 alpha=90.0 beta=95.00 gamma=90.0
end

vector do ( segid="1" ) ( all )

   {*The next two statements would have to be repeated for each space group*}
   {*operator.  Just increase the segment identifier for each new symmetry *}
   {*mate. This example is for the spacegroup C2                           *}

duplicate selection=( segid "1" ) segid="2" end
coor symmetry=(x+1/2,y+1/2,z) selection=( segid "2" ) end
duplicate selection=( segid "1" ) segid="3" end
coor symmetry=(-x,y,-z) selection=( segid "3" ) end
duplicate selection=( segid "1" ) segid="4" end
coor symmetry=(-x+1/2,y+1/2,-z) selection=( segid "4" ) end

       {*The next statement translates the molecules into the standard unit*}
       {*cell.                                                             *}

coor fractionalize end
vector do (x=mod(x+10,1)) ( all )
vector do (y=mod(y+10,1)) ( all )
vector do (z=mod(z+10,1)) ( all )
coor orthogonalize end

                    {*A new coordinate file is written.*}

write coordinates output=unitcell.pdb end

stop
 ......................................................................

I hope this is of help.

Gordon

Gordon Webster 
Institute of Molecular Biotechnology
Department of Structural Biology 
and Crystallography
Fax:   +49-3641-65-6062
Email: gwebster@imb-jena.de



This archive was generated by hypermail 2b29 : Tue Mar 20 2007 - 03:13:18 CST