OpenMM Relative Free Energy Protocol#
This section provides details about the OpenMM Relative Free Energy Protocol implemented in OpenFE.
Protocol API specification#
Relative Free Energy calculations using OpenMM and OpenMMTools. |
|
Calculates the relative free energy of an alchemical ligand transformation. |
|
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.equil_rfe_settings.RelativeHybridTopologyProtocolSettings#
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- 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][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- field endstate_dispersion_correction: bool = False#
Whether to have extra unsampled endstate windows for long range correction. Default False.
- field use_dispersion_correction: bool = 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 turn_off_core_unique_exceptions: bool = 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: bool = 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: NanometerQuantity = <Quantity(0.8, 'nanometer')>#
The minimum distance from the system solutes from which an alchemical water can be chosen. Default 0.8 * unit.nanometer.
- Constraints:
func = functools.partial(<function _has_compatible_dimensionality at 0x7f3c566e99e0>, unit=’nanometer’, convert=True)
json_schema_input_type = typing.Any
json_schema = {‘type’: ‘number’}
return_type = PydanticUndefined
when_used = always
- 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][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.