
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 example: 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 specification, http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/ frameatom_spec.html especially the table of atom attributes: http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/ atom_spec.html#atprops (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): http://www.cgl.ucsf.edu/chimera/docs/ContributedSoftware/movie/ framemovie.html http://www.cgl.ucsf.edu/chimera/docs/ContributedSoftware/movie/ movie.html#rmsd and the Trajectory/Ensemble Tutorial, especially part 2: http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/tutorials/ ensembles2.html#part2 (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) Best, Elaine ----- Elaine C. Meng, Ph.D. meng@cgl.ucsf.edu UCSF Computer Graphics Lab and Babbitt Lab Department of Pharmaceutical Chemistry University of California, San Francisco http://www.cgl.ucsf.edu/home/meng/index.html