Hi everyone.
I tried using posDiffPot and simulationTools.minimizeRefine to
regularize the atomic positions after adding CYSP-MTSL and protons to
a crystal structure:
#################################################
# atoms in this selection will move
#
fixGeom=AtomSel('''not (name ca or name n or name c or
name o or name hn or name ha)
and (resid 88 or resid 89 or resid 165))''')
import protocol
from potList import PotList
from simulationTools import minimizeRefine
from posDiffPotTools import create_PosDiffPot
# using this try...except clause will allow the script to write
# pdb and psf files even if there was an error in fixupCovalentGeom
#try:
protocol.addUnknownAtoms(dyn_stepsize=0.01)
test=create_PosDiffPot("test",selection="name CA and resid 64:184")
minimizeRefine(test,
refineSteps=50,
xplorPots=['BOND','ANGL','IMPR'])
#fix geom everything but modified sites
protocol.fixupCovalentGeom(sel=fixGeom,verbose=2,useVDW=1,maxIters=50)
open(successFile,"w").write("ok")
#except protocol.CovalentViolation:
# pass
# write out new psf and pdb files.
#
xplor.command("write psf output=MONDAY.psf end")
PDBTool("MONDAY.pdb").write()
##############################################
The protocol.fixupCovalentGeom command is executable, but I can't get
the posDiffPot and simulationTools.minimizeRefine to run.
Instead, I get:
File "vv_goPOSDIFF.py", line 79, in <module>
xplorPots=['BOND','ANGL','IMPR'])
File "/data6/users/scott/bin/xplor-nih-2.23/python/simulationTools.py",
line 777, in minimizeRefine
pots = flattenPotList(potList)
File "/data6/users/scott/bin/xplor-nih-2.23/python/simulationTools.py",
line 1752, in flattenPotList
for pot in potList:
TypeError: 'PosSymmPot' object is not iterable
PyInterp::command: error executing: >execfile('vv_goPOSDIFF.py')<
If I just use protocol.fixupCovalentGeom, the atomic positions are
being distorted resulting in violations of ANGL, BOND, IMPR for the
entire protein (backbone and sidechain). How do I use posDiffPot and
minimizeRefine?
Thanks,
Valerie