FE-NES for Binding Affinity Prediction

Category Paths

Follow one of these paths in the Orion user interface, to find the floe.

  • Product-based/Molecular Dynamics/GROMACS

  • Product-based/Molecular Dynamics/OpenMM

  • Role-based/Computational Chemist

  • Role-based/Medicinal Chemist

  • Task-based/Molecular Dynamics

  • Task-based/Affinity Prediction

  • Solution-based/Hit to Lead/Affinity Prediction/Free-Energy Calculations

  • Solution-based/Small Molecule Lead-opt/Affinity

Description

This floe predicts binding affinities using free-energy nonequilibrium switching (FE-NES). For instructions for use, understanding outputs, and best practices, see the FE-NES Tutorial (right-click to open in a new tab).

Inputs:

  • Posed ligands

  • A protein target

Both must be prepared for MD simulation. See Minimal Inputs for a New FE-NES Calculation

Optional Inputs:

  • An edge map

  • Experimental affinities

Reuse existing end-state simulation data as inputs: Instead of providing a target protein and posed ligands, the user can also provide a dataset that contains previously generated bound-state and unbound-state equilibrium MD simulations. This must be assigned to Existing End-State Simulations.

To run FE-NES calculations in Rapid FE-NES mode, turn the Use Rapid FE-NES Settings switch On. More details about Rapid FE-NES can be found here.

Promoted Parameters

Title in user interface (promoted name)

Main Settings

Target Protein (protein): Must be in the same reference frame as the Posed Ligands. Not required if Posed Ligands already include protein design units.

  • Type: data_source

Posed Ligands (ligands): Ligands for binding affinity prediction, either alone or with SPRUCE-prepared design units.

  • Type: data_source

Existing End-State MD Simulations (equilibrium): Reuse previously generated end-state MD simulations as input for FE-NES. Provide an md_output or md_output_with_analysis from an upstream floe instead of Posed Ligands and a Target Protein.

  • Type: data_source

Edge Map Type (map_type): Select the strategy for on-the-fly generation of alchemical edges between ligands.

  • Type: string

  • Default: OELOMAP

  • Choices: [‘OELOMAP’, ‘Star map’, ‘Binary star map’, ‘Multi-star map’]

Star Map Hubs (hub): Applicable only to Star Map and Binary Star Map. Optionally provide the names of hub ligands. If no hubs are specified, they will be selected automatically.

  • Type: string

  • Default: [‘’]

Use Rapid FE-NES Settings (use_rapid_fenes): Override MD sampling time and the number of NES switches with Rapid FE-NES values (1.5 ns per ligand and 20 switches per edge). When enabled, FE-NES uses these values regardless of user-specified settings.

  • Type: boolean

  • Default: False

  • Choices: [True, False]

Custom Edge Map

Edge Map Dataset (map): Pregenerated edge map stored as a dataset. Typically generated by the Edge Mapper Floe.

  • Type: data_source

Edge Map File (edges): Pregenerated edge map stored as a text file.

  • Type: file_in

Experimental Affinities From Posed Ligands

Experimental Affinity Field (affinity_column): Options appear after selecting Posed Ligands or Existing End-State Simulations input.

  • Type: field_parameter::any

  • Default: —

Experimental Affinity Units (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’]

Affinity Uncertainty Field (affinity_error_column): Options appear after selecting Posed Ligands or Existing End-State Simulations input.

  • Type: field_parameter::float

  • Default: —

Experimental Affinities From a Text File

Experimental Affinity File (exp):

File syntax: [Ligand name] [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): Select whether the file is delimited by whitespace (including tabs) or commas. Delimiters cannot be mixed.

  • Type: string

  • Default: whitespace(s)

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

Experimental Affinity Units (units_expt_file): Use ‘log’ for pIC50, pKi, etc. Units present in the Experimental Affinity File override this selection.

  • Type: string

  • Default: Not selected

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

Protein Settings

Protein Force Field (protein_ff):

  • Required

  • Type: string

  • Default: Amber14SB

  • Choices: [‘Amber14SB’, ‘Amber99SB’, ‘Amber99SBildn’, ‘AmberFB15’]

Restrain Protein Motion (restraint_protein_tumbling): Apply weak harmonic restraints to limit target protein translation and rotation, allowing a smaller simulation box.

  • Type: boolean

  • Default: False

  • Choices: [True, False]

Protein Motion Restraint Strength (kcal/mol/Ų) (restraint_protein_tumbling_Wt): Force constant for protein motion restraints.

  • Type: decimal

  • Default: 0.1

Protein Label (flask_title): Label used in job monitoring, logging, and output naming. Defaults to the title of the input protein.

  • Type: string

  • Default:

Ligand Settings

