Pose Generation for FEP
Pose Generation for FEP Contents
- Before You Begin
- FEP+ Pose Builder Panel
- FEP Pose Generation with Glide
- FEP Pose Generation with MCS Docking Ligand Alignment
- Ligand Alignment for FEP Pose Generation
- Manual Pose Refinement
- Running RB-FEP on the prepared poses
- Related Topics
Note:
The new FEP+ Pose Builder Panel is Schrödinger’s preferred tool for pose generation for FEP. It has outperformed other methods on benchmarks, and incorporates many of the best practices shown in this page that would otherwise have to be done manually.
Before You Begin: On Protein and Ligand Preparation, Ligand Stage Generation, and Filtering
Protein Preparation, LigPrep, and LigFilter, as described below, are necessary steps before most of the pose generation workflows described later in this document. Accurate Protein Preparation is essential for docking and FEP. Some of the LiveDesign implementations of various pose generation methods (e.g. Glide and FEP pose generation) include LigPrep and LigFilter as part of a single protocol to go from a 2D structure to an input pose for RB-FEP.
Protein Preparation Workflow
-
Follow the Protein Preparation Workflow and the corresponding best practices.
-
Binding site hydration should be accurately modeled for FEP either based on experimental water positions or predicted water positions from WaterMap.
-
Pose prediction should be performed on a dry receptor (unless some waters are essential for ligand binding), but binding site waters should be added at the FEP map generation stage.
-
Clashes with water molecules will be removed by the system_builder stage in the FEP calculation.
-
If waters in important positions are missing, large initial forces may harm the system before GCMC steps start in FEP. Therefore if binding site hydration is uncertain, it is also advisable to use slow restraint release on the ligand and protein in FEP calculations.
-
Adding hydration after pose prediction in LiveDesign is possible but not easy, and currently it is not possible to use custom .msj files for FEP in LiveDesign.
LigPrep
LigPrep can be used to generate all plausible states (protomers and tautomers) at physiological pH. LigPrep can be run through the LigPrep panel in Maestro, from the command line ($SCHRODINGER/ligprep), or as part of a docking protocol in LiveDesign.
Sometimes you need to set appropriate LigPrep arguments to get the expected states:
-
By default, LigPrep uses Epik Classic for protonation, but this can be changed to Epik.
-
Epik is generally more accurate but takes about double the time as Epik Classic (hence this is the default in LiveDesign). For smaller compound sets in Maestro, Epik is recommended.
-
Make sure not to have undefined stereocenters. If you must, run FEP on both isomers to evaluate the effect of the stereocenter on binding.
-
Add all states to the FEP map and run group corrections after (currently it is not possible to run group corrections in LiveDesign). For more information, see https://pubs.acs.org/doi/abs/10.1021/acs.jctc.8b00826
-
For LiveDesign it is recommended to generate only one (most abundant or most relevant) state to pass to downstream models unambiguously.
-
Use e.g. -We,-ms,1 ligprep args or LigFilter to obtain a single state.
LigFilter
LigFilter can be used to filter out any undesired states after LigPrep or ligands that contain a certain group or property. LigFilter can be run manually through the Ligand Filtering panel in Maestro, through the command line ($SCHRODINGER/utilities/ligfilter), or as part of a docking protocol in LiveDesign.
-
Please see how to define filters on properties or common feature counts here: Filtering Structures by Property: ligfilter
-
You can also define your own SMARTS in a ligfilter input file like so: DEFINE myfilter [#1][n;X3]c(N[C&X4,#1])cccc myfilter > 0
FEP+ Pose Builder Panel
FEP Pose Generation with Glide
FEP Pose Generation with MCS Docking Ligand Alignment
Ligand Alignment for FEP Pose Generation
Manual Pose Refinement
Where to run it
Manual pose refinement is currently only available through the Maestro interface. Poses from LiveDesign can be opened for viewing in LiveDesign, but can not be altered and sent back. However, manually modeled 3D poses can be exported from Maestro to LiveDesign using the Export to LiveDesign Maestro panel.
Workflow Overview
Manual pose refinement should be used, when needed, upon the visual inspection of pose generation derived from any workflow described above. Not only to further optimize atom overlay with reference molecule, but also when protein-ligand clashes are observed (very minor clashes can often be cleared during FEP equilibration).
These approaches can be used to relieve potential internal strain in ligands, and/or to resolve clashes of ligand poses within the binding site. Make sure contacts/clashes are displayed in the Workspace before proceeding with any manual pose refinement. Approaches include:
-
Manual rotation of dihedral angles
-
Right-click on a bond (that is valid for dihedral rotation) > “Rotate Dihedral” > The dihedral angle value is displayed > Turn it to a value where most, if not all, clashes are not visible anymore in the workspace (mouse scroll button works well for that) and where the geometry of the R-group with respect to the rest of the ligand seems reasonable.
-
-
Local minimization of specific and arbitrarily chosen sets of atoms
-
Select the group of atoms (lasso selection) and Ctrl (or Command in Mac) + ‘m’.
-
Tip:
Temporarily lock the entries you don’t want to minimize in the Workspace (typically the protein) with right-click on the Entry name in the entry list. This greatly helps with selection of atoms to focus the minimization on.
Warning:
Make sure to also select the hydrogen atoms to prevent the risk of ending up with conformation with nonsensical position of hydrogen atoms.
Automating Clash Resolution
It is possible to run clash resolution on a set of ligands, a reference compound (to define the constrained region), and a receptor from the Python API with the following simple script:
from schrodinger.structutils.clash_resolution import
ReceptorLigandClashResolver
from schrodinger import structure
rec_st = structure.StructureReader.read("rec.maegz")
ref_st = structure.StructureReader.read("ref.maegz")
ligs = structure.StructureReader("ligs.maegz")
ligs_new = structure.StructureWriter("ligs_new.maegz")
clash_resolver = ReceptorLigandClashResolver(rec_st, reference=ref_st) # use also exclude_asl="solvent" keyword if waters should be ignored
for lig_st in ligs:
lig_st_new = clash_resolver.resolveClashes(lig_st)
ligs_new.append(lig_st_new)
ligs.close()
ligs_new.close()
If multiple non-clashing poses are possible that are not expected to interconvert during FEP sampling (e.g. if concerted motion of ligand side chains and protein residues are required), submit all poses for FEP and apply group corrections afterwards. This script acts on a single ligand at a time, therefore, if it is expected that an R-group should be aligned in all ligands, some final manual adjustment may be required on the output poses when multiple non-clashing solutions are possible.
Unsolvable Clashes
If unresolvable clashes still remain (ring spears, overlapping groups, backbone clashes) be careful with submitting the pose for FEP. For ligands that are expected to open a subpocket in the protein and have severe clashes with a part of the protein, one can try the following:
-
Use an alternative experimental protein structure where the pocket is open
-
Model the expected alternative protein state and run a separate FEP map with that
-
If the required motion is small, use core SMARTS definition for the ligand, and add the protein residues that are expected to move to the REST region for FEP
-
For larger motions modify the FEP .msj files to slowly release restraints from the protein and the ligand to prevent the ligand causing irreparable damage to itself or its surroundings during FEP equilibration
-
Some motions are not modelable by FEP, e.g. concerted motions of clusters of residues, larger backbone movements to open a pocket, loop reorganization, etc. In this case maybe use the protein reorganization FEP workflow (experimental)
Running RB-FEP on the prepared poses
Running RB-FEP in Maestro
Follow the FEP workflow and corresponding best practices.