Guillermo,

Thanks you.  Your comments were very helpful.

Rather than use the genExtendedStructure() method, I have tried to recreate
the minimization procedure from the old-school script.  To my eyes, the
resulting PDB looks reasonable.

(As you are well aware) I don't really know what I'm doing with the python
interface, but they say 1000 monkeys at 1000 typewriters can produce
Hamlet, so chipped away at it using the contents of eginput as templates.
My script is below for anyone in the future facing the same problem.

Thanks again,

Justin

****



xplor.parseArguments()


# Filename for output structures.  This string must contain the STRUCTURE
# literal so that each calculated structure has a unique name. The SCRIPT
# literal is replaced by this filename (or stdin if redirected using <),
# but it is optional.
#
outFilename = "extended.pdb"


# The protocol module has many high-level helper functions.
import protocol

protocol.initRandomSeed(331)   # set random seed

# Generate PSF from sequence (initialize the correct parameters as side
effect!)

seq = "ACE AIB AIB AIB AIB ALA ALA ALA ALA ALA ALA ALA ALA ALA ALA ALA ALA"
import psfGen
psfGen.residueTypes['protein'].append("AIB")

import protocol
protocol.initTopology('protein')
protocol.initParams('protein')

xplor.command("""
topology

 residue AIB
   group
     atom N   type=NH1 charge=-0.36 end
     atom HN  type=H   charge= 0.36 end
   group
     atom CA  type=CT  charge= 0.00 end
   group
     atom CB1  type=CT  charge=-0.30 end
     atom HB11 type=HA  charge= 0.10 end
     atom HB12 type=HA  charge= 0.10 end
     atom HB13 type=HA  charge= 0.10 end
   group
     atom CB2  type=CT  charge=-0.30 end
     atom HB21 type=HA  charge= 0.10 end
     atom HB22 type=HA  charge= 0.10 end
     atom HB23 type=HA  charge= 0.10 end
   group
     atom C   type=C   charge= 0.48 end
     atom O   type=O   charge=-0.48 end

   bond N  HN
   bond N  CA
   bond CA  CB1   bond CB1  HB11   bond CB1  HB12     bond CB1  HB13
   bond CA  CB2   bond CB2  HB21   bond CB2  HB22     bond CB2  HB23
   bond CA  C
   bond C   O

   improper HB11 HB12 CA HB13  !stereo CB1
   improper HB21 HB22 CA HB23  !stereo CB2


end

end
""")

psfGen.seqToPSF(seq,amidate_cterm=True,startResid=0)

protocol.genExtendedStructure()

from potList import PotList
potList = PotList()

from xplorPot import XplorPot

potList.append( XplorPot('VDW') )
potList.append( XplorPot("BOND") )
potList.append( XplorPot("ANGL") )
potList.append( XplorPot("IMPR") )
potList.append( XplorPot("ELEC") )

protocol.massSetup()

from ivm import IVM

dyn = IVM()


def calcOneStructure(loopInfo):
    """Calculate a single structure."""

    protocol.initNBond(cutnb=5.5,
                       rcon=20.0,
                       nbxmod=2,
                       repel=0.9)
    potList.removeAll()
    potList.append( XplorPot("BOND"))
    potList.append( XplorPot("ANGL"))
    potList.append( XplorPot("VDW"))

    protocol.initMinimize(dyn,
                          potList,
                          printInterval=10,
                          numSteps=50)

    dyn.run()

    potList.append( XplorPot("IMPR"))

    protocol.initMinimize(dyn,
                          potList,
                          printInterval=10,
                          numSteps=50)

    dyn.run()

    protocol.initDynamics(dyn,
                          bathTemp = 300.0,
                          numSteps = 50,
                          stepsize = 0.001,
                          potList = potList,
                          printInterval=50)

    dyn.run()

    protocol.initNBond(rcon=2.0,
                       nbxmod=3,
                       repel=0.75)

    dyn.run()

    protocol.initMinimize(dyn,
                          potList,
                          printInterval=25,
                          numSteps=100)
    dyn.run()

    protocol.initDynamics(dyn,
                          bathTemp = 300.0,
                          numSteps = 500,
                          stepsize = 0.005,
                          potList = potList,
                          printInterval=100)

    dyn.run()

    potList.append( XplorPot("ELEC"))
    protocol.initMinimize(dyn,
                          potList,
                          printInterval=50,
                          numSteps=200)

    dyn.run()

    loopInfo.writeStructure(potList)
    pass


from simulationTools import StructureLoop
StructureLoop(numStructures=1,
              doWriteStructures=True,
              pdbTemplate=outFilename,
              structLoopAction=calcOneStructure,
              ).run()
_______________________________________________
Xplor-nih mailing list
[email protected]
https://dcb.cit.nih.gov/mailman/listinfo/xplor-nih

Reply via email to