NMR Restraints Grid |
Result table
image | mrblock_id | pdb_id | bmrb_id | cing | stage | position | program | type |
616762 | 5uf3 | 30224 | cing | 1-original | 1 | unknown | unknown |
# Restraints file 1: phagega.py # modified by jwang 10/03/2007 # H-bond table (hbond.tbl) is seperated from 38mer_noe.tbl and set hond pot # so far the results with minimum energy # @-places different in different v5 version # xplor.parseArguments() # filename for output structures. This string must contain the STRUCTURE # outFilename = "phagega_STRUCTURE.pdb" numberOfStructures=50 #usually you want to create at least 20 # protocol module has many high-level helper functions. # import protocol protocol.initRandomSeed(3421) #set random seed - by time #seed=10 command = xplor.command protocol.initParams("nucleic") # generate PSF data from sequence and initialize the correct parameters. # from psfGen import seqToPSF seqToPSF('phagega.seq', 'rna') # generate a random extended structure with correct covalent geometry # protocol.initCoords("phagega.pdb") protocol.covalentMinimize() protocol.fixupCovalentGeom(maxIters=100, useVDW=1, verbose=1) # # a PotList conatins a list of potential terms. # from potList import PotList potList = PotList() from simulationTools import MultRamp, StaticRamp, InitialParams rampedParams=[] highTempParams=[] # # import necessary modules # from xplorPot import XplorPot from avePot import AvePot from ivm import IVM from rdcPotTools import create_RDCPot, scale_toNH from varTensorTools import create_VarTensor import varTensorTools # orientation Tensor - used with the dipolar coupling term # oTensor = create_VarTensor("oTensor") oTensor.setDa(-11.818) oTensor.setRh(0.372) rdc = create_RDCPot(name="rdc", oTensor=oTensor, file="phagega_rdc.tbl") #scale_toNH(rdc) rdc.setScale(1.0) rdc.setThreshold(1.5) print rdc.info() potList.append(rdc) rampedParams.append( MultRamp(0.05, 5.0, "rdc.setScale( VALUE )") ) from varTensorTools import calcTensorOrientation, calcTensor calcTensor(oTensor) calcTensorOrientation(oTensor) print "Da: %7.2f Rh: %7.3f" % (oTensor.Da() , oTensor.Rh()) # set up NOE potential from noePotTools import create_NOEPot noe = PotList("noe") noePot = create_NOEPot("noeall",file="phagega_noe.tbl") noePot.setPotType("soft") # noePot.setScale( 1. ) # removed by jwang-05/21/2009 noe.append(noePot) # need to be satisfied by all structures noeHB = create_NOEPot("noehb","phagega_hbonds.tbl",esim=xplor.simulation) noeHB.setPotType("hard") # noeHB.setScale(1.) # removed by jwang-05/21/2009 noe.append(noeHB) potList.append(noe) print noePot.info() print noeHB.info() rampedParams.append( MultRamp(2,30, "noe.setScale( VALUE )") ) # Set up dihedral angles protocol.initDihedrals("phagega_dihedral.tbl", useDefaults=0) potList.append(XplorPot('CDIH')) highTempParams.append( StaticRamp("potList['CDIH'].setScale(10)") ) rampedParams.append( StaticRamp("potList['CDIH'].setScale(100)") ) # set custom values of threshold values for violation calculation # potList['CDIH'].setThreshold( 5 ) #setup parameters for atom-atom repulsive term. (van der Waals-like term) protocol.initNBond(cutnb=4.5) potList.append( XplorPot('VDW') ) rampedParams.append( StaticRamp("protocol.initNBond()") ) rampedParams.append( MultRamp(0.9,0.8, "command('param nbonds repel VALUE end end')") ) rampedParams.append( MultRamp(.004,4, "command('param nbonds rcon VALUE end end')") ) # from repelPotTools import create_RepelPot,initRepel repel = create_RepelPot('repel') potList.append(repel) rampedParams.append( StaticRamp("initRepel(repel,use14=False)") ) rampedParams.append( MultRamp(.004,4, "repel.setScale( VALUE)") ) # nonbonded interaction only between CA atoms #highTempParams.append( StaticRamp("""initRepel(repel, use14=True, scale=0.004, repel=1.2, moveTol=45, interactingAtoms='name CA' )""") ) potList.append( XplorPot("BOND") ) potList.append( XplorPot("ANGL") ) potList.append( XplorPot("IMPR") ) potList['ANGL'].setThreshold( 5 ) potList['IMPR'].setThreshold( 5 ) rampedParams.append( MultRamp(0.4,1,"potList['ANGL'].setScale(VALUE)") ) rampedParams.append( MultRamp(0.1,1,"potList['IMPR'].setScale(VALUE)") ) # # IVM setup # from ivm import IVM dyn = IVM() dyn.potList().add( XplorPot("BOND") ) dyn.potList().add( XplorPot("ANGL") ) dyn.potList().add( XplorPot("IMPR") ) #dyn.breakAllBondsIn("not resname ANI") #oTensor.setFreedom("fix") #varTensorTools.topologySetup(dyn,oTensor) protocol.initMinimize(dyn,numSteps=1000) dyn.run() # # reset ivm topology for torsion-angle dynamics # dyn.reset() dyn.potList().removeAll() protocol.torsionTopology(dyn, oTensor) oTensor.setFreedom("fixDa, fixRh") varTensorTools.topologySetup(dyn,oTensor) protocol.torsionTopology(dyn) # # minc used for final cartesian minimization # minc = IVM() protocol.initMinimize(minc) from selectTools import IVM_groupRigidSidechain IVM_groupRigidSidechain(minc) #minc.breakAllBondsIn("not resname ANI") oTensor.setFreedom("varyDa, varyRh") varTensorTools.topologySetup(minc,oTensor) protocol.cartesianTopology(minc) # object which performs simulated annealing # from simulationTools import AnnealIVM init_t = 2500. # Need high temp and slow annealing to converge cool = AnnealIVM(initTemp =init_t, finalTemp=25, tempStep =25, ivm=dyn, rampedParams = rampedParams, toleranceFactor=100) def structLoopAction(loopInfo): # # this function calculates a single structure # ##$ protocol.genExtendedStructure("tyrACL.pdb") # initialize parameters for high temp dynamics. InitialParams( rampedParams ) InitialParams( highTempParams ) # high-temp dynamics setup - only need to specify parameters which # differfrom initial values in rampedParams # protocol.initNBond(repel=1.2, cutnb=100, tolerance=45, selStr="name CA") # # high temp dynamics # note no Van der Waals term # protocol.initDynamics(dyn, potList=potList, # potential terms to use bathTemp=init_t, initVelocities=1, finalTime=20, # stops at 800ps or 8000 steps stepsize=0.01, numSteps=10000, printInterval=100, eTol_factor=0.01) protocol.initMinimize(dyn,numSteps=1000) #dyn.setMinStepSize(0) #dyn.setAdjustStepsize(0) dyn.setETolerance(init_t/100) dyn.setMaxDeltaE(50000) #dyn.setMaxCalls(5) dyn.run() #-------------------------------------------------------------------------- # initialize parameters for cooling loop InitialParams( rampedParams ) # removed by jwang-05/21/2009 protocol.initNBond() # # initialize integrator for simulated annealing # protocol.initDynamics(dyn, potList=potList, bathTemp=init_t, initVelocities=1, finalTime=.2 , # .2ps, whichever is less stepsize=0.01, numSteps=10000, printInterval=100, eTol_factor=0.01) #dyn.setMinStepSize(0) dyn.setETolerance(init_t/100) dyn.setMaxDeltaE(50000) #dyn.setMaxCalls(5) #dyn.setAdjustStepsize(0) # perform simulated annealing # cool.run() # # final torsion angle minimization # protocol.initMinimize(dyn, potList=potList, printInterval=50) dyn.run() # # optional cooling in Cartesian coordinates # protocol.initDynamics(minc, potList=potList, numSteps=500, #at each temp: 100 steps or finalTime=.4 , # .2ps, whichever is less printInterval=100) # # final all atom minimization # protocol.initMinimize(minc, potList=potList, printInterval=100) minc.run() # # analyze and write out structure # loopInfo.writeStructure(potList) pass from simulationTools import StructureLoop StructureLoop(numStructures=numberOfStructures, pdbTemplate=outFilename, structLoopAction=structLoopAction, genViolationStats=1, averageTopFraction=0.5, #report stats on best 50% of structs averageSortPots=[potList['BOND'],potList['ANGL'],potList['IMPR'], noe,rdc,potList['CDIH']], averagePotList=potList).run()
Contact the webmaster for help, if required. Friday, April 19, 2024 10:06:03 PM GMT (wattos1)