# OEHybrid¶

class OEHybrid : public OEDock


Note

This OEHybrid is identical to OEDock except that the default OEDockMethod is OEDockMethod.Hybrid.

OEHybrid is used to dock and score multiconformer molecules in an active site using the Hybrid Method.

Use the following procedure to dock and score molecules with this class.

1. Construct the object.
2. Initialize the active site by passing a receptor (see Receptors chapter) to the OEHybrid.Initialize method.
3. Dock molecules using the OEHybrid.DockMultiConformerMolecule method.
4. Score docked molecules with any of the following methods

## Constructor¶

OEHybrid(unsigned int scoring    = OEDockMethod::Hybrid,
unsigned int resolution = OESearchResolution::Default)


Constructs the OEHybrid object to use a given scoring method and search resolution.

 scoring The scoring method, from the OEDockMethod namespace, this object will use. resolution The search resolution, from the OESearchResolution namespace, this object will use.

## IsInitialized¶

bool IsInitialized() const


Returns true if this object has been successfully initialized and is ready to dock molecules.

## Initialize¶

bool Initialize(const OEChem::OEMolBase& receptor)


Sets up this object to dock molecules into a receptor.

This function returns true if setup was successful and false otherwise.

receptor
A receptor describing the active site of the target protein (see Receptors chapter). This object does not depend upon receptor once this call is completed (i.e. receptor can be destroyed after calling this method).

Note: This method can take several minuites to complete with larger active sites.

## DockMultiConformerMolecule¶

Both overloads of this method dock inputMol into the receptor passed to the OEHybrid.Initialize method.

The return value of this method describes the result of the docking, with a value from the OEDockingReturnCode namespace. A results of OEDockingReturnCode.Success indicates docking was successful.

unsigned int DockMultiConformerMolecule(OEChem::OEMolBase& dockedMol,
const OEChem::OEMCMolBase& inputMol)


This overload of OEHybrid.DockMultiConformerMolecule returns the top scoring pose.

dockedMol
Top scoring docked pose of inputMol.
inputMol
A multiconformer representation of a molecule to dock.

The score of the docked pose can be obtained by calling the GetEnergy method of dockedMol.

unsigned int DockMultiConformerMolecule(OEChem::OEMCMolBase& dockedMol,
const OEChem::OEMCMolBase& inputMol,
unsigned int numPoses = 1)


This overload of OEHybrid.DockMultiConformerMolecule can return alternate docked poses, in addition to the top scoring pose.

the top scoring poses.

dockedMol
Docked poses of inputMol. Poses are stored as conformers of the OEMCMolBase and are be sorted score.
inputMol
A multiconformer representation of a molecule to dock.
numPoses
Maximum number of top scoring docked poses to return in dockedMol. Typically this will be the number of poses returned, however, in highly restricted sites fewer than numPoses may be returned. The value of numPoses must be greater than zero.

The score of the docked poses can be obtained by calling the GetEnergy method on the conformers of dockedMol.

## GetHighScoresAreBetter¶

bool GetHighScoresAreBetter() const


Returns true if higher scores indicate a better result.

Returns false if lower scores indicate a better result.

## GetName¶

std::string GetName() const ;


Returns the name of the scoring functions docked poses are scored with.

## GetComponentNames¶

OESystem::OEIterBase<const std::string>* GetComponentNames() const


## ScoreLigand¶

float ScoreLigand(const OEChem::OEMolBase& pose)


Rescores a pose within the active site.

pose
Structure of a pose within the active site

If an error occurs this function will return FLT_MAX if OEHybrid.GetHighScoresAreBetter returns false or -FLT_MAX otherwise.

## ScoreAtom¶

float ScoreAtom(const OEChem::OEAtomBase& atom,
const OEChem::OEMolBase& pose)


Returns the score of an atom of a given pose within the active site.

atom
Atom of pose to score.
pose
Structure of a pose within the active site

If an error occurs this function will return FLT_MAX if OEHybrid.GetHighScoresAreBetter returns false or -FLT_MAX otherwise.

## ScoreLigandComponent¶

float ScoreLigandComponent(const OEChem::OEMolBase& pose,
std::string compName)


Returns the given components contribution to the total score.

pose
Structure of a pose within the active site
compName
Name of the score component to report. Name must be one returned by OEHybrid.GetComponentNames.

If an error occurs this function will return FLT_MAX if OEHybrid.GetHighScoresAreBetter returns false or -FLT_MAX otherwise.

## ScoreAtomComponent¶

float ScoreAtomComponent(const OEChem::OEAtomBase& atom,
const OEChem::OEMolBase& pose,
std::string compName)


Returns the given components contribution to the score of a given atom score.

atom
Atom of pose to score.
pose
Structure of a pose within the active site
compName
Name of the score component to report. Name must be one returned by OEHybrid.GetComponentNames.

If an error occurs this function will return FLT_MAX if OEHybrid.GetHighScoresAreBetter returns false or -FLT_MAX otherwise.

## AnnotatePose¶

Adds VIDA scoring annotation to the pose or poses passed.

The annotated poses must be written out in either oeb or oeb.gz format and are only viewable in VIDA.

bool AnnotatePose(OEChem::OEMolBase& pose)


This overload of OEHybrid.AnnotatePose annotates a single pose.

pose
Structure of a pose within the active site
bool AnnotatePose(OEChem::OEMCMolBase& poses)


This overload of OEHybrid.AnnotatePose annotates all poses of a given ligand.

poses
An OEMCMolBase the conformers of which are poses within the active site.

## CacheScoringSetup¶

This function caches the current scoring setup of the OEHybrid object onto a receptor object. When another OEHybrid object is initialized with this receptor the it will read in the cached score data rather than recalculating it from scratch, thus improving the startup time of the OEHybrid object.

bool CacheScoringSetup(OEChem::OEMolBase& receptor, bool clearOldData = true)

receptor
A receptor object. This must be the same receptor object the OEHybrid object was initialized with or an exact copy.
clearOldData
Flag to clear cached data from a prior call to CacheScoringSetup with this receptor. The cached data can be quite sizable (hundreds of megabytes), so leaving this flag at the default value of true is recommended.

Note

The cached score data on a receptor will be saved when the receptor is written to a file.