BioSimSpace.Process.OpenMM¶
- class BioSimSpace.Process.OpenMM(system=None, protocol=None, reference_system=None, exe=None, name='openmm', platform='CPU', work_dir=None, seed=None, property_map={}, **kwargs)[source]¶
A class for running simulations using OpenMM.
- __init__(system, protocol, reference_system=None, exe=None, name='openmm', platform='CPU', work_dir=None, seed=None, property_map={}, **kwargs)[source]¶
Constructor.
- Parameters:
system (
System
) – The molecular system.protocol (
Protocol
) – The protocol for the OpenMM process.reference_system (
System
or None) – An optional system to use as a source of reference coordinates for position restraints. It is assumed that this system has the same topology as “system”. If this is None, then “system” is used as a reference.exe (str) – The full path to the Python interpreter used to run OpenMM.
name (str) – The name of the process.
platform (str) – The platform for the simulation: “CPU”, “CUDA”, or “OPENCL”. For CUDA use the CUDA_VISIBLE_DEVICES environment variable to set the GPUs on which to run, e.g. to run on two GPUs indexed 0 and 1 use: CUDA_VISIBLE_DEVICES=0,1. For OPENCL, instead use OPENCL_VISIBLE_DEVICES.
work_dir – The working directory for the process.
seed (int) – A random number seed.
property_map (dict) – A dictionary that maps system “properties” to their user defined values. This allows the user to refer to properties with their own naming scheme, e.g. { “charge” : “my-charge” }
kwargs (dict) – Additional keyword arguments.
Methods
__init__
(system, protocol[, ...])Constructor.
addArgs
(args)Append additional command-line arguments.
addToConfig
(config)Add a string to the OpenMM Python script configuration.
Clear all of the command-line arguments.
command
()Return the command-line string used to run the process.
deleteArg
(arg)Delete an argument from the dictionary.
exe
()Return the executable.
Get the command-line arguments string.
Convert the argument dictionary into a list of strings.
getArgs
()Get the dictionary of command-line arguments.
Get the list of strings defining the OpenMM Python script.
getCurrentKineticEnergy
([time_series])Get the current kinetic energy.
getCurrentPotentialEnergy
([time_series])Get the current potential energy.
getCurrentRecord
(record[, time_series, unit])Get a current record from the stdout dictionary.
Return the current dictionary of stdout time-series records.
getCurrentStep
([time_series])Get the current number of integration steps.
Get the latest molecular system.
getCurrentTemperature
([time_series])Get the current temperature.
getCurrentTime
([time_series])Get the current simulation time.
getCurrentTotalEnergy
([time_series])Get the current total energy.
getCurrentVolume
([time_series])Get the current volume.
getFrame
(index)Return a specific trajectory frame.
getInput
([name, file_link])Return a link to a zip file containing the input files used by the process.
getKineticEnergy
([time_series, block])Get the kinetic energy.
getName
()Return the process name.
getOutput
([name, block, file_link])Return a link to a zip file of the working directory.
Return the package name.
getPotentialEnergy
([time_series, block])Get the potential energy.
getRecord
(record[, time_series, unit, block])Get a record from the stdout dictionary.
getRecords
([block])Return the dictionary of stdout time-series records.
getSeed
()Return the random number seed.
getStderr
([block])Return the entire stderr for the process as a list of strings.
getStdout
([block])Return the entire stdout for the process as a list of strings.
getStep
([time_series, block])Get the number of integration steps.
getSystem
([block])Get the latest molecular system.
getTemperature
([time_series, block])Get the temperature.
getTime
([time_series, block])Get the simulation time.
getTotalEnergy
([time_series, block])Get the total energy.
getTrajectory
([backend, block])Return a trajectory object.
getVolume
([time_series, block])Get the volume.
Return the list of input files.
insertArg
(arg, value, index)Insert a command-line argument at a specific index.
isError
()Return whether the process exited with an error.
isQueued
()Return whether the process is queued.
Return whether the process is running.
kill
()Kill the running process.
Reset the command-line arguments.
Reset the OpenMM Python script configuration.
run
([system, protocol, auto_start, restart])Create and run a new process.
runTime
()Return the running time for the process (in minutes).
setArg
(arg, value)Set a specific command-line argument.
setArgs
(args)Set the dictionary of command-line arguments.
setConfig
(config)Set the list of configuration file strings.
setName
(name)Set the process name.
setSeed
(seed)Set the random number seed.
start
()Start the OpenMM process.
stderr
([n])Print the last n lines of the stderr buffer.
stdout
([n])Print the last n lines of the stdout buffer.
wait
([max_time])Wait for the process to finish.
workDir
()Return the working directory.
writeConfig
(file)Write the configuration to file.
- addArgs(args)¶
Append additional command-line arguments.
- Parameters:
args (dict, collections.OrderedDict) – A dictionary of command line arguments.
- addToConfig(config)[source]¶
Add a string to the OpenMM Python script configuration.
- Parameters:
config (str, [str]) – A configuration string, a list of configuration strings, or a path to a configuration file.
- clearArgs()¶
Clear all of the command-line arguments.
- command()¶
Return the command-line string used to run the process.
- Returns:
command – The command string.
- Return type:
str
- deleteArg(arg)¶
Delete an argument from the dictionary.
- Parameters:
arg (str) – The argument to delete.
- exe()¶
Return the executable.
- Returns:
exe – The path to the executable.
- Return type:
str
- getArgString()¶
Get the command-line arguments string.
- Returns:
arg_string – The command-line argument string.
- Return type:
str
- getArgStringList()¶
Convert the argument dictionary into a list of strings.
- Returns:
arg_string_list – The list of command-line arguments.
- Return type:
[str]
- getArgs()¶
Get the dictionary of command-line arguments.
- Returns:
args – The dictionary of command-line arguments.
- Return type:
collections.OrderedDict
- getConfig()[source]¶
Get the list of strings defining the OpenMM Python script.
- Returns:
config – The list of configuration strings.
- Return type:
[str]
- getCurrentKineticEnergy(time_series=False)[source]¶
Get the current kinetic energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The kinetic energy.
- Return type:
- getCurrentPotentialEnergy(time_series=False)[source]¶
Get the current potential energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The potential energy.
- Return type:
- getCurrentRecord(record, time_series=False, unit=None)[source]¶
Get a current record from the stdout dictionary.
- getCurrentRecords()[source]¶
Return the current dictionary of stdout time-series records.
- Parameters:
block (bool) – Whether to block until the process has finished running.
- Returns:
records – The dictionary of time-series records.
- Return type:
MultiDict
- getCurrentStep(time_series=False)[source]¶
Get the current number of integration steps.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
step – The current number of integration steps.
- Return type:
int
- getCurrentSystem()[source]¶
Get the latest molecular system.
- Returns:
system – The latest molecular system.
- Return type:
- getCurrentTemperature(time_series=False)[source]¶
Get the current temperature.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
temperature – The current temperature.
- Return type:
- getCurrentTime(time_series=False)[source]¶
Get the current simulation time.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
block (bool) – Whether to block until the process has finished running.
- Returns:
time – The current simulation time in nanoseconds.
- Return type:
- getCurrentTotalEnergy(time_series=False)[source]¶
Get the current total energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The total energy.
- Return type:
- getCurrentVolume(time_series=False)[source]¶
Get the current volume.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
volume – The volume.
- Return type:
- getFrame(index)[source]¶
Return a specific trajectory frame.
- Parameters:
index (int) – The index of the frame.
- Returns:
frame – The System object of the corresponding frame.
- Return type:
- getInput(name=None, file_link=False)¶
Return a link to a zip file containing the input files used by the process.
- Parameters:
name (str) – The name of the zip file.
file_link (bool) – Whether to return a FileLink when working in Jupyter.
- Returns:
output – A path, or file link, to an archive of the process input.
- Return type:
str, IPython.display.FileLink
- getKineticEnergy(time_series=False, block='AUTO')[source]¶
Get the kinetic energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
block (bool) – Whether to block until the process has finished running.
- Returns:
energy – The kinetic energy.
- Return type:
- getName()¶
Return the process name.
Returns:
- namestr
The name of the process.
- getOutput(name=None, block='AUTO', file_link=False)¶
Return a link to a zip file of the working directory.
- Parameters:
name (str) – The name of the zip file.
block (bool) – Whether to block until the process has finished running.
file_link (bool) – Whether to return a FileLink when working in Jupyter.
- Returns:
output – A path, or file link, to an archive of the process output.
- Return type:
str, IPython.display.FileLink
- getPackageName()¶
Return the package name.
- Returns:
name – The name of the package.
- Return type:
str
- getPotentialEnergy(time_series=False, block='AUTO')[source]¶
Get the potential energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
block (bool) – Whether to block until the process has finished running.
- Returns:
energy – The potential energy.
- Return type:
- getRecord(record, time_series=False, unit=None, block='AUTO')[source]¶
Get a record from the stdout dictionary.
- getRecords(block='AUTO')[source]¶
Return the dictionary of stdout time-series records.
- Parameters:
block (bool) – Whether to block until the process has finished running.
- Returns:
records – The dictionary of time-series records.
- Return type:
MultiDict
- getSeed()¶
Return the random number seed.
- Returns:
seed – The random number seed.
- Return type:
int
- getStderr(block='AUTO')¶
Return the entire stderr for the process as a list of strings.
- Parameters:
block (bool) – Whether to block until the process has finished running.
- Returns:
error – The list of stderror strings.
- Return type:
[str]
- getStdout(block='AUTO')¶
Return the entire stdout for the process as a list of strings.
- Parameters:
block (bool) – Whether to block until the process has finished running.
- Returns:
output – The list of stdout strings.
- Return type:
[str]
- getStep(time_series=False, block='AUTO')[source]¶
Get the number of integration steps.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
block (bool) – Whether to block until the process has finished running.
- Returns:
step – The current number of integration steps.
- Return type:
int
- getSystem(block='AUTO')[source]¶
Get the latest molecular system.
- Parameters:
block (bool) – Whether to block until the process has finished running.
- Returns:
system – The latest molecular system.
- Return type:
- getTemperature(time_series=False, block='AUTO')[source]¶
Get the temperature.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
block (bool) – Whether to block until the process has finished running.
- Returns:
temperature – The temperature.
- Return type:
- getTime(time_series=False, block='AUTO')[source]¶
Get the simulation time.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
block (bool) – Whether to block until the process has finished running.
- Returns:
time – The current simulation time in nanoseconds.
- Return type:
- getTotalEnergy(time_series=False, block='AUTO')[source]¶
Get the total energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
block (bool) – Whether to block until the process has finished running.
- Returns:
energy – The total energy.
- Return type:
- getTrajectory(backend='AUTO', block='AUTO')[source]¶
Return a trajectory object.
- Parameters:
backend (str) – The backend to use for trajectory parsing. To see supported backends, run BioSimSpace.Trajectory.backends(). Using “AUTO” will try each in sequence.
block (bool) – Whether to block until the process has finished running.
- Returns:
trajectory – The latest trajectory object.
- Return type:
- getVolume(time_series=False, block='AUTO')[source]¶
Get the volume.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
block (bool) – Whether to block until the process has finished running.
- Returns:
volume – The volume.
- Return type:
- inputFiles()¶
Return the list of input files.
- Returns:
input_files – The list of autogenerated input files.
- Return type:
[str]
- insertArg(arg, value, index)¶
Insert a command-line argument at a specific index.
- Parameters:
arg (str) – The argument to set.
value – The value of the argument.
index (int) – The index in the dictionary.
- isError()¶
Return whether the process exited with an error.
- Returns:
is_error – Whether the process exited with an error.
- Return type:
bool
- isQueued()¶
Return whether the process is queued.
- Returns:
is_queued – Whether the process is queued.
- Return type:
bool
- isRunning()¶
Return whether the process is running.
- Returns:
is_running – Whether the process is running.
- Return type:
bool
- kill()¶
Kill the running process.
- resetArgs()¶
Reset the command-line arguments.
- run(system=None, protocol=None, auto_start=True, restart=False)¶
Create and run a new process.
- Parameters:
- Returns:
process – The new process object.
- Return type:
- runTime()¶
Return the running time for the process (in minutes).
- Returns:
runtime – The runtime in minutes.
- Return type:
- setArg(arg, value)¶
Set a specific command-line argument.
For command-line flags, i.e. boolean arguments, the key should specify whether the flag is enabled (True) or not (False).
- Parameters:
arg (str) – The argument to set.
value (bool, str) – The value of the argument.
- setArgs(args)¶
Set the dictionary of command-line arguments.
- Parameters:
args (dict, collections.OrderedDict) – A dictionary of command-line arguments.
- setConfig(config)[source]¶
Set the list of configuration file strings.
- Parameters:
config (str, [str]) – The list of configuration strings, or a path to a configuration file.
- setName(name)¶
Set the process name.
- Parameters:
name (str) – The process name.
- setSeed(seed)¶
Set the random number seed.
- Parameters:
seed (int) – The random number seed.
- start()[source]¶
Start the OpenMM process.
- Returns:
process – A handle to the OpenMM process.
- Return type:
- stderr(n=10)¶
Print the last n lines of the stderr buffer.
- Parameters:
n (int) – The number of lines to print.
- stdout(n=10)[source]¶
Print the last n lines of the stdout buffer.
- Parameters:
n (int) – The number of lines to print.
- wait(max_time=None)¶
Wait for the process to finish.
- Parameters:
max_time (
Time
, int, float) – The maximum time to wait (in minutes).
- workDir()¶
Return the working directory.
- Returns:
work_dir – The path of the working directory.
- Return type:
str
- writeConfig(file)¶
Write the configuration to file.
- Parameters:
file (str) – The path to a file.