Chemical Data Processing Library C++ API - Version 1.4.0
Public Types | Public Member Functions | Static Public Attributes | List of all members
CDPL::Descr::KuvekPocketDescriptorCalculator Class Reference

Implements the algorithm devised by Kuvek et al. [KBPD] for the calculation of receptor binding pocket shape and surface electrostatics descriptors. More...

#include <KuvekPocketDescriptorCalculator.hpp>

Public Types

typedef std::function< double(const Chem::Atom &)> AtomChargeFunction
 Type of the generic functor used to retrieve the partial charge of an atom. More...
 

Public Member Functions

 KuvekPocketDescriptorCalculator (double sphere_radius=DEF_PROBE_RADIUS, std::size_t num_test_vecs=DEF_NUM_TEST_VECTORS, double max_atom_to_sphr_surf_dist=DEF_MAX_ATOM_TO_SPHERE_SURF_DIST)
 Constructs a KuvekPocketDescriptorCalculator instance with the given configuration. More...
 
void setSphereRadius (double radius)
 Sets the probe sphere radius. More...
 
double getSphereRadius () const
 Returns the currently configured probe sphere radius. More...
 
void setMaxAtomToSphereSurfaceDistance (double dist)
 Sets the maximum distance between an atom and the probe sphere surface for the atom to contribute. More...
 
double getMaxAtomToSphereSurfaceDistance () const
 Returns the currently configured maximum atom-to-sphere-surface distance. More...
 
void setNumTestVectors (std::size_t num_vectors)
 Sets the number of test vectors used to sample the probe sphere surface. More...
 
std::size_t getNumTestVectors () const
 Returns the currently configured number of test vectors. More...
 
const Math::Vector3DgetTestVector (std::size_t idx)
 Returns the test vector at index idx (generated on demand). More...
 
void setAtom3DCoordinatesFunction (const Chem::Atom3DCoordinatesFunction &func)
 Specifies a function for the retrieval of atom 3D-coordinates. More...
 
const Chem::Atom3DCoordinatesFunctiongetAtom3DCoordinatesFunction () const
 Returns the function used for the retrieval of atom 3D-coordinates. More...
 
void setAtomChargeFunction (const AtomChargeFunction &func)
 Specifies a function for the retrieval of atom charges. More...
 
const AtomChargeFunctiongetAtomChargeFunction () const
 Returns the function used for the retrieval of atom charges. More...
 
void calculate (const Math::Vector3D &sphere_ctr, const Chem::AtomContainer &atoms, Math::DVector &descr)
 Calculates the Kuvek pocket descriptor at the given query position. More...
 

Static Public Attributes

static constexpr double DEF_PROBE_RADIUS = 20.0
 Default radius of the probe sphere centered at the query position. More...
 
static constexpr double DEF_MAX_ATOM_TO_SPHERE_SURF_DIST = 2.0
 Default maximum distance between an atom and the probe sphere surface for the atom to contribute. More...
 
static constexpr std::size_t DEF_NUM_TEST_VECTORS = 492
 Default number of test vectors used to sample the probe sphere surface. More...
 

Detailed Description

Implements the algorithm devised by Kuvek et al. [KBPD] for the calculation of receptor binding pocket shape and surface electrostatics descriptors.

Since
1.3

Member Typedef Documentation

◆ AtomChargeFunction

Type of the generic functor used to retrieve the partial charge of an atom.

Constructor & Destructor Documentation

◆ KuvekPocketDescriptorCalculator()

CDPL::Descr::KuvekPocketDescriptorCalculator::KuvekPocketDescriptorCalculator ( double  sphere_radius = DEF_PROBE_RADIUS,
std::size_t  num_test_vecs = DEF_NUM_TEST_VECTORS,
double  max_atom_to_sphr_surf_dist = DEF_MAX_ATOM_TO_SPHERE_SURF_DIST 
)

Constructs a KuvekPocketDescriptorCalculator instance with the given configuration.

Parameters
sphere_radiusThe probe sphere radius.
num_test_vecsThe number of test vectors used to sample the probe sphere surface.
max_atom_to_sphr_surf_distThe maximum distance between an atom and the probe sphere surface for the atom to contribute.

Member Function Documentation

◆ setSphereRadius()

void CDPL::Descr::KuvekPocketDescriptorCalculator::setSphereRadius ( double  radius)

Sets the probe sphere radius.

