<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><DIV><DIV>On Mar 2, 2006, at 7:02 AM, Isherwood, James wrote:</DIV><BLOCKQUOTE type="cite"><P><FONT size="2">Hi,<BR> <BR> I was wondering if there was a way to use chimera to calculate Root Mean Squared Deviations<BR> for individual residues or backbone atoms. In order to produce a graph showing the relative<BR> freedom of different areas of a protein.</FONT></P></BLOCKQUOTE></DIV><DIV>Hi James,</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>We intend to add features to make this kind of evaluation easier in the future. Right now, you can only do pairwise evaluations between structures. I'm going to assume that you have the pair of structures of interest superpositioned by some means (e.g. using the MatchMaker tool)...</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>A) the structures have identical residue composition...</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>method A-1) You can write a straightforward yet tedious command script, such as:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>echo residue 1; rmsd #0:1 #1:1</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>echo residue 2; rmsd #0:2 #1:2</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>echo residue 3; rmsd #0:3 #1:3</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>etc.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>and use the 'source' or 'read' commands to execute it, or just File...Open (it should have a .com or .cmd extension). The output will appear in the reply log, which you can save to a file.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>method A-2) You can use a slightly less tedious Python script:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>import chimera</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>from Midas import rmsd</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>m1, m2 = chimera.openModels.list()</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>for r1, r2 in zip(m1.residues, m2.residues):</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>if r1.atoms[0].surfaceCategory != "main":</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN># skip ions/solvent/ligand</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>continue</DIV><DIV><SPAN class="Apple-tab-span" style="white-space:pre"> </SPAN>print r1.oslIdent(), rmsd(r1.atoms, r2.atoms)</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>(in future Chimera releases, the slightly clunky "print r1.oslIdent()..." will just be "print r1,...")</DIV><DIV>The file should end in .py and can be run by using the command 'open' or the menu File...Open. Again, the output will appear in the reply log and can be saved from there.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>B) the structures are similar but don't have identical residue composition</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>method B-1) You would use the Match->Align tool (with a generous distance cutoff) to get as many residues aligned in the resulting sequence alignment as possible. You could actually have more than two structures in this case, though the RMSD values you will eventually generate will still be pairwise with respect to a chosen reference structure. Use the sequence-alignment's Structure->Assess Match menu item to generate a residue attribute named matchDist for the structures other than the one you choose to be the reference structure. 'matchDist' is the distance between the carbon alphas of corresponding residues of the reference and matched structures. You can then select on or color the structures based on this attribute. You can also use the CalcAttr tool to save the matchDist attribute to a file (just have CalcAttr copy the attribute to another name as its "calculation").</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>method B-2) There is no method B-2.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>--Eric</DIV><DIV><BR><DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> Eric Pettersen</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> UCSF Computer Graphics Lab</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> <A href="mailto:pett@cgl.ucsf.edu">pett@cgl.ucsf.edu</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "> <A href="http://www.cgl.ucsf.edu">http://www.cgl.ucsf.edu</A></DIV></DIV></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"></DIV></BODY></HTML>