meld.system.openmm_runner.transform.rest2

This module implements a transformer that implements REST2.

We use the updated version of Replica Exchange with Solute Scaling 1.

Limitations

Currently, the REST2 implmentation in MELD has a limitation: - Any CMAP / AMAP potentials are not scaled.

References

1

L. Wang, R.A. Friesner, B.J. Berne, Replica exchange with solute scaling: a more efficient version of replica exchange with solute tempering.

Classes

REST2Transformer(options, …)

class meld.system.openmm_runner.transform.rest2.REST2Transformer(options, always_active_restraints, selectively_active_restraints)[source]
add_interactions(system, topology)

Add new interactions to the system.

This may involve: - Adding new forces, e.g. for restraints - Replacing an existing force with another, e.g. softcore

interactions

This method must return the modified system. If the transformer does not add interactions, it may simply return the passed values.

Parameters
  • system (simtk.openmm.System) – OpenMM system object to be modified

  • topology (simtk.openmm.Topology) – OpenMM topology object to be modified and/or used for indexing

finalize(system, topology)[source]

Finalize the transformer.

This method is guaranteed to be called after all forces are added to the system and provides an opportunity to do bookkeeping.

This method should not add any new forces.

Parameters
  • system (simtk.openmm.System) – OpenMM system object to be modified

  • topology (simtk.openmm.Topology) – OpenMM topology object to be modified and/or used for indexing

update(simulation, alpha, timestep)[source]

Update the system according to alpha and timestep.

This method is called at the beginning of every stage. It should update forces and parameters as necessary.

Parameters
  • simulation (simtk.openmm.app.simulation) – OpenMM simulation object to be modified

  • alpha (float) – Current value of alpha, ranges from 0 to 1

  • stage (int) – Current stage of the simulation, starting from 0