<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">You run a python file simply by opening it, either with the “open” command or with File->Open.  Another option here, since you aren’t creating images or doing anything graphical, is to run it entirely from the command line and not even bring up the graphical interface:  chimera —nogui DistSing.py<div class=""><br class=""></div><div class="">Looking at your script, it mostly looks good except the for the writing to the file.  It looks like you give two ‘{}’s in the format string but then provide 4 arguments to the format() call.  I think those have to match, though I’m no format() guru.</div><div class=""><br class=""></div><div class="">—Eric</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Aug 21, 2015, at 11:18 AM, Feixia <<a href="mailto:feixia.chu@unh.edu" class="">feixia.chu@unh.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">Thank you, Eric.</div><div style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">I got a prototype program based on your suggestions (see attachment).  But, I can't get it to run.  I tried the 'Tools / General Controls / IDLE Python shell" by enter "import DistSing.py".  The error message I got, "ImportError: No module named DistSing.py".</div><div style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">I have Python27, and Chimera 1.7.  Any suggestion to move forward?  I ended PDB downloading at  ~107,000 entires when most of the rest structures are gigantic ribosome, virus etc.  Thanks.</div><div style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">Feixia</div><div style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">On Thu, 20 Aug 2015 15:35:55 -0400, Eric Pettersen <<a href="mailto:pett@cgl.ucsf.edu" class="">pett@cgl.ucsf.edu</a>> wrote:<br class=""></div><br style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; margin: 0px 0px 0.8ex; border-left-color: rgb(0, 0, 255); border-left-width: 2px; border-left-style: solid; padding-left: 1ex;" class="">Probably the simplest way is to just see if you wound up with multiple models or not (i.e. len(openModels.list(modelTypes=Molecule)) > 1).  If you just want to use one model per entry regardless of it being NMR or not, don’t loop over the model list but just use the first model in it, i.e. instead of:<div class=""><br class=""></div><div class="">for mol in openModels.list(modelTypes=[Molecule]):</div><div class=""><span class="Apple-tab-span" style="white-space: pre;">   </span><i class="">indented</i> analysis code</div><div class=""><br class=""></div><div class="">use:</div><div class=""><br class=""></div><div class="">mol = openModels.list(modelTypes=[Molecule])[0]</div><div class=""><i class="">unindented</i> analysis code</div><div class=""><br class=""></div><div class="">—Eric</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Aug 19, 2015, at 9:10 PM, Feixia <<a href="mailto:feixia.chu@unh.edu" class="">feixia.chu@unh.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class="">Thank you, Eric!  </div><div class="">I am still downloading PDB files through Bio.python. I am just interested in the overall distance distribution of residues, say Lys alpha carbon. NMR entries might end up over-representing due to their multiple models.  Thank you for pointing it out.  Is there a quick way to distinguish crystal structures from NMR structures?</div><div class=""><br class=""></div><div class="">Best,</div><div class="">Feixia</div><div class=""><br class=""></div><div class="">On Wed, 19 Aug 2015 14:17:35 -0400, Eric Pettersen <<a href="mailto:pett@cgl.ucsf.edu" class="">pett@cgl.ucsf.edu</a>> wrote:<br class=""></div><br class=""><blockquote class="" style="margin: 0px 0px 0.8ex; border-left-color: rgb(0, 0, 255); border-left-width: 2px; border-left-style: solid; padding-left: 1ex;">Hi Feixia,<div class=""><span class="Apple-tab-span" style="white-space: pre;">     </span>You could certainly use Chimera to do that.  You need to know some Python.  Take a look at the Programmer’s Guide:</div><div class=""><br class=""></div><div class=""><a href="http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/index.html" class="">http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/index.html</a></div><div class=""><br class=""></div><div class="">In particular, the “basic primer” discusses how to loop over files in a directory and do things to them one by one.</div><div class=""><span class="Apple-tab-span" style="white-space: pre;"> </span>Here’s some example code for printing the lysine CA-CA distances for a single open file.  You could take that and move it into the loop described in the basic primer — customizing it as you wish…</div><div class=""><br class=""></div><div class="">from chimera import openModels, Molecule</div># opening NMR files can produce multiple models, so use a loop...<br class=""><div class="">for mol in openModels.list(modelTypes=[Molecule]):</div><div class=""><span class="Apple-tab-span" style="white-space: pre;">       </span>lysCas = [a for a in mol.atoms if a.name == “CA” and a.residue.type == “LYS”]</div><div class=""><span class="Apple-tab-span" style="white-space: pre;">   </span>for i, ca1 in enumerate(lysCas):</div><div class=""><span class="Apple-tab-span" style="white-space: pre;">                </span>for ca2 in lysCas[i+1:]:</div><div class=""><span class="Apple-tab-span" style="white-space: pre;">                        </span>print mol.name, ca1, ca2, ca1.coord().distance(ca2.coord())</div><div class=""><br class=""></div><div class="">—Eric</div><div class=""><br class=""></div><div class=""><div class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>Eric Pettersen</div><div class=""><span class="Apple-tab-span" style="white-space: pre;">  </span>UCSF Computer Graphics Lab</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div class="">On Aug 18, 2015, at 8:36 AM, Feixia <<a href="mailto:feixia.chu@unh.edu" class="">feixia.chu@unh.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Hi there,<br class=""><br class="">I am interested in retrieving distance information from large dataset in an automatic fashion.  For instance, can we use Chimera to get the distances between lysine alpha-carbons of current PDB entries.  Presumably, we can download all PDB structures on our local desktop, and just call functions one structure at a time.  I wonder if we can do that with Chimera.  Your advice will be highly appreciated.<br class=""><br class="">Best,<br class="">Feixia<br class=""><br class=""> </div></blockquote></div></div></blockquote></div>_______________________________________________<br class="">Chimera-dev mailing list<br class=""><a href="mailto:Chimera-dev@cgl.ucsf.edu" class="">Chimera-dev@cgl.ucsf.edu</a><br class=""><a href="http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-dev" class="">http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-dev</a><br class=""></div></blockquote></div><br class=""></div></blockquote><br style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div id="M2Signature" style="font-family: 'Times New Roman'; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class="">--<span class="Apple-converted-space"> </span></div><div class=""><div class=""><em class="">Feixia Chu, Ph.D.<br class="">Associate Professor <br class="">Molecular, Cellular & Biomedical Sciences<br class="">University of New Hampshire<br class="">Gregg Hall, Rm436<br class="">35 Colovos Rd<br class="">Durham, NH 03824<br class=""></em><em class="">Tel 603 862 2436</em></div></div></div><span id="cid:93E0C512-FA7C-4F96-8941-45E6DA44FB34@cgl.ucsf.edu"><DistSing.py></span></div></blockquote></div><br class=""></div></body></html>