Queen's University Protein Function Discovery
and Department of Biomedical and Molecular Sciences
Molecular Modelling and Crystallographic Computing Facility
Crystallography and Modelling:
Other:

Visualizing Symmetry

Included below are some tools to create the drawing commands to show the symmetry axes for a crystal. The database of axes is currently incomplete.

PyMOL tools

These require cctbx the Computational Crystallography Toolbox and NumPy (Numerical Python) (Numeric) and have only been tested on PyMOL version 0.8 (CVS version) for Linux:
  • draw_cell.py python script for drawing unitcell border with labels (and with fancy coloring!) within PyMOL. Now you can have a unitcell frame without reading in a PDB file. draw_cell.py also includes labels for the Origin and the ends of the A, B and C axes. It requires the pymol.vfont module, which is only available in version 0.80
  • draw_symops.py python script for drawing symmetry axes within PyMOL using the symop_axes.dat file of operator axes (not all space groups are entered yet).
  • draw_symops_cctbx.py python script for drawing symmetry axes within PyMOL using the cctbx tools within all_axes.py to generate the unique set of symmetry axes
    • all_axes.py python script generating symmetry axes using the cctbx
    • all_axes_new.py python script generating symmetry axes using the cctbx
  • For either of the above draw_symops(_cctbx).py scripts, from within PyMOL do, for example: run draw_symops_cctbx.py and then do: draw_symops((30.,40.,50.,90.,99.,90),'p21',0.5) to draw the symmetry operators for the space group p21 (with a radius of 0.5 -- 0.2 is the default).
  • ewald.py Draw the Ewald sphere at the beginning and end of a data collection pass, as well as the limiting sphere and the reflections divided into categories (within the limiting sphere, outside the limiting sphere, collected, not collected and lastly part of one asymmetric unit).
  • ewald_laue.py Draw the reflections that would be collected in a Laue experiment.

Using O or VMD to visualize symmetry axes

Older symmetry tools (written in perl):
  • symop_axes_O perl script to create a file that can be read into O with the draw_object <file_name> command.
  • symop_axes_vmd perl script to create a file that can be read into VMD with the source <file_name> command.
  • symop_axes.dat the current state of the symmetry axes database. It currently includes space groups up to about P3121 (number 152).
  • helix_turn_strand.pdb a fragment of a protein structure for use in demonstrating symmetry operations.
  • It helps also to have a convenient way to generate the symmetry copies. Since VMD hasn't been so good at this, I've often generated my own with my symm_apply program (found in my list of FORTRAN programs).