Example #1
0
         print >> sys.stderr, '       residues in the topology file ' + prmtop
         sys.exit()

      if not (" %s " % prmtop_residues[resnums[x]-1]) in titrate_residues:
         print >> sys.stderr, 'Error: Residue ' + str(resnums[x]) + ' is a ' + prmtop_residues[resnums[x]-1] + \
               '. This is not in the list of titratable residues!'
         sys.exit()
      else:
         titrated_residue_nums.append(resnums[x])

# otherwise, add in all matching residues

else:
   for x in range(len(prmtop_residues)-1):
      if " %s " % prmtop_residues[x] in titrate_residues:
         check_data = cpin_data.getData(prmtop_residues[x], igb, has_water)
         # make sure we aren't adding termini
         if len(check_data[0])-2 == prmtop_object.parm_data['RESIDUE_POINTER'][x+1] - prmtop_object.parm_data['RESIDUE_POINTER'][x]:
            titrated_residue_nums.append(x+1)

# Check to make sure that at least one residue is going to be titrated

if len(titrated_residue_nums) == 0:
   print >> sys.stderr, 'Error: No titratable residues conform to your criteria!'
   sys.exit()

# Now filter out the notresnums

for x in range(len(notresnums)):
   for y in range(len(titrated_residue_nums)):
      if notresnums[x] == titrated_residue_nums[y]:
Example #2
0
def printusage():
    """ Prints the usage statement and quits """
    print "ChangeState.py <prmtop> <residue> <state> <new_prmtop>"
    sys.exit(0)


if len(sys.argv) != 5 or sys.argv[1] in ['--help', '-help', '-h', '--h']:
    printusage()

prmtop = amberParm(sys.argv[1])

if not prmtop.valid:
    print >> sys.stderr, 'Error: %s is not a valid prmtop!' % sys.argv[1]
    printusage()

res = int(sys.argv[2]) - 1
data = getData(prmtop.parm_data['RESIDUE_LABEL'][res], 5)
starting_point = prmtop.parm_data['RESIDUE_POINTER'][res] - 1
state = int(sys.argv[3])

for i in range(2, len(data[state])):
    atnum = starting_point + i - 2
    print "Changing %-4s from charge %8.4f to %8.4f" % \
       ( prmtop.parm_data['ATOM_NAME'][atnum], prmtop.parm_data['CHARGE'][atnum],
         data[state][i] )
    prmtop.parm_data['CHARGE'][atnum] = data[state][i]

prmtop.writeParm(sys.argv[4])

print 'Done!'
Example #3
0
def printusage():
   """ Prints the usage statement and quits """
   print "ChangeState.py <prmtop> <residue> <state> <new_prmtop>"
   sys.exit(0)

if len(sys.argv) != 5 or sys.argv[1] in ['--help','-help','-h','--h']:
   printusage()

prmtop = amberParm(sys.argv[1])

if not prmtop.valid:
   print >> sys.stderr, 'Error: %s is not a valid prmtop!' % sys.argv[1]
   printusage()

res = int(sys.argv[2]) - 1
data = getData(prmtop.parm_data['RESIDUE_LABEL'][res],5)
starting_point = prmtop.parm_data['RESIDUE_POINTER'][res] - 1
state = int(sys.argv[3])

for i in range(2,len(data[state])):
   atnum = starting_point + i - 2
   print "Changing %-4s from charge %8.4f to %8.4f" % \
      ( prmtop.parm_data['ATOM_NAME'][atnum], prmtop.parm_data['CHARGE'][atnum],
        data[state][i] )
   prmtop.parm_data['CHARGE'][atnum] = data[state][i]

prmtop.writeParm(sys.argv[4])

print 'Done!'