hdiff output

r32053/parm.py 2017-03-08 13:30:08.225087900 +0000 r32052/parm.py 2017-03-08 13:30:08.477091262 +0000
 12: parser = argparse.ArgumentParser(description='Parse parameter generator arguments') 12: parser = argparse.ArgumentParser(description='Parse parameter generator arguments')
 13: parser.add_argument("pdbfilename") 13: parser.add_argument("pdbfilename")
 14: parser.add_argument('-p', '--parmfile', type=str, default=None) 14: parser.add_argument('-p', '--parmfile', type=str, default=None)
 15: parser.add_argument('-o', '--outbase', type=str, default="Output") 15: parser.add_argument('-o', '--outbase', type=str, default="Output")
 16: parser.add_argument('--local', action='store_true') 16: parser.add_argument('--local', action='store_true')
 17:  17: 
 18: args = parser.parse_args() 18: args = parser.parse_args()
 19:  19: 
 20:  20: 
 21: # atom name to weight type 21: # atom name to weight type
 22: atn2ty = {"P":"P", "O5*":"O", "C5'":"C", "C5*":"C", "CA":"R4", "C4'":"R4", "C4*":"R4", "C1'":"R1", "C1*":"R1", "CY":"R1", "A1":"A1", "A2":"A2", "G1":"G1", "G2":"G2", "C1":"C1", "U1":"U1", "D":"D", "MG":"MG"} 22: atn2ty = {"P":"P", "O5*":"O", "C5*":"C", "CA":"R4", "CY":"R1", "A1":"A1", "A2":"A2", "G1":"G1", "G2":"G2", "C1":"C1", "U1":"U1", "D":"D", "MG":"MG"}
 23: # Main, sugar, end, or heteroatom ? 23: # Main, sugar, end, or heteroatom ?
 24: aty2mse = {"P":"M", "O":"M", "C":"M", "R4":"M", "R1":"S", "A1":"S", "A2":"E", "G1":"S", "G2":"E", "C1":"E", "U1":"E", "D":"M", "MG":"H"} 24: aty2mse = {"P":"M", "O":"M", "C":"M", "R4":"M", "R1":"S", "A1":"S", "A2":"E", "G1":"S", "G2":"E", "C1":"E", "U1":"E", "D":"M", "MG":"H"}
 25: # residue letter to number 25: # residue letter to number
 26: resl2i_ = {'G':1, 'A':2, 'C':3, 'U':4, 'D':5}#, 'DG':1, 'DA':2, 'DC':3, 'DU':4} 26: resl2i = {'G':1, 'A':2, 'C':3, 'U':4, 'D':5}#, 'DG':1, 'DA':2, 'DC':3, 'DU':4}
 27: # residue letter to name 27: # residue letter to name
 28: resl2n_ = {'G':"GUA", 'A':"ADE", 'C':"CYT", 'U':"URA", 'D':"DUM"}#, 'DG':"GUA", 'DA':"ADE", 'DC':"CYT", 'DU':"URA", 'DT': "THY"} 28: resl2n = {'G':"GUA", 'A':"ADE", 'C':"CYT", 'U':"URA", 'D':"DUM"}#, 'DG':"GUA", 'DA':"ADE", 'DC':"CYT", 'DU':"URA", 'DT': "THY"}
 29:  
 30: def res_cut(rn, rdict): 
 31:     # if we have a residue name C5,G5,C3,G3, etc... remove the number 
 32:     if rn[-1] in "53": 
 33:       rn = rn[:-1] 
 34:     return rdict[rn] 
 35:  
 36: def resl2i(rn): 
 37:   return res_cut(rn, resl2i_) 
 38: def resl2n(rn): 
 39:   return res_cut(rn, resl2n_) 
 40:  29: 
 41: class Atom(): 30: class Atom():
 42:   def __init__(self, pdbline): 31:   def __init__(self, pdbline):
 43:     self.idx = int(pdbline[6:11]) 32:     self.idx = int(pdbline[6:11])
 44:     self.name = pdbline[12:16] 33:     self.name = pdbline[12:16]
 45:     self.aty = atn2ty[self.name.strip()] 34:     self.aty = atn2ty[self.name.strip()]
 46:     self.resname = pdbline[17:20] 35:     self.resname = pdbline[17:20]
 47:     self.chainid = pdbline[21:22] 36:     self.chainid = pdbline[21:22]
 48:     self.residx = int(pdbline[22:26]) 37:     self.residx = int(pdbline[22:26])
 49:     self.x = float(pdbline[30:38]) 38:     self.x = float(pdbline[30:38])
