Ralf Grosse-Kunstleve has provided his SgLite module to enable PyMOL to deduce symmetry relationships from standard space group and unit cell information. Currently that information can only be provided to PyMOL as a CRYST1 record in the PDB file, which includes the correct space group identifier. However, it would be only a minor development task to add a means of assigning unit-cell and symmetry to any molecule object directly from the API.
The format of the CRYST1 record is as follows.
1 - 6 Record name "CRYST1" 7 - 15 Real(9.3) a a (Angstroms). 16 - 24 Real(9.3) b b (Angstroms). 25 - 33 Real(9.3) c c (Angstroms). 34 - 40 Real(7.2) alpha alpha (degrees). 41 - 47 Real(7.2) beta beta (degrees). 48 - 54 Real(7.2) gamma gamma (degrees). 56 - 66 LString sGroup Space group. 67 - 70 Integer z Z value. # ignored by PyMOL
When you use the "load" command to read in a PDB file with symmetry information, matrix information should be output. Verify that this information is produced before attempting to display symmetry related molecules.
The "symexp" command is used to display symmetry related molecules in the crystal lattice about an atom selection. This commands creates a set of new objects with a common prefix. Each object in the series corresponds to one symmetry-related object, which can be treated independently. See "help symexp" or the reference section for usage information.
In order to visualize only symmetry-related atoms within a given distance, you need to break the process down into two steps. First, you use the symexp command to create complete symmetry-related objects. Then you use "hide" commands to restrict what is visible to only those areas which you are interested.
load foo.pdb # load PDB file with CRYST record symexp sym,foo,(foo),5.0 # Create symmetry related "foo" objects # which pass within 5 angstroms of foo # using the prefix "sym" hide (not (foo expand 5)) # hide atoms greater than 5 A from foo
NOTE: The symexp command can potentially create large numbers of objects. You will want to use the "delete" command with a wildcard "*" to remove all objects that share a common prefix.
delete sym* # deletes objects starting with "sym"
The only map file format currently supported is the CNS and XPLOR ASCII format map file. PyMOL can read large maps of this format and then display arbitrary "bricks" of density within these maps about atom selections.
PyMOL expects XPLOR/CNS map files to have a ".xplor" extension. This requirement can be avoided by supplying an explicit type of "xplor" to the "load" command.
load 2fofc.xplor,map1 # type inferred from the extension load 2fofc.map,map1,1,xplor # type explicitly provided
See "help load" or the reference section for additional information.
Map objects are used to store the data and are represented by a wire-frame brick in space indicating the extent of the map. An arbitrary number of mesh or dots objects can be created from a given map using the "isomesh" and "isodot" commands.
isomesh msh1,map1,1.0 # display an isosurface-mesh at level 1.0 over # the entire map object "map1" isomesh msh2,map1,1.0,(chain A),3.0 # display isosurface-mesh at 1.0 # in a brick about chain A with a # border of 3.0 Angstroms
See "help isomesh" or the reference section for additional information.