<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><p style="margin: 0.0px 0.0px 1.0px 84.0px; text-indent: -84.0px; font: 16.0px Helvetica"><span class="Apple-style-span" style="font-size: medium; ">On Jan 19, 2010, at 9:20 AM, Mojie Duan wrote:</span></p><div><blockquote type="cite"><div>Dear Chimera Developers,<br><br>I needs to calculate the inter-helical angle for thousands of conformations.  We know Chimera can calculate the inter-helical angle for one conformation.  We are wondering if Chimera can calculate the inter-helical angle for all these conformations at one time? or would you please point out how to write a script to do this?</div></blockquote><br></div><div>Hi Mojie,</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>In the current daily build there is a new command named "define" that allows you to define axes (and planes) from the command line.  The "distance" and "angle" commands have been enhanced to accept "object IDs" (which is what "define" defines) to allow measurements between axes/planes/atoms.  The documentation for the define command and the enhanced angle command are here (and are in the daily build as well):</div><div><br></div><div><a href="http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/define.html">http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/define.html</a></div><div><a href="http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/angle.html">http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/angle.html</a></div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> </span>So, one approach would be for you to build a script that generally goes like this:</div><div><br></div><div>open noprefs (conformation 1)</div><div>sel (residues in first helix) & backbone.minimal</div><div>define axis [options you want] number 1</div><div>sel (residues in second helix) & backbone.minimal</div><div>define axis [options] number 2</div><div>angle a1 a2</div><div>close all</div><div>open noprefs (conformation 2)</div><div>etc.</div><div><br></div><div>When the script is finished all the angles will be in the reply log.  Obviously you wouldn't write this script by hand, but instead would use any programming language you are familiar with to generate it.  The 'noprefs' keyword to 'open' will speed things up since then Chimera will skip all the fancy computations it does to show the initial "smart" representation with various side chains hidden, backbone ribboned, etc.</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>Alternatively, you could write a Chimera Python script which could do the looping directly.  Assuming that you already had all the structures open in Chimera, a script something like this:</div><div><br></div><div>from chimera import openModels, Molecule, runCommand</div><div>for m in openModels.list(modelTypes=[Molecule]):</div><div><div><span class="Apple-tab-span" style="white-space: pre; ">   </span>runCommand("sel %s:(residue range of first helix).(chain ID) & backbone.minimal" % m.oslIdent())</div><div><span class="Apple-tab-span" style="white-space: pre; ">    </span>runCommand("define axis [options] number 1")</div><div><div><span class="Apple-tab-span" style="white-space: pre; "> </span>runCommand("sel %s:(residue range of second helix).(chain ID) & backbone.minimal" % m.oslIdent())</div><div><span class="Apple-tab-span" style="white-space: pre; ">   </span>runCommand("define axis [options] number 2")</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>runCommand("angle a1 a2")</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>runCommand("~define axes")</div><div><br></div><div>As before, the angles will be in the reply log.  In the above script you could call the angle function directly, which would allow you to put more info with the angle value, like this:</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">   </span>angle = Midas.angle(objIDs=["a1", "a2"])</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>print m, angle</div><div><br></div><div>and you would need an "import Midas" near the top of the script.</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>BTW, although the current daily build is fine for measuring axes, it has a few unrelated bugs that might prove annoying in extended use so I wouldn't make it your "everyday" Chimera.  I hope to get those bugs fixed today so that tomorrow's build will be more useable as a workaday Chimera.</div><div><br></div><div>--Eric</div><br><div><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="5" style="font: normal normal normal 16px/normal Helvetica; ">                        Eric Pettersen</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="5" style="font: normal normal normal 16px/normal Helvetica; ">                        UCSF Computer Graphics Lab</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="5" style="font: normal normal normal 16px/normal Helvetica; ">                        <a href="http://www.cgl.ucsf.edu">http://www.cgl.ucsf.edu</a></font></div><br class="Apple-interchange-newline"></div></span></div><div><br class="Apple-interchange-newline"><blockquote type="cite"></blockquote></div><div><br></div></div></div><div><span class="Apple-tab-span" style="white-space:pre">     </span></div><br></body></html>