
Hi all, 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. Thanks!! Mike Here's what I have so far import os from chimera import runCommand as rc from chimera import replyobj # gather the names of .pdb files in the folder file_names = [fn for fn in os.listdir(".") if fn.endswith(".pdb")] # loop through the files, opening, processing, and closing each in turn for fn in file_names: replyobj.status("Processing " + fn) # show what file we're working on rc("open " + fn) rc("select :ZNB zr<2") rc("writesel "reslist + fn") rc("close all") rc("stop now")

Hi Mike, The tricks you need to know are that: 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: 2) You can use the 'setattr' command to change a residue's type. Therefore, once you've used your zone command to select what you want, this command will rename selected CYS residues to CYM: setattr r type CYM :CYS & sel Similarly for HIS/HIN change: setattr r type HIN :HIS & sel Therefore you can insert these commands in your script to get the result you want. --Eric Eric Pettersen UCSF Computer Graphics Lab http://www.cgl.ucsf.edu On Apr 29, 2014, at 7:34 AM, Michael Garton <michael.garton@utoronto.ca> wrote:
Hi all,
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.
Thanks!! Mike
Here's what I have so far
import os from chimera import runCommand as rc from chimera import replyobj
# gather the names of .pdb files in the folder file_names = [fn for fn in os.listdir(".") if fn.endswith(".pdb")]
# loop through the files, opening, processing, and closing each in turn for fn in file_names: replyobj.status("Processing " + fn) # show what file we're working on
rc("open " + fn)
rc("select :ZNB zr<2") rc("writesel "reslist + fn")
rc("close all")
rc("stop now") _______________________________________________ Chimera-users mailing list Chimera-users@cgl.ucsf.edu http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
participants (2)
-
Eric Pettersen
-
Michael Garton