Nonequilibrium Switching [MDRun] [FECalc]

Description

  • Tutorials and Further Reading:

  • Purpose:

    • This Floe performs relative binding free energy (RBFE) calculations using nonequilibrium switching (NES) method refined by the de Groot lab (Gapsys et al., Chem. Sci., 2020, 11, 1140-1152).

  • Method Recommendations/Requirements:

    • Three primary inputs are required; one additional primary input is optional. All other fields are supplementary: * Orion dataset(s) containing equilibrium run data in the bound state for each ligand participating in the NES run. * Orion dataset(s) containing equilibrium run data in the unbound state for each ligand participating in the NES run. * An Orion Dataset containing the ligand edges to run the RBFE calculation generated by using the Edge Mapper for RBFE calculations Floe. * [Optional] Select experimental binding affinities from the Orion dataset containing equilibrium run data in the bound state, or supply a text file containing ligand names, affinity values, optional uncertainties, and optional units.

  • Limitations

    • If no experimental binding affinities are given, predicted affinities will lack an absolute reference and will be shifted so that their mean is 0 kcal/mol.

    • Currently, there is no mitigation for the effects of changes in buried waters, protein sidechain flips, or large protein movements between ligA and ligB.

  • Expertise Level:

    • Regular

  • Compute Resource:

    • High

  • Keywords:

    • MD, FECalc

  • Related Floes:

    • Ligand Bound and Unbound Equilibration for NES [MDPrep] [MD].

    • Equilibration and Nonequilibrium Switching [MDPrep] [MD] [FECalc].

    • Compare Experimental Affinity with NES Results [Utility] [FECalc].

    • Nonequilibrium Switching Recovery [Utility] [FECalc].

The Floe will draw a number of starting snapshots from the bound and unbound trajectories of the ligands. Then for each edge in the edge file, it will generate an RBFE alchemical transformation from ligA into ligB, and carry out the NES fast transformation of ligA into ligB, and vice versa, for each of the snapshots. The resulting relative free energy change, or DeltaDeltaG, for each edge is the primary output of this method. A maximum likelihood estimator is then used to derive a predicted binding affinity (free energy, or DeltaG) for each ligand. The mean value of the input experimental binding free energies is used as the reference value for the computed ones.

The speed of the NES transformation and the number of snapshots transformed can be adjusted from default values by the user at runtime. The Floe outputs two Floe report/dataset pairs, one for the calculated RBFE edges (DeltaDeltaGs), and one for the derived affinity predictions (DeltaGs) of ligand.

In free energy calculations, protein tumbling restraints are automatically applied if and only if they were requested and successfully applied in an upstream equilibrium simulation Floe that was used to generate input dataset for NES.

Promoted Parameters

Title in user interface (promoted name)

NES Run Parameter

time (nes_time): NPT simulation time in nanoseconds.

  • Type: decimal

  • Default: 0.05

Total number of NES trajectory frames (trajectory_frames): The total number of trajectory frames to be used along the NE switching

  • Type: integer

  • Default: 80

Optimize NES costs (nes_switch): Optimize NES costs by selecting to run the Bound Switching on cost effective instances

  • Required

  • Type: boolean

  • Default: True

  • Choices: [True, False]

timestep_in_fs (timestep_in_fs): Time step (in femtoseconds) for MD integration.

  • Type: decimal

  • Default: 2.0

  • Choices: [1.0, 2.0]

Max number of Mapper edges allowed (max_mapper_edges): The max number of mapper edges allowed

  • Type: integer

  • Default: 500

Inputs

Bound Input Dataset (bound): with default naming, this input will be named MD_Bnd_Anlys or MD_Bnd in an upstream Floe

  • Required

  • Type: data_source

Unbound Input Dataset (unbound): with default naming, this input will be named MD_Unb_Anlys or MD_Unb in an upstream Floe

  • Required

  • Type: data_source

Mapper Dataset (map): Mapper Input Dataset

  • Required

  • Type: data_source

Experimental Affinities (From Bound Input Dataset)

Column in the dataset with experimental affinity values (affinity_column): Populated after selecting the dataset.

  • Type: field_parameter::float

  • Default: —

Units for affinity values (units):

Use ‘log’ for pIC50, pKi, etc.

  • Type: string

  • Default: Not selected

  • Choices: [‘Not selected’, ‘kcal/mol’, ‘kJ/mol’, ‘pM’, ‘nM’, ‘uM’, ‘mM’, ‘M’, ‘log’]

Column in the dataset with experimental affinity uncertainties (affinity_error_column): Populated after selecting the dataset.

  • Type: field_parameter::float

  • Default: —

Experimental Affinities (From Text File)

Text file containing experimental affinities (exp):

Syntax for ASCII file: [Ligand] [Affinity] [Error {optional}] [units {optional}]. Allowed units: kcal/mol, kJ/mol, log, M, mM, uM, nM, pM. Use ‘log’ for pIC50, pKi, etc. Use ‘M’, ‘mM’, ‘uM’, ‘nM’ or ‘pM’ for IC50, Ki, etc.

  • Type: file_in

Delimiter (field_separator): Whitespace (including tabs) or comma. Delimiters cannot be mixed.

  • Type: string

  • Default: whitespace(s)

  • Choices: [‘whitespace(s)’, ‘,’]

Units for affinity values (units_expt_file):

Use ‘log’ for pIC50, pKi, etc. Units present in the experimental file override this selection.

  • Type: string

  • Default: Not selected

  • Choices: [‘Not selected’, ‘kcal/mol’, ‘kJ/mol’, ‘pM’, ‘nM’, ‘uM’, ‘mM’, ‘M’, ‘log’]

Outputs

NES Output Dataset (out): Output dataset of NES.

  • Required

  • Type: dataset_out

  • Default: nes_output_dataset

Affinity Output Dataset (DG): Output dataset of binding affinity calculations.

  • Required

  • Type: dataset_out

  • Default: binding_affinity_output_dataset

Recovery File (recovery): Recovery Output File.

  • Required

  • Type: file_out

  • Default: recovery_file

NES Failure Dataset (fail): Output dataset of failed calculations.

  • Required

  • Type: dataset_out

  • Default: failed_dataset