Hi Jordan, nice script, but it does not do the same like the renumber script from the PyMOLWiki (http://pymolwiki.org/index.php/Renumber). Try this: set all residue numbers to 1, the renumber script will not care because it walks along the bonds and increases the count whenever it passes a peptide bond. The Biopython parser however will read just one residue.
Cheers, Thomas Jordan Willis wrote, On 01/21/13 19:53: > Does it have to be a pymol script. Renumbering pdbs is the bread and butter > of biopython pdb module: > > #!/blue/meilerlab/apps/Linux2/x86_64/bin/python2.5 > import sys > from Bio.PDB import * > from optparse import OptionParser > import warnings > def main(): > usage = "%prog input.pdb output.pdb" > parser= OptionParser(usage) > parser.add_option("-n",dest="start",help="residue number to start with, > default is 1",default=1) > parser.add_option("--preserve",dest="preserve",help="preserve insertion > code and heteroflags",default=False, action="store_true") > parser.add_option("--norestart",dest="norestart",help="don't start > renumbering at each chain, default=False",default=False, action="store_true") > (options, args) = parser.parse_args() > > warnings.simplefilter('ignore',PDBExceptions.PDBConstructionWarning) > PDBparse = PDBParser(PERMISSIVE=1) > struct = PDBparse.get_structure(args[0][0:3],args[0]) > residue_id = int(options.start) > chain_id = "" > for residue in struct.get_residues(): > chain = residue.get_parent() > if(chain_id != chain.get_id() and not options.norestart): > chain_id = chain.get_id() > residue_id=int(options.start) > if(options.preserve): > hetero = residue.id[0] > insert = residue.id[2] > residue.id=(hetero,residue_id,insert) > else: > residue.id=(' ',residue_id,' ') > residue_id +=1 > > > io=PDBIO() > io.set_structure(struct) > io.save(args[1]) > > if __name__ == "__main__": > main() -- Thomas Holder PyMOL Developer Schrödinger Contractor ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122412 _______________________________________________ PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net