Docking¶
Docking is the process of determining the structure of a ligand bound in the active site of a target protein. In the Docking Toolkit this is done with the OEDock class that takes a multiconformer representation of a ligand and returns the top scoring pose (or poses if desired) within the active site. Docking is done using an exhaustive search algorithm, followed by optimization of the best poses from the exhaustive search (see Docking Algorithm section).
Docking Molecules is an example program that uses the OEDock class to dock, score and annotate multiconformer molecules.
Scoring Functions and Search Resolution¶
The resolution of the exhaustive search and scoring functions are required inputs when constructing a OEDock object.
dockMethod is an unsigned int constant from the
OEDockMethod
namespace, that specifies the combination
of scoring functions (or method) OEDock uses for the
exhaustive search and optimization. The available scoring methods are:
Method
Exhaustive Search Scoring
Optimization Scoring
dockResolution is an unsigned int constant from the
OESearchResolution
namespace, that specifies the docking
resolution to use. The docking resolution is the rotational and translational
stepsize used during the exhaustive search and optimization (the rotational
stepsize is the furthest distance any heavy atom of the ligand will move in
a single rotational step). The following resolutions are supported
Resolution
Exhaustive Translational
Exhaustive Rotational
1.0
1.0
1.0
1.5
1.5
2.0
Resolution
Optimization Translational
Optimization Rotational
0.5
0.5
0.5
0.75
0.75
1.0
All resolutions are in Angstroms.
See also
Section Docking Algorithm for more information docking algorithm.
Hybrid Method¶
The hybrid (OEDockMethod::Hybrid2
) docking method is
distinguished from other docking methods because it uses information present in
the structure of a bound ligand to enhance docking performance.
The bound ligand information is used during the exhaustive search stage of the docking process (see Docking Algorithm section) by using the Chemical Gaussian Overlay (CGO) scoring function, which scores poses based on how well a docked pose overlays the shape of the bound ligand and mimics the same hydrogen bonding and interactions the bound ligand makes. After the exhaustive search, optimization is performed with Chemgauss4 which is a standard structure based scoring function.
The final score a ligand receives using the hybrid docking method is based only on its interactions with the protein. Ligand information is used only to guide the selection of poses during the exhaustive search.
Note
In order to use the hybrid docking
method the receptor OEDesignUnit must have a bound ligand (see
HasLigand
).
Initialization¶
An OEDock object must be initialized with a receptor object,
prior to docking, scoring or annotating any molecules. This is done by passing
a OEDesignUnit containing a receptor (see Receptors)
to the OEDock::Initialize
method.
Docking Molecules¶
Once the OEDock object has been initialized molecules are
docked using the OEDock::DockMultiConformerMolecule
method.
Docking requires a multiconformer representation of the molecule as input. Docking
selects the top scoring docked pose from the provided ensemble of conformers. The
score of the docked molecule can be obtained by calling
the OEMolBase::GetEnergy
method of pose.
OEDock can also return alternate as well as top scoring poses of the docked molecule.
Scoring Molecules¶
The final score of a molecule (using the optimization scoring function) docked
with the OEDock::DockMultiConformerMolecule
method can
be obtained by calling the OEMolBase::GetEnergy
.
OEDock can also recalculate a score of a pose (using the optimization scoring function), and calculate the contribution for each individual component of the score as in the following example.
Docking Algorithm¶
OEDock docks multiconformer molecules using an exhaustive search that systematically searches rotations and translations of each conformer of the ligand within the active site. Following the exhaustive search the top scoring poses are optimized and assigned a final score. These two steps are described in more detail below
Exhaustive Search
Enumerates, to given resolution, every possible rotation and translation of each conformer of the ligand being docked within a box enclosing the active site. The resolution of the exhaustive search is determined by the overall resolution setting of OEDock (see Scoring Functions and Search Resolution section).
Discard out poses that either clash with the protein or extend to far from the binding site using the receptor’s negative image outer contour (see Negative Image section).
If the negative image inner contour is enabled discard any poses that do not have at least one heavy atom that falls within the inner contour. (see Negative Image section).
Discard any poses that do no match any user specified constraints. (see Constraints section).
Score all remaining poses. The scoring function used here depends on what scoring method is being used (see Scoring Functions and Search Resolution section).
Sort poses by score and pass the top scoring poses to optimization. The number of posses passed to optimization depends on the search resolution (see
OESearchResolution
constant namespace).
Optimization
Each pose moved to 729 nearby positions, scored and the top scoring position become the new optimized pose. The positions are generated by having the initial pose take one positive and one negative step for each translational and rotational degree of freedom. The resolution of these steps is half that of the exhaustive search, and is determined by the overall resolution setting of OEDock (see Scoring Functions and Search Resolution section).
The best scoring pose of the 729 tests poses is selected as the final docked structure (and score) for the ligand.