233:       shutil.rmtree(bakdir)222:       shutil.rmtree(bakdir)
234:     shutil.move(outdir, bakdir)223:     shutil.move(outdir, bakdir)
235:   os.mkdir(outdir)224:   os.mkdir(outdir)
236:   shutil.copy(args.pdbfilename, os.path.join(outdir, pdbbase+".pdb"))225:   shutil.copy(args.pdbfilename, os.path.join(outdir, pdbbase+".pdb"))
237: 226: 
238: 227: 
239: 228: 
240: 229: 
241: with open(os.path.join(outdir,basefilename), 'w') as bfn:230: with open(os.path.join(outdir,basefilename), 'w') as bfn:
242:   for r in residues:231:   for r in residues:
243:     rn = r[0].resname.strip()232:     print >>bfn,  r[-1].idx, resl2i[r[0].resname.strip()]
244:     print >>bfn,  r[-1].idx, resl2i(rn) 
245: 233: 
246: with open(os.path.join(outdir,chainfilename), 'w') as cfn:234: with open(os.path.join(outdir,chainfilename), 'w') as cfn:
247:   print >>cfn, len(chains)235:   print >>cfn, len(chains)
248:   for ci, c in enumerate(chains):236:   for ci, c in enumerate(chains):
249:     print >>cfn, ci+1, len(c.atlist), '0'237:     print >>cfn, ci+1, len(c.atlist), '0'
250: 238: 
251: 239: 
252: 240: 
253: aty = aty2mse.keys()241: aty = aty2mse.keys()
254: #for at in atoms:242: #for at in atoms:
383:   print >>tfn, wraptxt(mass)371:   print >>tfn, wraptxt(mass)
384:   print >>tfn, wraptxt(iac, 72)372:   print >>tfn, wraptxt(iac, 72)
385:   print >>tfn, wraptxt(numex, 72)373:   print >>tfn, wraptxt(numex, 72)
386:   374:   
387:   375:   
388:   print >>tfn, wraptxt(("{:6d}"*len(aty)**2).format(*[0,]*len(aty)**2), 72)376:   print >>tfn, wraptxt(("{:6d}"*len(aty)**2).format(*[0,]*len(aty)**2), 72)
389:   377:   
390:   378:   
391:   labres = ipres = ""379:   labres = ipres = ""
392:   for r in residues:380:   for r in residues:
393:     labres += "{:4s}".format(resl2n(r[0].resname.strip()))381:     labres += "{:4s}".format(resl2n[r[0].resname.strip()])
394:     ipres += "{:6d}".format(r[0].idx)382:     ipres += "{:6d}".format(r[0].idx)
395:   383:   
396:   labres = labres.replace(' ', 'i', 1)384:   labres = labres.replace(' ', 'i', 1)
397:   385:   
398:   print >>tfn, wraptxt(labres, ls=True)386:   print >>tfn, wraptxt(labres, ls=True)
399:   print >>tfn, wraptxt(ipres, 72)387:   print >>tfn, wraptxt(ipres, 72)
400:   388:   
401:   389:   
402:   rkl = reql = ""390:   rkl = reql = ""
403:   for b1, b2, rk, req in bonds:391:   for b1, b2, rk, req in bonds:


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0