Interaction Perception

OEBio TK provides the following APIs to perceive protein-ligand interactions:

OEPerceiveInteractionHints
The function that perceives protein-ligand interactions.
OEPerceiveInteractionOptions

The class that stores the parameters that control the interaction perception.

The default geometric parameters have been set based on literature data ([Kumar-2002], [Cavallo-2016], [Bissantz-2010], and [Marcou-2007] ).

Interaction Hint Container

Interactions perceived by the OEPerceiveInteractionHints function are stored in an OEInteractionHintContainer object. The architecture of the OEInteractionHintContainer class is depicted in Schematic representation of interaction hint container.

Schematic representation of interaction hint container

OEInteractionHintContainer
This is the main container that stores typed molecules (OEMolBase), fragments of those molecules (OEInteractionHintFragment) and typed interactions (OEInteractionHint) between the fragments.
OEInteractionHintComponentTypeBase

The abstract class that enables to type molecules stored in the interaction container. Each molecule added to the container has to have a specific type. Currently, there are two built-in component types available:

OEInteractionHintFragment
Set of atoms of a molecule that is stored in the interaction container. These are the atoms that are contribute to an interaction (OEInteractionHint). Some interactions such as hydrogen bonds are between two atoms, other ones define interactions between set of atoms. For example a stacking interaction is between atoms of two aromatic ring systems.
OEInteractionHint
An iteration is defined between two fragments (OEInteractionHintFragment) stored in the container. An interaction can be either inter (OEInteractionHint::IsInter) or intra (OEInteractionHint::IsIntra) molecular. Each interaction has a specific type that is derived from the OEInteractionHintTypeBase class.
OEInteractionHintTypeBase

The abstract class that enables to type interactions stored in the interaction container. The table below shows the specific interaction types currently available in OEBio TK. Some interaction classes are also associated with namespaces that enable to subtype the main interaction types. For example, the stacking interaction have two subtypes:

Interaction types currently available in OEBio TK
name corresponding interaction class corresponding interaction type namespace
cation-pi OECationPiInteractionHint OECationPiInteractionHintType
chelator OEChelatorInteractionHint OEChelatorInteractionHintType
clash OEClashInteractionHint None
contact OEContactInteractionHint None
covalent OECovalentInteractionHint None
halogen bond OEHalogenBondInteractionHint OEHalogenBondInteractionHintType
hydrogen bond OEHBondInteractionHint OEHBondInteractionHintType
salt-bridge OESaltBridgeInteractionHint OESaltBridgeInteractionHintType
stacking (T and Pi) OEStackingInteractionHint OEStackingInteractionHintType

Other related APIs:

OEIsValidActiveSite
This function checks whether the interaction container initialized correctly as active site i.e. containing two molecules: one typed as ligand and one typed as protein.
OEGetActiveSiteInteractionHintTypes
This function iterates over all interaction types (including subtypes) that are perceived by the OEPerceiveInteractionHints function.

Code Examples

Interaction Hint Predicates

The table below list all interaction predicates that are currently available in OEBio TK.

OEBio TK interaction predicates
Access interactions Functor Name
with given interaction type OEHasInteractionHintType
with given atom OEHasInteractionHint
with given residue OEHasResidueInteractionHint
contact OEIsContactInteractionHint
hydrogen bond OEIsHBondInteractionHint
inter-molecular hydrogen bond OEIsIntermolecularHBondInteractionHint
intra-molecular hydrogen bond OEIsIntramolecularHBondInteractionHint
chelator OEIsChelatorInteractionHint
inter-molecular chelator OEIsIntermolecularChelatorInteractionHint
intra-molecular chelator OEIsIntramolecularChelatorInteractionHint
covalent OEIsCovalentInteractionHint
clash OEIsClashInteractionHint
salt-bridge OEIsSaltBridgeInteractionHint
T and Pi-stacking OEIsStackingInteractionHint
cation-Pi OEIsCationPiInteractionHint
halogen bond OEIsHalogenBondInteractionHint
inter-molecular OEIsInterInteractionHint
intra-molecular OEIsIntraInteractionHint
unpaired ligand OEIsUnpairedLigandInteractionHint
unpaired protein OEIsUnpairedProteinInteractionHint

The following logical operations allow to combine both the built-in and the user defined interaction predicates.

Interaction Composite Functors
Composite Functor Description
OENot logical not
OEOr logical or
OEAnd logical and