![]() |
Chemical Data Processing Library C++ API - Version 1.4.0
|
Calculation of GRAIL descriptors for protein-ligand complexes. More...
#include <GRAILDescriptorCalculator.hpp>
Public Types | |
| enum | ElementIndex { PI_COUNT , NI_COUNT , AR_COUNT , H_COUNT , HBD_COUNT , HBA_COUNT , XBD_COUNT , XBA_COUNT , HVY_ATOM_COUNT , ROT_BOND_COUNT , TOTAL_HYD , LOGP , TPSA , ENV_HBA_OCC_SUM , ENV_HBA_OCC_MAX , ENV_HBD_OCC_SUM , ENV_HBD_OCC_MAX , PI_AR_SCORE_SUM , PI_AR_SCORE_MAX , AR_PI_SCORE_SUM , AR_PI_SCORE_MAX , H_H_SCORE_SUM , H_H_SCORE_MAX , AR_AR_SCORE_SUM , AR_AR_SCORE_MAX , HBD_HBA_SCORE_SUM , HBD_HBA_SCORE_MAX , HBA_HBD_SCORE_SUM , HBA_HBD_SCORE_MAX , XBD_XBA_SCORE_SUM , XBD_XBA_SCORE_MAX , ES_ENERGY , ES_ENERGY_SQRD_DIST , VDW_ENERGY_ATT , VDW_ENERGY_REP } |
| Indices of the individual elements of the GRAIL descriptor vector. More... | |
| typedef std::shared_ptr< GRAILDescriptorCalculator > | SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated GRAILDescriptorCalculator instances. More... | |
Public Member Functions | |
| GRAILDescriptorCalculator () | |
Constructs the GRAILDescriptorCalculator instance. More... | |
| GRAILDescriptorCalculator (const GRAILDescriptorCalculator &calc) | |
Constructs a copy of the GRAILDescriptorCalculator instance calc. More... | |
| ~GRAILDescriptorCalculator () | |
| Destructor. More... | |
| GRAILDescriptorCalculator & | operator= (const GRAILDescriptorCalculator &calc) |
| Copy assignment operator. More... | |
| void | initTargetData (const Chem::MolecularGraph &tgt_env, const Chem::Atom3DCoordinatesFunction &coords_func, bool tgt_env_changed=true) |
| Initializes the calculator with target-environment data for subsequent descriptor calculations. More... | |
| void | initLigandData (const Chem::MolecularGraph &ligand) |
| Initializes the calculator with the molecular graph of the ligand. More... | |
| void | calculate (const Math::Vector3DArray &atom_coords, Math::DVector &descr, bool update_lig_part=true) |
| Calculates the GRAIL descriptor for the current ligand pose. More... | |
Static Public Attributes | |
| static constexpr std::size_t | TOTAL_DESCRIPTOR_SIZE = 35 |
| Total number of elements in the calculated descriptor vector. More... | |
| static constexpr std::size_t | LIGAND_DESCRIPTOR_SIZE = 13 |
Number of ligand-only descriptor elements (the first LIGAND_DESCRIPTOR_SIZE entries of the vector). More... | |
Calculation of GRAIL descriptors for protein-ligand complexes.
The descriptor is a vector of 35 elements that captures ligand-only properties (counts of pharmacophore features, heavy atoms, rotatable bonds, \( \log P \), \( TPSA \), etc.) and target-environment-specific scores (HBA/HBD occupancy sums and maxima, pi/aromatic/hydrophobic/halogen-bonding interaction scores, and electrostatic
| typedef std::shared_ptr<GRAILDescriptorCalculator> CDPL::GRAIL::GRAILDescriptorCalculator::SharedPointer |
A reference-counted smart pointer [SHPTR] for dynamically allocated GRAILDescriptorCalculator instances.
Indices of the individual elements of the GRAIL descriptor vector.
| CDPL::GRAIL::GRAILDescriptorCalculator::GRAILDescriptorCalculator | ( | ) |
Constructs the GRAILDescriptorCalculator instance.
| CDPL::GRAIL::GRAILDescriptorCalculator::GRAILDescriptorCalculator | ( | const GRAILDescriptorCalculator & | calc | ) |
Constructs a copy of the GRAILDescriptorCalculator instance calc.
| calc | The GRAILDescriptorCalculator to copy. |
| CDPL::GRAIL::GRAILDescriptorCalculator::~GRAILDescriptorCalculator | ( | ) |
Destructor.
| GRAILDescriptorCalculator& CDPL::GRAIL::GRAILDescriptorCalculator::operator= | ( | const GRAILDescriptorCalculator & | calc | ) |
Copy assignment operator.
| calc | The other GRAILDescriptorCalculator instance. |
| void CDPL::GRAIL::GRAILDescriptorCalculator::initTargetData | ( | const Chem::MolecularGraph & | tgt_env, |
| const Chem::Atom3DCoordinatesFunction & | coords_func, | ||
| bool | tgt_env_changed = true |
||
| ) |
Initializes the calculator with target-environment data for subsequent descriptor calculations.
| tgt_env | The target environment (e.g. binding-site residues). |
| coords_func | The function used to retrieve atom 3D-coordinates from tgt_env. |
| tgt_env_changed | If true, the target environment is reinitialized even if the same target was supplied previously. |
| void CDPL::GRAIL::GRAILDescriptorCalculator::initLigandData | ( | const Chem::MolecularGraph & | ligand | ) |
Initializes the calculator with the molecular graph of the ligand.
| ligand | The ligand molecular graph. |
| void CDPL::GRAIL::GRAILDescriptorCalculator::calculate | ( | const Math::Vector3DArray & | atom_coords, |
| Math::DVector & | descr, | ||
| bool | update_lig_part = true |
||
| ) |
Calculates the GRAIL descriptor for the current ligand pose.
The pose is supplied via per-atom 3D coordinates in atom_coords (same order as the atoms of the molecular graph passed to initLigandData()). The result is written to descr.
| atom_coords | The 3D coordinates of the ligand atoms. |
| descr | The output descriptor vector (resized to TOTAL_DESCRIPTOR_SIZE). |
| update_lig_part | If true, the ligand-only part of the descriptor is recomputed. |
|
staticconstexpr |
Total number of elements in the calculated descriptor vector.
|
staticconstexpr |
Number of ligand-only descriptor elements (the first LIGAND_DESCRIPTOR_SIZE entries of the vector).