Ligand Force Field (ligand_ff):

  • Required

  • Type: string

  • Default: OpenFF_2.2.1

  • Choices: [‘Gaff_1.81’, ‘Gaff_2.2.20’, ‘OpenFF_1.1.1’, ‘OpenFF_1.2.1’, ‘OpenFF_1.3.1’, ‘OpenFF_2.0.0’, ‘OpenFF_2.2.0’, ‘OpenFF_2.2.1’, ‘Smirnoff99Frosst’, ‘Custom’]

Custom OffXML File (custom_offxml_file_in): Custom SMIRNOFF .offxml ligand force field. Required when Ligand Force Field is set to Custom.

  • Type: file_in

Reassign Ligand Partial Charges (charge_ligands): When enabled, partial charges are reassigned before end-state simulation, replacing any existing ligand charges. When disabled, existing ligand charges are used. Alchemical switching always uses partial charges from the end-state simulations.

  • Type: boolean

  • Default: True

  • Choices: [True, False]

Solution Environment

Unit Cell Geometry (bound_solv_box): Shape of the bound-state simulation box. Unbound ligand simulations always use cubic boxes. Rectangular boxes can reduce run time and compute cost for elongated proteins aligned with a box axis.

  • Type: string

  • Default: cubic

  • Choices: [‘cubic’, ‘rectangular’]

Unit Cell Padding (Å) (padding_distance_bound): Minimum distance between the protein complex and the edge of the simulation box.

  • Type: decimal

  • Default: 6.0

Solution Density (g/mL) (density_bound): Target density used during solvation.

  • Type: decimal

  • Default: 1.03

Salt Concentration (mM) (salt_concentration_bound): Target salt concentration used during solvation.

  • Type: decimal

  • Default: 150.0

End-State Simulations

End-State Simulations per Ligand-Conformer (n_md_starts): Number of independent end-state simulations generated for each ligand-conformer. All simulations are combined for downstream alchemical switching.

  • Type: integer

  • Default: 1

Unbound-State Production Time (ns) (prod_unb_ns): Applied to each end-state simulation. Overridden when Use Rapid FE-NES Settings is enabled.

  • Type: decimal

  • Default: 6.0

Bound-State Production Time (ns) (prod_bn_ns): Applied to each end-state simulation. Overridden when Use Rapid FE-NES Settings is enabled.

  • Type: decimal

  • Default: 6.0

Trajectory Save Interval (ns) (prod_trajectory_interval): Simulation time between saved trajectory frames for bound and unbound end-state simulations.

  • Type: decimal

  • Default: 0.025

Checkpoint Interval (hours) (cube_max_run_time): Wall-clock time between checkpoints. The default is one hour and is reduced automatically for larger systems.

  • Type: decimal

  • Default: 1

Use 4-fs Time Step (HMR): Enable HMR to use a 4-fs time step; otherwise, a 2-fs time step is used.

  • Type: boolean

  • Default: True

  • Choices: [True, False]

MD Engine (md_engine):

  • Type: string

  • Default: OpenMM

  • Choices: [‘OpenMM’, ‘Gromacs’]

Alchemical Switches

Switching Time (ns) (nes_time): Duration of each alchemical switch.

  • Type: decimal

  • Default: 0.05

Switches per Edge (trajectory_frames): Number of independent switching trajectories generated for each edge. Overridden when ‘Use Rapid FE-NES Settings’ is enabled.

  • Type: integer

  • Default: 80

Use Cost-Optimized Instances (nes_switch): Prefer lower-cost compute resources for bound-state switches, potentially increasing run time.

  • Required

  • Type: boolean

  • Default: True

  • Choices: [True, False]

Time Step for Alchemical Switching (fs) (timestep_in_fs): Supported values are 1 fs and 2 fs. 4-fs time steps are not available for alchemical switching.

  • Type: decimal

  • Default: 2.0

  • Choices: [1.0, 2.0]

Output File Names

MD Output Dataset (eq_out): Stores bound and unbound end-state simulation results. Can be used as input for FE-NES or to analyze protein-ligand interactions.

  • Required

  • Type: dataset_out

  • Default: md_output

MD Recovery Output Dataset (md_recovery_out): This is an optional MD recovery dataset generated when the ‘Save MD recovery records’ parameter of the ‘MD Recovery Switch’ cube is ‘On’.

  • Required

  • Type: dataset_out

  • Default: md_recovery

Trajectory Downloader (traj_downloader): Title for the trajectory downloader floe report.

  • Type: string

  • Default: Trajectory Downloader

Affinity Output Dataset (affinity_out): Primary output containing per-molecule affinity predictions computed from the relative affinity predictions.

  • Required

  • Type: dataset_out

  • Default: affinity_predictions

Relative Affinity Output Dataset (nes_out): Output containing pairwise relative affinity predictions computed by FE-NES.

  • Required

  • Type: dataset_out

  • Default: relative_affinity_predictions

