BioSimSpace.Process.OpenMM#
- class BioSimSpace.Process.OpenMM(system, protocol, exe=None, name='openmm', platform='CPU', work_dir=None, seed=None, property_map={})[source]#
A class for running simulations using OpenMM.
- __init__(system, protocol, exe=None, name='openmm', platform='CPU', work_dir=None, seed=None, property_map={})[source]#
Constructor.
- Parameters:
system (
System) – The molecular system.protocol (
Protocol) – The protocol for the OpenMM process.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” }
Methods
__init__(system, protocol[, exe, name, ...])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([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(block='AUTO')[source]#
Return a trajectory object.
- Parameters:
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.