BioSimSpace.Protocol.FreeEnergyProduction#

class BioSimSpace.Protocol.FreeEnergyProduction(lam=0.0, lam_vals=None, min_lam=0.0, max_lam=1.0, num_lam=11, timestep=2.0000 fs, runtime=4.0000 ns, temperature=300.0000 K, pressure=1.0000 atm, thermostat_time_constant=1.0000 ps, report_interval=200, restart_interval=1000, restart=False, perturbation_type='full', restraint=None, force_constant=10 kcal mol-1 Å-2)[source]#

A class for storing free energy production protocols.

__init__(lam=0.0, lam_vals=None, min_lam=0.0, max_lam=1.0, num_lam=11, timestep=2.0000 fs, runtime=4.0000 ns, temperature=300.0000 K, pressure=1.0000 atm, thermostat_time_constant=1.0000 ps, report_interval=200, restart_interval=1000, restart=False, perturbation_type='full', restraint=None, force_constant=10 kcal mol-1 Å-2)[source]#

Constructor.

Parameters:
  • lam (float) – The perturbation parameter: [0.0, 1.0]

  • lam_vals ([float]) – The list of lambda parameters.

  • min_lam (float) – The minimum lambda value.

  • max_lam (float) – The maximum lambda value.

  • num_lam (int) – The number of lambda values.

  • timestep (Time) – The integration timestep.

  • runtime (Time) – The running time.

  • temperature (Temperature) – The temperature.

  • pressure (Pressure) – The pressure. Pass pressure=None to use the NVT ensemble.

  • thermostat_time_constant (Time) – Time constant for thermostat coupling.

  • report_interval (int) – The frequency at which statistics are recorded. (In integration steps.)

  • restart_interval (int) – The frequency at which restart configurations and trajectory

  • restart (bool) – Whether this is a continuation of a previous simulation.

  • perturbation_type (str) –

    The type of perturbation to perform. Options are:

    ”full” : A full perturbation of all terms (default option). “discharge_soft” : Perturb all discharging soft atom charge terms (i.e. value->0.0). “vanish_soft” : Perturb all vanishing soft atom LJ terms (i.e. value->0.0). “flip” : Perturb all hard atom terms as well as bonds/angles. “grow_soft” : Perturb all growing soft atom LJ terms (i.e. 0.0->value). “charge_soft” : Perturb all charging soft atom LJ terms (i.e. 0.0->value).

    Currently perturubation_type != “full” is only supported by BioSimSpace.Process.Somd.

  • restraint (str, [int]) –

    The type of restraint to perform. This should be one of the following options:

    ”backbone”

    Protein backbone atoms. The matching is done by a name template, so is unreliable on conversion between molecular file formats.

    ”heavy”

    All non-hydrogen atoms that aren’t part of water molecules or free ions.

    ”all”

    All atoms that aren’t part of water molecules or free ions.

    Alternatively, the user can pass a list of atom indices for more fine-grained control. If None, then no restraints are used.

  • force_constant (GeneralUnit, float) – The force constant for the restraint potential. If a ‘float’ is passed, then default units of ‘kcal_per_mol / angstrom**2’ will be used.

Methods

__init__([lam, lam_vals, min_lam, max_lam, ...])

Constructor.

getForceConstant()

Return the force constant for the restraint.

getLambda()

Get the value of the perturbation parameter.

getLambdaIndex()

Get the index of the lambda value within the lambda array.

getLambdaValues()

Get the list of lambda values.

getPerturbationType()

Get the perturbation type.

getPressure()

Return the pressure.

getReportInterval()

Return the interval between reporting statistics.

getRestartInterval()

Return the interval between saving restart confiugrations, and/or trajectory frames.

getRestraint()

Return the type of restraint..

getRunTime()

Return the running time.

getTemperature()

Return temperature.

getThermostatTimeConstant()

Return the time constant for the thermostat.

getTimeStep()

Return the time step.

isRestart()

Return whether this restart simulation.

restraints()

Return a list of the supported restraint keywords.

setForceConstant(force_constant)

Set the force constant for the restraint.

setLambdaValues(lam[, lam_vals, min_lam, ...])

Set the list of lambda values.

setPerturbationType(perturbation_type)

Set the perturbation type.

setPressure(pressure)

Set the pressure.

setReportInterval(report_interval)

Set the interval at which statistics are reported.

setRestart(restart)

Set the restart flag.

setRestartInterval(restart_interval)

Set the interval between saving restart confiugrations, and/or trajectory frames.

setRestraint(restraint)

Set the type of restraint.

setRunTime(runtime)

Set the running time.

setTemperature(temperature)

Set the temperature.

setThermostatTimeConstant(...)

Set the time constant for the thermostat.

setTimeStep(timestep)

Set the time step.

getForceConstant()#

Return the force constant for the restraint.

Returns:

force_constant – The force constant for the restraint, in units of kcal_per_mol/angstrom**2.

Return type:

float, str, class:GeneralUnit

getLambda()#

Get the value of the perturbation parameter.

Returns:

lam – The value of the perturbation parameter.

Return type:

float

getLambdaIndex()#

Get the index of the lambda value within the lambda array.

Returns:

index – The index of the lambda value in teh lambda array.

Return type:

int

getLambdaValues()#

Get the list of lambda values.

Returns:

lam_vals – The list of lambda values.

Return type:

[float]

getPerturbationType()#

Get the perturbation type.

Returns:

perturbation_type – The perturbation type.

Return type:

str

getPressure()#

Return the pressure.

Returns:

pressure – The pressure.

Return type:

Pressure

getReportInterval()#

Return the interval between reporting statistics. (In integration steps.).

Returns:

report_interval – The number of integration steps between reporting statistics.

Return type:

int

getRestartInterval()#

Return the interval between saving restart confiugrations, and/or trajectory frames. (In integration steps.).

Returns:

restart_interval – The number of integration steps between saving restart configurations and/or trajectory frames.

Return type:

int

getRestraint()#

Return the type of restraint..

Returns:

restraint – The type of restraint.

Return type:

str, [int]

getRunTime()#

Return the running time.

Returns:

runtime – The simulation run time.

Return type:

Time

getTemperature()#

Return temperature.

Returns:

temperature – The simulation temperature.

Return type:

Temperature

getThermostatTimeConstant()#

Return the time constant for the thermostat.

Returns:

runtime – The time constant for the thermostat.

Return type:

Time

getTimeStep()#

Return the time step.

Returns:

timestep – The integration time step.

Return type:

Time

isRestart()#

Return whether this restart simulation.

Returns:

is_restart – Whether this is a restart simulation.

Return type:

bool

classmethod restraints()#

Return a list of the supported restraint keywords.

Returns:

restraints – A list of the supported restraint keywords.

Return type:

[str]

setForceConstant(force_constant)#

Set the force constant for the restraint.

Parameters:

force_constant (int, float, str, GeneralUnit, float) – The force constant for the restraint, in units of kcal_per_mol/angstrom**2.

setLambdaValues(lam, lam_vals=None, min_lam=None, max_lam=None, num_lam=None)#

Set the list of lambda values.

Parameters:
  • lam (float) – The perturbation parameter: [0.0, 1.0]

  • lam_vals ([float]) – A list of lambda values.

  • min_lam (float) – The minimum lambda value.

  • max_lam (float) – The maximum lambda value.

  • num_lam (int) – The number of lambda values.

setPerturbationType(perturbation_type)#

Set the perturbation type.

Parameters:

perturbation_type (str) –

The type of perturbation to perform. Options are:

”full” : A full perturbation of all terms (default option). “discharge_soft” : Perturb all discharging soft atom charge terms (i.e. value->0.0). “vanish_soft” : Perturb all vanishing soft atom LJ terms (i.e. value->0.0). “flip” : Perturb all hard atom terms as well as bonds/angles. “grow_soft” : Perturb all growing soft atom LJ terms (i.e. 0.0->value). “charge_soft” : Perturb all charging soft atom LJ terms (i.e. 0.0->value).

setPressure(pressure)#

Set the pressure.

Parameters:

pressure (str, Pressure) – The pressure.

setReportInterval(report_interval)#

Set the interval at which statistics are reported. (In integration steps.).

Parameters:

report_interval (int) – The number of integration steps between reporting statistics.

setRestart(restart)#

Set the restart flag.

Parameters:

restart (bool) – Whether this is a restart simulation.

setRestartInterval(restart_interval)#

Set the interval between saving restart confiugrations, and/or trajectory frames. (In integration steps.).

Parameters:

restart_interval (int) – The number of integration steps between saving restart configurations and/or trajectory frames.

setRestraint(restraint)#

Set the type of restraint.

Parameters:

restraint (str, [int]) –

The type of restraint to perform. This should be one of the following options:

”backbone”

Protein backbone atoms. The matching is done by a name template, so is unreliable on conversion between molecular file formats.

”heavy”

All non-hydrogen atoms that aren’t part of water molecules or free ions.

”all”

All atoms that aren’t part of water molecules or free ions.

Alternatively, the user can pass a list of atom indices for more fine-grained control.

setRunTime(runtime)#

Set the running time.

Parameters:

runtime (str, Time) – The simulation run time.

setTemperature(temperature)#

Set the temperature.

Parameters:

temperature (str, Temperature) – The simulation temperature.

setThermostatTimeConstant(thermostat_time_constant)#

Set the time constant for the thermostat.

Parameters:

thermostat_time_constant (str, Time) – The time constant for the thermostat.

setTimeStep(timestep)#

Set the time step.

Parameters:

timestep (str, Time) – The integration time step.