NES Recovery Output File (nes_recovery_out): Checkpoint file used to recover FE-NES results if the FE-NES Floe hangs.

  • Required

  • Type: file_out

  • Default: fe_nes_recovery_binary

FE-NES Result Archive (nes_results_archive): Tar.gz archive containing FE-NES calculation results.

  • Required

  • Type: dataset_out

  • Default: fe_nes_results_archive

Affinity Predictions Report (affinity_floe_report): Title for the affinity predictions floe report.

  • Type: string

  • Default: Affinity Predictions Report

Relative Affinity Predictions Report (relative_affinity_floe_report): Title for the relative affinity predictions floe report.

  • Type: string

  • Default: Relative Affinity Predictions Report

Edge Map Diagram With Predictions (edge_map_with_pred_floe_report): Title for the edge map diagram with predictions floe report.

  • Type: string

  • Default: Edge Map Diagram with Predictions

Failed Output Dataset (fail_out): Stores information about failed calculations.

  • Required

  • Type: dataset_out

  • Default: Failed Output for FE-NES for Binding Affinity Prediction

Edge Mapper Output Dataset (mapper_out): Output dataset containing edges generated by the selected map type or provided by the user via a text file.

  • Type: dataset_out

  • Default: edge_map

All Possible Edges Output Dataset (all_out): Optional output dataset of all N*(N-1)/2 possible edges. This dataset is generated only if ‘Write all possible edges’ parameter of the ‘Edge Mapper’ cube is set to ‘On’.

  • Type: dataset_out

  • Default: all_possible_edges

Edge Map Diagram (edge_map_floe_report): Title for the edge map diagram floe report.

  • Type: string

  • Default: Edge Map Diagram

Interactive Edge Map Diagram (int_edge_map_floe_report): Title for the interactive edge map diagram floe report.

  • Type: string

  • Default: Interactive Edge Map Diagram

Advanced Compute Resource Settings

Bound NES and All MD Instances (all_md_and_bound_nes_instance_type):

  • Type: string

  • Default: cdns-g1,g4dn.xlarge,g4dn.2xlarge,g5.xlarge,g5.2xlarge,g5.4xlarge,g6.xlarge,g6.2xlarge

Bound NES and All MD GPUs (gpu_count_md): Per simulation.

  • Type: decimal

  • Default: 1

Bound NES and All MD CPUs (cpu_count_md): Cores per simulation.

  • Type: integer

  • Default: 4

MD Spot Policy (spot_policy_md): Due to longer running time for large systems, set this spot policy to Prohibited to reduce instance reclamation risk, though floe costs may increase.

  • Type: string

  • Default: Allowed

  • Choices: [‘Allowed’, ‘Preferred’, ‘NotPreferred’, ‘Prohibited’, ‘Required’]

Bound NES Spot Policy (bound_nes_spot_policy): Due to longer running time for large systems, set this spot policy to Prohibited to reduce instance reclamation risk, though floe costs may increase.

  • Type: string

  • Default: Preferred

  • Choices: [‘Allowed’, ‘Preferred’, ‘NotPreferred’, ‘Prohibited’, ‘Required’]

Unbound NES Instances (unbound_nes_instance_type):

  • Type: string

  • Default: c6i.xlarge,c6i.2xlarge,c7i.xlarge,c7i.2xlarge,c8i.xlarge,c8i.2xlarge,r6i.xlarge,r6i.2xlarge,r7i.xlarge,r7i.2xlarge,r8i.xlarge,r8i.2xlarge

Unbound NES GPUs (gpu_count_unbound_nes): Per simulation.

  • Type: decimal

  • Default: 0

Unbound NES CPUs (cpu_count_unbound_nes): Cores per simulation.

  • Type: integer

  • Default: 4

Unbound NES Spot Policy (unbound_nes_spot_policy):

  • Type: string

  • Default: Preferred

  • Choices: [‘Allowed’, ‘Preferred’, ‘NotPreferred’, ‘Prohibited’, ‘Required’]

Chimeric Cube Total Memory (MB) (chimeric_cube_total_memory): Total memory available for the Chimera Cube in MB.

  • Type: decimal

  • Default: 61440

Job Guardrails

Max Number of End-State Simulations (max_md_runs): The job will fail if the total number of end-state simulations exceeds this limit. Total = ligands x conformers per ligand x end-state simulations per ligand-conformer.

  • Type: integer

  • Default: 500

Max Number of Alchemical Edges (max_mapper_edges): The job will fail if the total number of alchemical edges exceeds this limit. Total edges include both user-provided and automatically generated edges.

  • Type: integer

  • Default: 1000

Max Atoms Per Bound-State Simulation (max_atoms): The job will fail if the estimated atom count in any bound-state simulation exceeds this limit. If this limit is increased to support larger systems, all promoted bound-state spot policies should be set to Prohibited to avoid cloud interruptions.

  • Type: integer

  • Default: 250000