BioSimSpace.Process¶
The Process package contains tools for running different simulation protocols
with a range of external molecular dynamics packages. Process objects are
instantiated with a molecular System
and a Protocol
, i.e. they are used to apply
a protocol to a system of molecules.
Process objects can be automatically generated by the
BioSimSpace.MD.run
function, which will choose
the most appropriate molecular dynamics driver based on the software available
on the host, the available hardware, the molecular system, and protocol.
At a minimum, derived Process classes should override the base class
start
, getSystem
, and getTrajectory
methods to start the process,
and to get the latest molecular system or trajectory from the running process.
Processes write input and output to a working directory, which can be
specified using the work_dir
keyword argument. If nothing is specifed,
then a temporary working directory will be used, which is bound to the lifetime
of the process.
Functions¶
|
Return a list of the supported Molecular Dynamics engines. |
|
Create a simulation process. |
MD driver classes¶
|
A class for running simulations using AMBER. |
|
A class for running simulations using GROMACS. |
|
A class for running simulations using NAMD. |
|
A class for running simulations using OpenMM. |
|
A class for interfacing with PLUMED. |
|
A class for running simulations using SOMD. |
Multi process simulation tools¶
|
A class for managing and running multiple simulation processes, e.g. a free energy simulation at multiple lambda values. |
Examples
Print the list of supported molecular dynamics engines.
import BioSimSpace as BSS
print(BSS.Process.engines())
Create a process to apply a minimisation protocol to a molecular system using the AMBER package. Execute the process and get the minimised molecular system.
import BioSimSpace as BSS
# Load a molecular system from file.
files = BSS.IO.expand(BSS.tutorialUrl(), ["ala.top", "ala.crd"], ".bz2")
system = BSS.IO.readMolecules(files)
# Create a minimisation protocol with 1000 steps.
protocol = BSS.Protocol.Minimisation(steps=1000)
# Create a process object to run the simulation with AMBER.
process = BSS.Process.Amber(system, protocol)
# Start the process in the background.
process.start()
# Wait for the process to finish.
process.wait()
# Get the minimised molecular system.
minimised = process.getSystem()