<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Nevermind, I think you can ignore my last email. Chimera wasn't recognising the 'isTurn' attribute so I guess that's my answer. I'll just define turn/other as 1-(everything else) which should suffice.</p>
<p><br>
</p>
<p>I've got the following based on your snippet, but for some reason it is giving me zeros for helix and turn:</p>
<p><br>
</p>
<p></p>
<div><span class="Apple-tab-span" style="white-space:pre"></span>chimera.openModels.open(args.infile,type="PDB")</div>
<div><br>
</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>with open(args.outfile, "w") as outputFile:</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>for mol in openModels.list(modelTypes=[Molecule]):</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>helix_fract = len([r for r in mol.residues if r.isHelix]) / len(mol.residues)</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>sheet_fract = len([r for r in mol.residues if r.isSheet]) / len(mol.residues)</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>other_fract = (1 - (helix_fract + sheet_fract))</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>print(args.infile + "\t" + str(helix_fract) + "\t" + str(sheet_fract) + "\t" + str(other_fract))</div>
<div><span class="Apple-tab-span" style="white-space:pre"></span>outputFile.write(args.infile + "\t" + str(helix_fract) + "\t" + str(sheet_fract) + "\t" + str(other_fract) + "\n")</div>
<div><br>
</div>
What am I missing here?
<p></p>
<p><br>
</p>
<p>Thanks</p>
<p><br>
</p>
<p>Joe</p>
<p><br>
</p>
<p><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">Joe Healey</span><br>
</p>
<div id="Signature">
<div id="divtagdefaultwrapper" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
<br>
</div>
<div id="divtagdefaultwrapper" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
<span style="text-decoration:underline">                                        </span>
<br>
</div>
<div id="divtagdefaultwrapper" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
<span style="font-size:10pt">M.Sc. B.Sc. (Hons)</span><br>
</div>
<div id="divtagdefaultwrapper" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
<span style="font-size:10pt"></span>
<div><span style="font-size:10pt">PhD Student</span></div>
<div><span style="font-size:10pt">MOAC CDT, Senate House</span></div>
<div><span style="font-size:10pt">University of Warwick<br style="">
</span></div>
<div><span style="font-size:10pt">Coventry<br style="">
</span></div>
<div><span style="font-size:10pt">CV47AL<br style="">
Mob: +44 (0) 7536 042620  |  </span><span style="font-size:10pt">Email: J.R.J.Healey@warwick.ac.uk</span></div>
<div><span style="font-size:10pt"><br style="">
</span></div>
<div><span style="font-size:10pt">Jointly working in:<br style="">
</span></div>
<div><span style="font-size:10pt"><a href="http://www2.warwick.ac.uk/fac/med/research/tsm/microinfect/staff/waterfieldlab/" id="LPNoLP">Waterfield Lab</a> (<span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:13.3333330154419px; background-color:rgb(255,255,255)">WMS </span><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:13.3333330154419px; background-color:rgb(255,255,255)">Microbiology
 and Infecti</span><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:13.3333330154419px; background-color:rgb(255,255,255)">on Un</span><span style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:13.3333330154419px; background-color:rgb(255,255,255)">it)</span></span></div>
<div><span style="font-size:10pt">and the <a href="http://www2.warwick.ac.uk/fac/sci/chemistry/research/gibson/gibsongroup/" id="LPNoLP">Gibson Lab</a> (Warwick Chemistry)<br style="">
</span></div>
<div><span style="font-size:10pt"><br style="">
</span></div>
<div><span style="font-size:10pt">Twitter: <a href="https://twitter.com/JRJHealey" id="LPNoLP">
@JRJHealey</a>  |  </span><span style="font-size:10pt">Website: </span><a href="http://www2.warwick.ac.uk/fac/sci/moac/people/students/2013/joseph_healey" style="font-size:10pt" id="LPNoLP">MOAC Page</a></div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Eric Pettersen <pett@cgl.ucsf.edu><br>
<b>Sent:</b> 10 October 2016 18:54:08<br>
<b>To:</b> Healey, Joe<br>
<b>Cc:</b> chimera List<br>
<b>Subject:</b> Re: [Chimera-users] Computing 'basic' structure characteristics</font>
<div> </div>
</div>
<div>
<div>
<blockquote type="cite" class="">
<div class="">On Oct 9, 2016, at 9:53 AM, Elaine Meng <<a href="mailto:meng@cgl.ucsf.edu" class="">meng@cgl.ucsf.edu</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: 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; float: none; display: inline !important;" class="">If
 you just want to look at predominance of secondary structures, you would not use those integers which mean first strand, second strand, first helix, etc.  Instead you could just see how many residues are already assigned as strand, helix, and coil.  There
 aren’t commands to do this directly, only some very cumbersome approaches that I imagine are vastly inferior to using Python (like “select strand” and then writing a list of all those residues with “writesel” etc.).</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: 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: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: 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="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: 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; float: none; display: inline !important;" class="">I
 can’t help with the Python side, this is just the perspective from the commands side. All the commands I mentioned are documented,</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: 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="">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: 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; float: none; display: inline !important;" class=""><</span><a href="http://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/framecommand.html" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" class="">http://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/framecommand.html</a><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: 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; float: none; display: inline !important;" class="">></span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: 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>
</blockquote>
<br class="">
</div>
<div>To supplement this part of the answer, you can loop through a bunch of PDB files in Python as outlined here:</div>
<div><br class="">
</div>
<a href="http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/basicPrimer.html" class="">http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/basicPrimer.html</a>
<div class=""><br class="">
</div>
<div class="">You can determine the fraction of residues in helix and sheet with code like this:</div>
<div class=""><br class="">
</div>
<div class=""><i class="">from chimera import openModels, Molecule</i></div>
<div class=""><i class=""><br class="">
</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>#… inside the loop…</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>for mol in openModels.list(modelTypes=[Molecule]):</i></div>
<div class="">
<div class=""><i class=""><span class="Apple-tab-span" style="white-space: pre;"></span>sheet_fract = len([r for r in mol.residues if r.isSheet]) / len(mol.residues)</i></div>
</div>
<div class="">
<div class=""><i class=""><span class="Apple-tab-span" style="white-space: pre;"></span>helix_fract = len([r for r in mol.residues if r.isHelix]) / len(mol.residues)</i></div>
</div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># write them to a file with “print>>f” or to the reply log with just “print”</i></div>
<div class=""><br class="">
</div>
<div class="">The above assumes you have a little bit of familiarity with Python.  I can provide more explanation if you need it.</div>
<div class=""><br class="">
</div>
<div class="">—Eric</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" 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>
<br class="Apple-interchange-newline">
<br class="Apple-interchange-newline">
</div>
<br class="">
<div>
<blockquote type="cite" class=""></blockquote>
</div>
</div>
</div>
</body>
</html>