Molecular Mechanics using OpenMM¶
This section briefly describes how to run molecular mechanics simulations with mudslide using OpenMM as the engine.
Warning
This interface only exists to support QM/MM simulations. If you want to run normal molecular mechanics simulations, then it would be much smarter to use OpenMM directly.
OpenMM Required¶
OpenMM needs to be available for this interface to work. Since OpenMM is not distributed on PyPI, you will need to install it yourself. The easiest way is through conda.
Load OpenMM class¶
Next, you will set up a python script that will create an OpenMM model and run the simulation. An example script is shown below:
import mudslide
import openmm
import openmm.app
pdb = openmm.app.PDBFile("h2o5.pdb")
ff = openmm.app.ForceField('amber14-all.xml', 'amber14/tip3pfb.xml')
system = ff.createSystem(pdb.topology,
nonbondedMethod=openmm.app.NoCutoff,
constraints=None,
rigidWater=False)
mm = mudslide.models.OpenMM(pdb, ff, system)
positions = mm._position # read position from the coord file
momenta = mudslide.math.boltzmann_velocities(mm._mass, 300) * mm._mass
log = mudslide.YAMLTrace() # log trajectory using YAML files
traj = mudslide.AdiabaticMD(model, # run using turbomole model
positions, # start at position from coord
momenta, # use boltzmann momenta
tracer=log, # use yaml log
dt=20, # 20 a.u. time step
max_time=80, # run for 80 a.u.
)
results = traj.simulate()
Advice¶
Only use this class for debugging QM/MM calculations.