Пример #1
0
def calcOneStructure(loopInfo):
    """ this function calculates a single structure, performs analysis on the
    structure, and then writes out a pdb file, with remarks.
    """

    # initialize parameters for high temp dynamics.
    InitialParams(rampedParams)
    # high-temp dynamics setup - only need to specify parameters which
    #   differfrom initial values in rampedParams
    InitialParams(highTempParams)

    # high temp dynamics
    #
    protocol.initDynamics(
        dyn,
        potList=potList,  # potential terms to use
        bathTemp=init_t,
        initVelocities=1,
        finalTime=10,  # stops at 10ps or 5000 steps
        numSteps=5000,  # whichever comes first
        printInterval=100)

    dyn.setETolerance(init_t / 100)  #used to det. stepsize. default: t/1000
    dyn.run()

    # initialize parameters for cooling loop
    InitialParams(rampedParams)

    # initialize integrator for simulated annealing
    #
    protocol.initDynamics(
        dyn,
        potList=potList,
        numSteps=100,  #at each temp: 100 steps or
        finalTime=.2,  # .2ps, whichever is less
        printInterval=100)

    # perform simulated annealing
    #
    cool.run()

    # final torsion angle minimization
    #
    protocol.initMinimize(dyn, printInterval=50)
    dyn.run()

    # final all- atom minimization
    #
    protocol.initMinimize(minc, potList=potList, dEPred=10)
    minc.run()

    #do analysis and write structure when this function returns
    toIUPAC()
    from simulationTools import analyze
    protocol.writeCIF(loopInfo.filename() + ".cif", remarks=analyze(potList))
    fromIUPAC()

    pass
Пример #2
0
    dSymm = create_DistSymmPot(
        'dSymm',
        genDimerRestraints(segids=['A', 'B'],
                           resids=range(minResid, maxResid, 5)))
    potList.append(dSymm)

    # ``NCS'' term - keep dimer subunits identical
    from posDiffPotTools import create_PosDiffPot
    ncs = create_PosDiffPot("ncs", "segid A", "segid B")
    ncs.setScale(10)
    potList.append(ncs)

    pass

fromIUPAC()

# gyration volume term
#
# gyration volume term
#
#from gyrPotTools import create_GyrPot
#gyr = create_GyrPot("Vgyr",
#                    "resid 1:56") # selection should exclude disordered tails
#potList.append(gyr)
#rampedParams.append( MultRamp(.002,1,"gyr.setScale(VALUE)") )

# HBPot - knowledge-based hydrogen bond term
#
from hbPotTools import create_HBPot
hb = create_HBPot('hb')