[Chimera-users] RMSD

Elaine Meng meng at cgl.ucsf.edu
Tue Nov 13 10:18:58 PST 2007

Hi Julien,
We are glad you like Chimera!  Everything is scriptable in Python,  
but not necessarily in Chimera commands.  I can only provide partial  
answers (I don't know Python)...

(1) In Chimera commands, you can specify atoms by serial number, for  

select @/serialNumber=1

"serialNumber" is an atom attribute, and among many others can be  
used in command-line selections.  See the man page on atom  
especially the table of atom attributes:

(2) This is just my opinion:  if you are doing multiple comparisons,  
it may be hard to describe (say in a paper you write later) that the  
intersecting set of atoms in a zone was used for each pairwise  
comparison.  It would be better to use the same set of atoms for  
every comparison because then the RMSD values can be related to one  
another.  If you use different sets of atoms (especially of different  
sizes), then what can you say about one RMSD result versus another?    
Possibilities are to just choose one structure in which to define the  
zone and the set of atoms that will be used, or try to figure out an  
intersection or union of the zone among all pairs (not just one pair  
at a time).

(3) If you open the MD structures as a trajectory, there is a tool  
for all-by-all RMSD calculations using a set of specified atoms.  For  
example, if you had a multi-model PDB (any file with an NMR  
ensemble), you can open it as a trajectory by choosing Tools... MD/ 
Ensemble Analysis... MD Movie, then specifying the format as "PDB"  
"single file" (in this case you need for first download the structure  
from the PDB to your machine and then browse to it, rather than  
fetching directly from the PDB).  You could specify the set of atoms  
for the RMSD calculation by doing a zone selection in one particular  
structure.  Limitations of this approach:
- it will just use that set of atoms whether or not they are in the  
zone in other structures
- RMSD values are shown graphically as a grayscale map (must resort  
to python to write out values)

See the man page for MD Movie (especially the RMSD analysis section):

and the Trajectory/Ensemble Tutorial, especially part 2:

(4) In my last idea, you would just open the structures the normal  
way (with File... Open or Fetch by ID), select the zone in the first  
structure, write a list of the selected atoms (Actions... Write  
List), select the zone in the other, write another list.  Compare the  
two lists and use only the atoms in common to calculate RMSD between  
the two structures. This could be generalized to all pairwise  
comparisons and finding either the intersection or union. Limitations:
- the text-file lists include model numbers, so if you had opened the  
structures as different models, the model numbers would need to be  
stripped from the files before they are compared
- probably would also need to sort the lists before comparing them
- seems quite clunky and not very scriptable (probably someone could  
come up with something better using python)

Elaine C. Meng, Ph.D.                          meng at cgl.ucsf.edu
UCSF Computer Graphics Lab and Babbitt Lab
Department of Pharmaceutical Chemistry
University of California, San Francisco

More information about the Chimera-users mailing list