コード例 #1
0
        StateDataReporter('relax-hydrogens.log',
                          1000,
                          step=True,
                          temperature=True,
                          potentialEnergy=True,
                          totalEnergy=True,
                          speed=True))
    minimize.step(min_steps)
    print("Done 100000 steps of minimization.")
    print("Potential energy after minimization:")
    #print(minimize.context.getState(getEnergy=True).getPotentialEnergy())
    positions = minimize.context.getState(getPositions=True).getPositions()
    print("Done updating positions.")
    #velocities = minimize.context.getState(getVelocities=True).getVelocities()
    #print("Done updating velocities.")
    minimize.saveCheckpoint('state.chk')
    print("Done saving checkpoints.")
    # update the current context with changes in system
    # minimize.context.reinitialize(preserveState=True)
    # output the minimized protein as a shortcut
    PDBFile.writeFile(molecule.topology,
                      positions,
                      open(f'{pdbid}_chain{chain}_minimized.pdb', 'w'),
                      keepIds=True)
    print("Done outputing minimized pdb.")
    # clean the context
    del minimize.context
# directly load the minimized protein
pdb = PDBFile(f'{pdbid}_chain{chain}_minimized.pdb')
molecule = Modeller(pdb.topology, pdb.positions)
# load force field
コード例 #2
0
print("Done setting tolerance.")
simulation.minimizeEnergy(tolerance=tolerance, maxIterations=1000)
print("Done setting energy minimization.")
simulation.reporters.append(
    StateDataReporter('relax-hydrogens.log',
                      1000,
                      step=True,
                      temperature=True,
                      potentialEnergy=True,
                      totalEnergy=True,
                      speed=True))
simulation.step(10000)
print("Done 10000 steps of simulation.")
positions = simulation.context.getState(getPositions=True).getPositions()
print("Done updating positions.")
simulation.saveCheckpoint('state.chk')
print("Done saving checkpoints.")
# update the current context with changes in system
simulation.context.reinitialize()

# Set up the context for mtd simulation
# at this step the CV and the system are separately passed to Metadynamics
meta = mtd.Metadynamics(system, [bv],
                        310.15 * unit.kelvin,
                        6.0,
                        1.2 * unit.kilojoules_per_mole,
                        500,
                        saveFrequency=500,
                        biasDir='./biases')
integrator = mm.LangevinIntegrator(310.15 * unit.kelvin, 1.0 / unit.picosecond,
                                   0.002 * unit.picoseconds)