29 #ifndef CDPL_DESCR_BURIEDNESSSCORE_HPP
30 #define CDPL_DESCR_BURIEDNESSSCORE_HPP
65 static constexpr
double DEF_PROBE_RADIUS = 20.0;
70 static constexpr
double DEF_MAX_ATOM_TO_SPHERE_SURF_DIST = 2.0;
75 static constexpr std::size_t DEF_NUM_TEST_VECTORS = 492;
89 std::size_t num_test_vecs = DEF_NUM_TEST_VECTORS,
90 double max_atom_to_sphr_surf_dist = DEF_MAX_ATOM_TO_SPHERE_SURF_DIST);
170 void genTestVectors();
172 typedef std::vector<Math::Vector3D> PointList;
175 std::size_t numTestVectors;
176 double maxAtomToSphereSurfDist;
179 PointList testVectors;
Type declaration of a generic wrapper class for storing user-defined Chem::Atom 3D-coordinates functi...
Definition of the preprocessor macro CDPL_DESCR_API.
#define CDPL_DESCR_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition of vector data types.
Common interface for data structures that support a random access to stored Chem::Atom instances.
Definition: AtomContainer.hpp:55
Abstract base class representing a chemical atom and its bonded neighborhood.
Definition: Atom.hpp:57
Implements the algorithm devised by Kuvek et al. [KBPD] for the calculation of receptor binding pocke...
Definition: KuvekPocketDescriptorCalculator.hpp:59
void setNumTestVectors(std::size_t num_vectors)
Sets the number of test vectors used to sample the probe sphere surface.
const Math::Vector3D & getTestVector(std::size_t idx)
Returns the test vector at index idx (generated on demand).
double getSphereRadius() const
Returns the currently configured probe sphere radius.
void setAtomChargeFunction(const AtomChargeFunction &func)
Specifies a function for the retrieval of atom charges.
const AtomChargeFunction & getAtomChargeFunction() const
Returns the function used for the retrieval of atom charges.
void calculate(const Math::Vector3D &sphere_ctr, const Chem::AtomContainer &atoms, Math::DVector &descr)
Calculates the Kuvek pocket descriptor at the given query position.
double getMaxAtomToSphereSurfaceDistance() const
Returns the currently configured maximum atom-to-sphere-surface distance.
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.
void setMaxAtomToSphereSurfaceDistance(double dist)
Sets the maximum distance between an atom and the probe sphere surface for the atom to contribute.
std::function< double(const Chem::Atom &)> AtomChargeFunction
Type of the generic functor used to retrieve the partial charge of an atom.
Definition: KuvekPocketDescriptorCalculator.hpp:80
void setAtom3DCoordinatesFunction(const Chem::Atom3DCoordinatesFunction &func)
Specifies a function for the retrieval of atom 3D-coordinates.
void setSphereRadius(double radius)
Sets the probe sphere radius.
std::size_t getNumTestVectors() const
Returns the currently configured number of test vectors.
const Chem::Atom3DCoordinatesFunction & getAtom3DCoordinatesFunction() const
Returns the function used for the retrieval of atom 3D-coordinates.
std::function< const Math::Vector3D &(const Chem::Atom &)> Atom3DCoordinatesFunction
Generic wrapper class used to store a user-defined Chem::Atom 3D-coordinates function.
Definition: Atom3DCoordinatesFunction.hpp:43
CVector< double, 3 > Vector3D
Bounded 3 element vector holding floating point values of type double.
Definition: Vector.hpp:2937
The namespace of the Chemical Data Processing Library.