BioSimSpace.Process.Gromacs#
- class BioSimSpace.Process.Gromacs(system, protocol, exe=None, name='gromacs', work_dir=None, seed=None, extra_options={}, extra_lines=[], property_map={}, ignore_warnings=False, show_errors=True, checkpoint_file=None)[source]#
A class for running simulations using GROMACS.
- __init__(system, protocol, exe=None, name='gromacs', work_dir=None, seed=None, extra_options={}, extra_lines=[], property_map={}, ignore_warnings=False, show_errors=True, checkpoint_file=None)[source]#
Constructor.
- Parameters:
system (
System) – The molecular system.protocol (
Protocol) – The protocol for the GROMACS process.exe (str) – The full path to the GROMACS executable.
name (str) – The name of the process.
work_dir – The working directory for the process.
seed (int) – A random number seed.
extra_options (dict) – A dictionary containing extra options. Overrides the defaults generated by the protocol.
extra_lines ([str]) – A list of extra lines to put at the end of the configuration file.
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” }
ignore_warnings (bool) – Whether to ignore warnings when generating the binary run file with ‘gmx grompp’. By default, these warnings are elevated to errors and will halt the program.
show_errors (bool) – Whether to show warning/error messages when generating the binary run file.
checkpoint_file (str) – The path to a checkpoint file from a previous run. This can be used to continue an existing simulation. Currently we only support the use of checkpoint files for Equilibration protocols.
Methods
__init__(system, protocol[, exe, name, ...])Constructor.
addArgs(args)Append additional command-line arguments.
addToConfig(config)Add a string to the configuration list.
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.
getAngleEnergy([time_series, block])Get the angle energy.
Get the command-line arguments string.
Convert the argument dictionary into a list of strings.
getArgs()Get the dictionary of command-line arguments.
getBondEnergy([time_series, block])Get the bond energy.
Get the list of configuration file strings.
getConservedEnergy([time_series, block])Get the conserved energy.
getConstraintRMSD([time_series, block])Get the RMSD of the constrained atoms.
getCoulomb14([time_series, block])Get the Coulomb energy between atoms 1 and 4.
getCoulombReciprocal([time_series, block])Get the reciprocal space Coulomb energy.
getCoulombSR([time_series, block])Get the short-range Coulomb energy.
getCurrentAngleEnergy([time_series])Get the current angle energy.
getCurrentBondEnergy([time_series])Get the current bond energy.
getCurrentConservedEnergy([time_series])Get the current conserved energy.
getCurrentConstraintRMSD([time_series])Get the current RMSD of the constrained atoms.
getCurrentCoulomb14([time_series])Get the current Coulomb energy between atoms 1 and 4.
getCurrentCoulombReciprocal([time_series])Get the current reciprocal space Coulomb energy.
getCurrentCoulombSR([time_series])Get the current short-range Coulomb energy.
getCurrentDihedralEnergy([time_series])Get the current total dihedral energy (proper + improper).
getCurrentDispersionCorrection([time_series])Get the current dispersion correction.
getCurrentImproperEnergy([time_series])Get the current improper energy.
getCurrentKineticEnergy([time_series])Get the current kinetic energy.
getCurrentLennardJones14([time_series])Get the current Lennard-Jones energy between atoms 1 and 4.
getCurrentLennardJonesSR([time_series])Get the current short-range Lennard-Jones energy.
getCurrentPotentialEnergy([time_series])Get the current potential energy.
getCurrentPressure([time_series])Get the current pressure.
getCurrentPressureDC([time_series])Get the current DC pressure.
getCurrentProperEnergy([time_series])Get the current proper dihedral energy.
getCurrentRecord(record[, time_series, unit])Get a current record from the stdout dictionary.
Return the current dictionary of stdout time-series records.
getCurrentRestraintEnergy([time_series])Get the current position restraint energy.
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.
getDihedralEnergy([time_series, block])Get the total dihedral energy (proper + improper).
getDispersionCorrection([time_series, block])Get the dispersion correction.
getFrame(index)Return a specific trajectory frame.
getImproperEnergy([time_series, block])Get the improper energy.
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.
getLennardJones14([time_series, block])Get the Lennard-Jones energy between atoms 1 and 4.
getLennardJonesSR([time_series, block])Get the short-range Lennard-Jones 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.
getPressure([time_series, block])Get the pressure.
getPressureDC([time_series, block])Get the DC pressure.
getProperEnergy([time_series, block])Get the proper dihedral energy.
getRecord(record[, time_series, unit, block])Get a record from the stdout dictionary.
getRecords([block])Return the dictionary of stdout time-series records.
getRestraintEnergy([time_series, block])Get the position restraint energy.
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 configuration parameters.
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 GROMACS 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 configuration list.
- 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
- getAngleEnergy(time_series=False, block='AUTO')[source]#
Get the angle 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 angle energy.
- Return type:
- 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
- getBondEnergy(time_series=False, block='AUTO')[source]#
Get the bond 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 bond energy.
- Return type:
- getConfig()#
Get the list of configuration file strings.
- Returns:
config – The list of configuration strings.
- Return type:
[str]
- getConservedEnergy(time_series=False, block='AUTO')[source]#
Get the conserved 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 conserved energy.
- Return type:
- getConstraintRMSD(time_series=False, block='AUTO')[source]#
Get the RMSD of the constrained atoms.
- 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:
length – The constrained RMSD.
- Return type:
- getCoulomb14(time_series=False, block='AUTO')[source]#
Get the Coulomb energy between atoms 1 and 4.
- 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 Coulomb energy.
- Return type:
- getCoulombReciprocal(time_series=False, block='AUTO')[source]#
Get the reciprocal space Coulomb 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 Coulomb energy.
- Return type:
- getCoulombSR(time_series=False, block='AUTO')[source]#
Get the short-range Coulomb 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 Coulomb energy.
- Return type:
- getCurrentAngleEnergy(time_series=False)[source]#
Get the current angle energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The angle energy.
- Return type:
- getCurrentBondEnergy(time_series=False)[source]#
Get the current bond energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The bond energy.
- Return type:
- getCurrentConservedEnergy(time_series=False)[source]#
Get the current conserved energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The conserved energy.
- Return type:
- getCurrentConstraintRMSD(time_series=False)[source]#
Get the current RMSD of the constrained atoms.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
length – The current constrained RMSD.
- Return type:
- getCurrentCoulomb14(time_series=False)[source]#
Get the current Coulomb energy between atoms 1 and 4.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The Coulomb energy.
- Return type:
- getCurrentCoulombReciprocal(time_series=False)[source]#
Get the current reciprocal space Coulomb energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The Coulomb energy.
- Return type:
- getCurrentCoulombSR(time_series=False)[source]#
Get the current short-range Coulomb energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The Coulomb energy.
- Return type:
- getCurrentDihedralEnergy(time_series=False)[source]#
Get the current total dihedral energy (proper + improper).
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The dihedral energy.
- Return type:
- getCurrentDispersionCorrection(time_series=False)[source]#
Get the current dispersion correction.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The dispersion correction.
- Return type:
- getCurrentImproperEnergy(time_series=False)[source]#
Get the current improper energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The improper energy.
- Return type:
- 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:
- getCurrentLennardJones14(time_series=False)[source]#
Get the current Lennard-Jones energy between atoms 1 and 4.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The Lennard-Jones energy.
- Return type:
- getCurrentLennardJonesSR(time_series=False)[source]#
Get the current short-range Lennard-Jones energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The Lennard-Jones 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:
- getCurrentPressure(time_series=False)[source]#
Get the current pressure.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
pressure – The current pressure.
- Return type:
- getCurrentPressureDC(time_series=False)[source]#
Get the current DC pressure.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
pressure – The current pressure.
- Return type:
- getCurrentProperEnergy(time_series=False)[source]#
Get the current proper dihedral energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The proper dihedral 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
- getCurrentRestraintEnergy(time_series=False)[source]#
Get the current position restraint energy.
- Parameters:
time_series (bool) – Whether to return a list of time series records.
- Returns:
energy – The dispersion correction.
- Return type:
- 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:
- getDihedralEnergy(time_series=False, block='AUTO')[source]#
Get the total dihedral energy (proper + improper).
- 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 dihedral energy.
- Return type:
- getDispersionCorrection(time_series=False, block='AUTO')[source]#
Get the dispersion correction.
- 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 dispersion correction.
- 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:
- getImproperEnergy(time_series=False, block='AUTO')[source]#
Get the improper 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 improper energy.
- 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:
- getLennardJones14(time_series=False, block='AUTO')[source]#
Get the Lennard-Jones energy between atoms 1 and 4.
- 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 Lennard-Jones energy.
- Return type:
- getLennardJonesSR(time_series=False, block='AUTO')[source]#
Get the short-range Lennard-Jones 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 short-range Lennard-Jones 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:
- getPressure(time_series=False, block='AUTO')[source]#
Get the pressure.
- 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:
pressure – The pressure.
- Return type:
- getPressureDC(time_series=False, block='AUTO')[source]#
Get the DC pressure.
- 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:
pressure – The DC pressure.
- Return type:
- getProperEnergy(time_series=False, block='AUTO')[source]#
Get the proper dihedral 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 proper dihedral 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
- getRestraintEnergy(time_series=False, block='AUTO')[source]#
Get the position restraint 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 dispersion correction.
- Return type:
- 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 GROMACS process.
- Returns:
process – A handle to the GROMACS 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.