BioSimSpace.Protocol.FreeEnergyEquilibration#

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

A class for storing free energy equilibration protocols.

__init__(lam=0.0, lam_vals=None, min_lam=0.0, max_lam=1.0, num_lam=11, timestep=2.0000 fs, runtime=0.2000 ns, temperature_start=300.0000 K, temperature_end=300.0000 K, temperature=None, pressure=None, thermostat_time_constant=1.0000 ps, report_interval=200, restart_interval=1000, restraint=None, force_constant=10 kcal mol-1 Å-2, perturbation_type='full')[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_start (Temperature) – The starting temperature.

  • temperature_end (Temperature) – The final temperature.

  • temperature (Temperature) – The equilibration temperature. This takes precedence of over the other temperatures, i.e. to run at fixed temperature.

  • pressure (Pressure) – The pressure. If this argument is omitted then the simulation is run using 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 frames are saved. (In integration steps.)

  • 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.

  • 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.

Methods

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

Constructor.

getEndTemperature()

Return the final temperature.

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.

getStartTemperature()

Return the starting temperature.

getThermostatTimeConstant()

Return the time constant for the thermostat.

getTimeStep()

Return the time step.

isConstantTemp()

Return whether the protocol has a constant temperature.

restraints()

Return a list of the supported restraint keywords.

setEndTemperature(temperature)

Set the final temperature.

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.

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.

setStartTemperature(temperature)

Set the starting temperature.

setThermostatTimeConstant(...)

Set the time constant for the thermostat.

setTimeStep(timestep)

Set the time step.

getEndTemperature()#

Return the final temperature.

Returns:

temperature – The final temperature.

Return type:

Temperature

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

getStartTemperature()#

Return the starting temperature.

Returns:

temperature – The starting 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:

time – The integration time step.

Return type:

Time

isConstantTemp()#

Return whether the protocol has a constant temperature.

Returns:

is_const_temp – Whether the temperature is fixed.

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]

setEndTemperature(temperature)#

Set the final temperature.

Parameters:

temperature (str, Temperature) – The final temperature.

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.

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.

setStartTemperature(temperature)#

Set the starting temperature.

Parameters:

temperature (str, Temperature) – The starting 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:

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