Parameters
radiusThe probe sphere radius.

◆ getSphereRadius()

double CDPL::Descr::KuvekPocketDescriptorCalculator::getSphereRadius ( ) const

Returns the currently configured probe sphere radius.

Returns
The configured probe sphere radius.

◆ setMaxAtomToSphereSurfaceDistance()

void CDPL::Descr::KuvekPocketDescriptorCalculator::setMaxAtomToSphereSurfaceDistance ( double  dist)

Sets the maximum distance between an atom and the probe sphere surface for the atom to contribute.

Parameters
distThe maximum distance to the probe sphere surface.

◆ getMaxAtomToSphereSurfaceDistance()

double CDPL::Descr::KuvekPocketDescriptorCalculator::getMaxAtomToSphereSurfaceDistance ( ) const

Returns the currently configured maximum atom-to-sphere-surface distance.

Returns
The configured maximum distance.

◆ setNumTestVectors()

void CDPL::Descr::KuvekPocketDescriptorCalculator::setNumTestVectors ( std::size_t  num_vectors)

Sets the number of test vectors used to sample the probe sphere surface.

Parameters
num_vectorsThe number of test vectors.

◆ getNumTestVectors()

std::size_t CDPL::Descr::KuvekPocketDescriptorCalculator::getNumTestVectors ( ) const

Returns the currently configured number of test vectors.

Returns
The configured number of test vectors.

◆ getTestVector()

const Math::Vector3D& CDPL::Descr::KuvekPocketDescriptorCalculator::getTestVector ( std::size_t  idx)

Returns the test vector at index idx (generated on demand).

Parameters
idxThe test vector index.
Returns
A const reference to the test vector.
Exceptions
Base::IndexErrorif the number of test vectors is zero or idx is not in the range [0, getNumTestVectors() - 1].

◆ setAtom3DCoordinatesFunction()

void CDPL::Descr::KuvekPocketDescriptorCalculator::setAtom3DCoordinatesFunction ( const Chem::Atom3DCoordinatesFunction func)

Specifies a function for the retrieval of atom 3D-coordinates.

Parameters
funcThe atom 3D-coordinates function.

◆ getAtom3DCoordinatesFunction()

const Chem::Atom3DCoordinatesFunction& CDPL::Descr::KuvekPocketDescriptorCalculator::getAtom3DCoordinatesFunction ( ) const

Returns the function used for the retrieval of atom 3D-coordinates.

Returns
The configured atom 3D-coordinates function.

◆ setAtomChargeFunction()

void CDPL::Descr::KuvekPocketDescriptorCalculator::setAtomChargeFunction ( const AtomChargeFunction func)

Specifies a function for the retrieval of atom charges.

Parameters
funcThe atom charge retrieval function.
Note
By default, formal charges will be used.

◆ getAtomChargeFunction()

const AtomChargeFunction& CDPL::Descr::KuvekPocketDescriptorCalculator::getAtomChargeFunction ( ) const

Returns the function used for the retrieval of atom charges.

Returns
The configured atom charge function.

◆ calculate()

void CDPL::Descr::KuvekPocketDescriptorCalculator::calculate ( const Math::Vector3D sphere_ctr,
const Chem::AtomContainer atoms,
Math::DVector descr 
)

Calculates the Kuvek pocket descriptor at the given query position.

Parameters
sphere_ctrThe 3D position of the probe sphere center.
atomsThe atoms used as the environment for the calculation.
descrThe output descriptor vector.

Member Data Documentation

◆ DEF_PROBE_RADIUS

constexpr double CDPL::Descr::KuvekPocketDescriptorCalculator::DEF_PROBE_RADIUS = 20.0
staticconstexpr

Default radius of the probe sphere centered at the query position.

◆ DEF_MAX_ATOM_TO_SPHERE_SURF_DIST

constexpr double CDPL::Descr::KuvekPocketDescriptorCalculator::DEF_MAX_ATOM_TO_SPHERE_SURF_DIST = 2.0
staticconstexpr

Default maximum distance between an atom and the probe sphere surface for the atom to contribute.

◆ DEF_NUM_TEST_VECTORS

constexpr std::size_t CDPL::Descr::KuvekPocketDescriptorCalculator::DEF_NUM_TEST_VECTORS = 492
staticconstexpr

Default number of test vectors used to sample the probe sphere surface.


The documentation for this class was generated from the following file: