OpenMM Relative Free Energy Protocol#

This section provides details about the OpenMM Relative Free Energy Protocol implemented in OpenFE.

Protocol API specification#

RelativeHybridTopologyProtocol

Relative Free Energy calculations using OpenMM and OpenMMTools.

RelativeHybridTopologyProtocolUnit

Calculates the relative free energy of an alchemical ligand transformation.

RelativeHybridTopologyProtocolResult

Dict-like container for the output of a RelativeHybridTopologyProtocol

Protocol Settings#

Below are the settings which can be tweaked in the protocol. The default settings (accessed using RelativeHybridTopologyProtocol.default_settings()) will automatically populate a settings which we have found to be useful for running relative binding free energies using explicit solvent. There will however be some cases (such as when doing gas phase calculations) where you will need to tweak some of the following settings.

pydantic model openfe.protocols.openmm_rfe.RelativeHybridTopologyProtocolSettings#

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

field protocol_repeats: int [Required]#

The number of completely independent repeats of the entire sampling process. The mean of the repeats defines the final estimate of FE difference, while the variance between repeats is used as the uncertainty.

field forcefield_settings: OpenMMSystemGeneratorFFSettings [Required]#

Parameters to set up the force field with OpenMM Force Fields.

field thermo_settings: ThermoSettings [Required]#

Settings for thermodynamic parameters.

field solvation_settings: OpenMMSolvationSettings [Required]#

Settings for solvating the system.

field partial_charge_settings: OpenFFPartialChargeSettings [Required]#

Settings for assigning partial charges to small molecules.

field lambda_settings: LambdaSettings [Required]#

Lambda protocol settings including lambda windows and lambda functions.

field alchemical_settings: AlchemicalSettings [Required]#

Alchemical protocol settings including soft core scaling.

field simulation_settings: MultiStateSimulationSettings [Required]#

Settings for alchemical sampler.

field engine_settings: OpenMMEngineSettings [Required]#

Settings specific to the OpenMM engine such as the compute platform.

field integrator_settings: IntegratorSettings [Required]#

Settings for the integrator such as timestep and barostat settings.

field output_settings: MultiStateOutputSettings [Required]#

Simulation output control settings.

Protocol Specific Settings Classes#

Below are Settings classes which are unique to the RelativeHybridTopologyProtocol.

pydantic model openfe.protocols.openmm_rfe.equil_rfe_settings.AlchemicalSettings#

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

field endstate_dispersion_correction = False#

Whether to have extra unsampled endstate windows for long range correction. Default False.

field use_dispersion_correction = False#

Whether to use dispersion correction in the hybrid topology state. Default False.

field softcore_LJ: Literal['gapsys', 'beutler'] [Required]#

Whether to use the LJ softcore function as defined by Gapsys et al. JCTC 2012, or the one by Beutler et al. Chem. Phys. Lett. 1994. Default ‘gapsys’.

field softcore_alpha = 0.85#

Softcore alpha parameter. Default 0.85

field turn_off_core_unique_exceptions = False#

Whether to turn off interactions for new exceptions (not just 1,4s) at lambda 0 and old exceptions at lambda 1 between unique atoms and core atoms. If False they are present in the nonbonded force. Default False.

field explicit_charge_correction = False#

Whether to explicitly account for a charge difference during the alchemical transformation by transforming a water to a counterion of the opposite charge of the formal charge difference.

Please note that this feature is currently in beta and poorly tested.

Absolute charge changes greater than 1 are currently not supported.

Default False.

field explicit_charge_correction_cutoff: FloatQuantity = <Quantity(0.8, 'nanometer')>#

The minimum distance from the system solutes from which an alchemical water can be chosen. Default 0.8 * unit.nanometer.

pydantic model openfe.protocols.openmm_rfe.equil_rfe_settings.LambdaSettings#

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

field lambda_functions = 'default'#

Key of which switching functions to use for alchemical mutation. Default ‘default’.

field lambda_windows = 11#

Number of lambda windows to calculate. Default 11.