<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Mike,<div><span class="Apple-tab-span" style="white-space:pre"> </span>The tricks you need to know are that:</div><div><br></div><div>1) You can use the '&' operator in an atom spec to get the intersection of two atom specs.  Therefore ":CYS & sel" will get all CYS residues in the current selection and only those residues, and:</div><div><br></div><div>2) You can use the 'setattr' command to change a residue's type.</div><div><br></div><div>Therefore, once you've used your zone command to select what you want, this command will rename selected CYS residues to CYM:</div><div><br></div><div>setattr r type CYM :CYS & sel</div><div><br></div><div>Similarly for HIS/HIN change:</div><div><br></div><div>setattr r type HIN :HIS & sel</div><div><br></div><div>Therefore you can insert these commands in your script to get the result you want.</div><div><br></div><div>--Eric</div><br>                        Eric Pettersen<br>                        UCSF Computer Graphics Lab<br>                        <a href="http://www.cgl.ucsf.edu">http://www.cgl.ucsf.edu</a><br><br><div><div><div>On Apr 29, 2014, at 7:34 AM, Michael Garton <michael.garton@utoronto.ca> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div fpstyle="1" ocsi="0" style="font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div style="direction: ltr; font-family: Tahoma; font-size: 10pt; ">Hi all,<div><br></div><div>Can anyone show me a good way to select all residues that are <2Å from zinc atoms, then rename any selected CYS and HIS, to CYM and HIN respectively ... I'm trying to write a script to do this on ~300 files.</div><div><br></div><div>Thanks!!</div><div>Mike</div><div><br></div><div>Here's what I have so far</div><div><br></div><div><div>import os</div><div>from chimera import runCommand as rc</div><div>from chimera import replyobj</div><div><br></div><div># gather the names of .pdb files in the folder</div><div>file_names = [fn for fn in os.listdir(".") if fn.endswith(".pdb")]</div><div><br></div><div># loop through the files, opening, processing, and closing each in turn</div><div>for fn in file_names:</div><div>    replyobj.status("Processing " + fn) # show what file we're working on</div><div><br></div><div>    rc("open " + fn)</div><div><br></div><div>    rc("select :ZNB zr<2")</div><div>    rc("writesel "reslist + fn")</div><div>    </div><div>    rc("close all")</div><div><br></div><div>rc("stop now")</div></div></div>_______________________________________________<br>Chimera-users mailing list<br><a href="mailto:Chimera-users@cgl.ucsf.edu">Chimera-users@cgl.ucsf.edu</a><br><a href="http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users">http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users</a><br></div></blockquote></div><br></div><br><br><div apple-content-edited="true">
</div>
<br></body></html>