Chemical Data Processing Library C++ API - Version 1.2.0
Classes | Functions
CDPL::Descr Namespace Reference

Contains classes and functions related to the generation and processing of pharmacophore and molecule descriptors. More...

Classes

class  AtomAutoCorrelation3DVectorCalculator
 AtomAutoCorrelation3DVectorCalculator. More...
 
class  AtomRDFCodeCalculator
 AtomRDFCodeCalculator. More...
 
class  AutoCorrelation2DVectorCalculator
 AutoCorrelation2DVectorCalculator. More...
 
class  AutoCorrelation3DVectorCalculator
 AutoCorrelation3DVectorCalculator. More...
 
class  BCUTDescriptorCalculator
 BCUTDescriptorCalculator. More...
 
class  BurdenMatrixGenerator
 BurdenMatrixGenerator. More...
 
class  CircularFingerprintGenerator
 CircularFingerprintGenerator. More...
 
class  FeatureAutoCorrelation3DVectorCalculator
 FeatureAutoCorrelation3DVectorCalculator. More...
 
class  FeatureRDFCodeCalculator
 FeatureRDFCodeCalculator. More...
 
class  MACCSFingerprintGenerator
 Generation of 166 bit MACCS key fingerprints. More...
 
class  MolecularComplexityCalculator
 MolecularComplexityCalculator. More...
 
class  MoleculeAutoCorr2DDescriptorCalculator
 MoleculeAutoCorr2DDescriptorCalculator. More...
 
class  MoleculeAutoCorr3DDescriptorCalculator
 MoleculeAutoCorr3DDescriptorCalculator. More...
 
class  MoleculeRDFDescriptorCalculator
 MoleculeRDFDescriptorCalculator. More...
 
class  NPoint2DPharmacophoreFingerprintGenerator
 NPoint2DPharmacophoreFingerprintGenerator. More...
 
class  NPoint3DPharmacophoreFingerprintGenerator
 NPoint3DPharmacophoreFingerprintGenerator. More...
 
class  NPointPharmacophoreFingerprintGenerator
 NPointPharmacophoreFingerprintGenerator. More...
 
class  PathFingerprintGenerator
 PathFingerprintGenerator. More...
 
class  PharmacophoreAutoCorr3DDescriptorCalculator
 PharmacophoreAutoCorr3DDescriptorCalculator. More...
 
class  PharmacophoreRDFDescriptorCalculator
 PharmacophoreRDFDescriptorCalculator. More...
 
class  PubChemFingerprintGenerator
 Generation of 881 bit PubChem fingerprints. More...
 
class  RDFCodeCalculator
 RDFCodeCalculator. More...
 

Functions

CDPL_DESCR_API double calcGeometricalRadius (const Chem::AtomContainer &cntnr, const Chem::Atom3DCoordinatesFunction &coords_func)
 
CDPL_DESCR_API double calcGeometricalDiameter (const Chem::AtomContainer &cntnr, const Chem::Atom3DCoordinatesFunction &coords_func)
 
CDPL_DESCR_API double calcGeometricalRadius (const Chem::Entity3DContainer &cntnr)
 
CDPL_DESCR_API double calcGeometricalDiameter (const Chem::Entity3DContainer &cntnr)
 
CDPL_DESCR_API std::size_t calcTopologicalRadius (const Chem::MolecularGraph &molgraph)
 
CDPL_DESCR_API std::size_t calcTopologicalDiameter (const Chem::MolecularGraph &molgraph)
 
CDPL_DESCR_API double calcRingComplexity (const Chem::MolecularGraph &molgraph)
 
CDPL_DESCR_API double calcMolecularComplexity (const Chem::MolecularGraph &molgraph)
 
CDPL_DESCR_API double calcKierShape1 (const Chem::MolecularGraph &molgraph)
 
CDPL_DESCR_API double calcKierShape2 (const Chem::MolecularGraph &molgraph)
 
CDPL_DESCR_API double calcKierShape3 (const Chem::MolecularGraph &molgraph)
 
CDPL_DESCR_API std::size_t calcWienerIndex (const Chem::MolecularGraph &molgraph)
 
CDPL_DESCR_API double calcRandicIndex (const Chem::MolecularGraph &molgraph)
 
CDPL_DESCR_API std::size_t calcZagrebIndex1 (const Chem::MolecularGraph &molgraph)
 
CDPL_DESCR_API std::size_t calcZagrebIndex2 (const Chem::MolecularGraph &molgraph)
 
CDPL_DESCR_API std::size_t calcTotalWalkCount (const Chem::MolecularGraph &molgraph)
 
CDPL_DESCR_API double calcTanimotoSimilarity (const Util::BitSet &bs1, const Util::BitSet &bs2)
 Calculates the Tanimoto Similarity Measure [CITB] for the given bitsets bs1 and bs2. More...
 
CDPL_DESCR_API double calcCosineSimilarity (const Util::BitSet &bs1, const Util::BitSet &bs2)
 Calculates the Cosine Similarity Measure [WCOS] for the given bitsets bs1 and bs2. More...
 
CDPL_DESCR_API double calcEuclideanSimilarity (const Util::BitSet &bs1, const Util::BitSet &bs2)
 Calculates the Euclidean Similarity Measure [GSIM] for the given bitsets bs1 and bs2. More...
 
CDPL_DESCR_API double calcManhattanSimilarity (const Util::BitSet &bs1, const Util::BitSet &bs2)
 Calculates the Manhattan Similarity Measure [GSIM] for the given bitsets bs1 and bs2. More...
 
CDPL_DESCR_API double calcDiceSimilarity (const Util::BitSet &bs1, const Util::BitSet &bs2)
 Calculates the Dice Similarity Measure [GSIM] for the given bitsets bs1 and bs2. More...
 
CDPL_DESCR_API double calcTverskySimilarity (const Util::BitSet &bs1, const Util::BitSet &bs2, double a, double b)
 Calculates the Tversky Similarity Measure [GSIM] for the given bitsets bs1 and bs2. More...
 
CDPL_DESCR_API std::size_t calcHammingDistance (const Util::BitSet &bs1, const Util::BitSet &bs2)
 Calculates the Hamming Distance [WHAM, CITB] between the bitsets bs1 and bs2. More...
 
CDPL_DESCR_API double calcEuclideanDistance (const Util::BitSet &bs1, const Util::BitSet &bs2)
 Calculates the Euclidean Distance [CITB] between the bitsets bs1 and bs2. More...
 

Detailed Description

Contains classes and functions related to the generation and processing of pharmacophore and molecule descriptors.

Function Documentation

◆ calcGeometricalRadius() [1/2]

CDPL_DESCR_API double CDPL::Descr::calcGeometricalRadius ( const Chem::AtomContainer cntnr,
const Chem::Atom3DCoordinatesFunction coords_func 
)

◆ calcGeometricalDiameter() [1/2]

CDPL_DESCR_API double CDPL::Descr::calcGeometricalDiameter ( const Chem::AtomContainer cntnr,
const Chem::Atom3DCoordinatesFunction coords_func 
)

◆ calcGeometricalRadius() [2/2]

CDPL_DESCR_API double CDPL::Descr::calcGeometricalRadius ( const Chem::Entity3DContainer cntnr)

◆ calcGeometricalDiameter() [2/2]

CDPL_DESCR_API double CDPL::Descr::calcGeometricalDiameter ( const Chem::Entity3DContainer cntnr)

◆ calcTopologicalRadius()

CDPL_DESCR_API std::size_t CDPL::Descr::calcTopologicalRadius ( const Chem::MolecularGraph molgraph)

◆ calcTopologicalDiameter()

CDPL_DESCR_API std::size_t CDPL::Descr::calcTopologicalDiameter ( const Chem::MolecularGraph molgraph)

◆ calcRingComplexity()

CDPL_DESCR_API double CDPL::Descr::calcRingComplexity ( const Chem::MolecularGraph molgraph)

◆ calcMolecularComplexity()

CDPL_DESCR_API double CDPL::Descr::calcMolecularComplexity ( const Chem::MolecularGraph molgraph)

◆ calcKierShape1()

CDPL_DESCR_API double CDPL::Descr::calcKierShape1 ( const Chem::MolecularGraph molgraph)

◆ calcKierShape2()

CDPL_DESCR_API double CDPL::Descr::calcKierShape2 ( const Chem::MolecularGraph molgraph)

◆ calcKierShape3()

CDPL_DESCR_API double CDPL::Descr::calcKierShape3 ( const Chem::MolecularGraph molgraph)

◆ calcWienerIndex()

CDPL_DESCR_API std::size_t CDPL::Descr::calcWienerIndex ( const Chem::MolecularGraph molgraph)

◆ calcRandicIndex()

CDPL_DESCR_API double CDPL::Descr::calcRandicIndex ( const Chem::MolecularGraph molgraph)

◆ calcZagrebIndex1()

CDPL_DESCR_API std::size_t CDPL::Descr::calcZagrebIndex1 ( const Chem::MolecularGraph molgraph)

◆ calcZagrebIndex2()

CDPL_DESCR_API std::size_t CDPL::Descr::calcZagrebIndex2 ( const Chem::MolecularGraph molgraph)

◆ calcTotalWalkCount()

CDPL_DESCR_API std::size_t CDPL::Descr::calcTotalWalkCount ( const Chem::MolecularGraph molgraph)

◆ calcTanimotoSimilarity()

CDPL_DESCR_API double CDPL::Descr::calcTanimotoSimilarity ( const Util::BitSet bs1,
const Util::BitSet bs2 
)

Calculates the Tanimoto Similarity Measure [CITB] for the given bitsets bs1 and bs2.

The Tanimoto Similarity Measure \( S_{ab} \) is calculated by:

\[ S_{ab} = \frac{N_{ab}}{N_a + N_b - N_{ab}} \]

where \( N_{ab} \) is the number of bits that are set in both bitsets, \( N_a \) is the number of bits that are set in the first bitset and \( N_b \) is the number of bits that are set in the second bitset.

If the specified bitsets bs1 and bs2 are of different size, missing bits at the end of the smaller bitset are assumed to be zero.

Parameters
bs1The first bitset.
bs2The second bitset.
Returns
The calculated similarity measure.

◆ calcCosineSimilarity()

CDPL_DESCR_API double CDPL::Descr::calcCosineSimilarity ( const Util::BitSet bs1,
const Util::BitSet bs2 
)

Calculates the Cosine Similarity Measure [WCOS] for the given bitsets bs1 and bs2.

The Cosine Similarity Measure \( S_{ab} \) is calculated by:

\[ S_{ab} = \frac{N_{ab}}{\sqrt{N_a * N_b}} \]

where \( N_{ab} \) is the number of bits that are set in both bitsets, \( N_a \) is the number of bits that are set in the first bitset and \( N_b \) is the number of bits that are set in the second bitset.

If the specified bitsets bs1 and bs2 are of different size, missing bits at the end of the smaller bitset are assumed to be zero.

Parameters
bs1The first bitset.
bs2The second bitset.
Returns
The calculated similarity measure.

◆ calcEuclideanSimilarity()

CDPL_DESCR_API double CDPL::Descr::calcEuclideanSimilarity ( const Util::BitSet bs1,
const Util::BitSet bs2 
)

Calculates the Euclidean Similarity Measure [GSIM] for the given bitsets bs1 and bs2.

The Euclidean Similarity Measure \( S_{ab} \) is calculated by:

\[ S_{ab} = \sqrt{\frac{N_{ab} + N_{!ab}}{N_a + N_b + N_{ab} + N_{!ab}}} \]

where \( N_{ab} \) is the number of bits that are set in both bitsets, \( N_a \) is the number of bits that are set only in the first bitset, \( N_b \) is the number of bits that are set only in the second bitset and \( N_{!ab} \) is the number of bits that are not set in both bitsets.

If the specified bitsets bs1 and bs2 are of different size, missing bits at the end of the smaller bitset are assumed to be zero.

Parameters
bs1The first bitset.
bs2The second bitset.
Returns
The calculated similarity measure.

◆ calcManhattanSimilarity()

CDPL_DESCR_API double CDPL::Descr::calcManhattanSimilarity ( const Util::BitSet bs1,
const Util::BitSet bs2 
)

Calculates the Manhattan Similarity Measure [GSIM] for the given bitsets bs1 and bs2.

The Manhattan Similarity Measure \( S_{ab} \) is calculated by:

\[ S_{ab} = \frac{N_a + N_b}{N_a + N_b + N_{ab} + N_{!ab}} \]

where \( N_{ab} \) is the number of bits that are set in both bitsets, \( N_a \) is the number of bits that are set only in the first bitset, \( N_b \) is the number of bits that are set only in the second bitset and \( N_{!ab} \) is the number of bits that are not set in both bitsets.

If the specified bitsets bs1 and bs2 are of different size, missing bits at the end of the smaller bitset are assumed to be zero.

Parameters
bs1The first bitset.
bs2The second bitset.
Returns
The calculated similarity measure.

◆ calcDiceSimilarity()

CDPL_DESCR_API double CDPL::Descr::calcDiceSimilarity ( const Util::BitSet bs1,
const Util::BitSet bs2 
)

Calculates the Dice Similarity Measure [GSIM] for the given bitsets bs1 and bs2.

The Dice Similarity Measure \( S_{ab} \) is calculated by:

\[ S_{ab} = \frac{2 * N_{ab}}{N_a + N_b + 2 * N_{ab}} \]

where \( N_{ab} \) is the number of bits that are set in both bitsets, \( N_a \) is the number of bits that are only set in the first bitset and \( N_b \) is the number of bits that are only set in the second bitset.

If the specified bitsets bs1 and bs2 are of different size, missing bits at the end of the smaller bitset are assumed to be zero.

Parameters
bs1The first bitset.
bs2The second bitset.
Returns
The calculated similarity measure.

◆ calcTverskySimilarity()

CDPL_DESCR_API double CDPL::Descr::calcTverskySimilarity ( const Util::BitSet bs1,
const Util::BitSet bs2,
double  a,
double  b 
)

Calculates the Tversky Similarity Measure [GSIM] for the given bitsets bs1 and bs2.

The Tversky Similarity Measure \( S_{ab} \) is calculated by:

\[ S_{ab} = \frac{N_{ab}}{a * N_a + b * N_b + N_{ab}} \]

where \( N_{ab} \) is the number of bits that are set in both bitsets, \( N_a \) is the number of bits that are only set in the first bitset and \( N_b \) is the number of bits that are only set in the second bitset. \( a \) and \( b \) are bitset contribution weighting factors.

The Tversky Measure is asymmetric. Setting the parameters \( a = b = 1.0 \) is identical to using the Tanimoto measure.

If the specified bitsets bs1 and bs2 are of different size, missing bits at the end of the smaller bitset are assumed to be zero.

Parameters
bs1The first bitset.
bs2The second bitset.
aWeights the contribution of the first bitset.
bWeights the contribution of the second bitset.
Returns
The calculated similarity measure.

◆ calcHammingDistance()

CDPL_DESCR_API std::size_t CDPL::Descr::calcHammingDistance ( const Util::BitSet bs1,
const Util::BitSet bs2 
)

Calculates the Hamming Distance [WHAM, CITB] between the bitsets bs1 and bs2.

The Hamming Distance \( D_{ab} \) is calculated by:

\[ D_{ab} = N_a + N_b \]

where \( N_a \) is the number of bits that are set in the first bitset but not in the second bitset and \( N_b \) is the number of bits that are set in the second bitset but not in the first one.

If the specified bitsets bs1 and bs2 are of different size, missing bits at the end of the smaller bitset are assumed to be zero.

Parameters
bs1The first bitset.
bs2The second bitset.
Returns
The calculated distance.

◆ calcEuclideanDistance()

CDPL_DESCR_API double CDPL::Descr::calcEuclideanDistance ( const Util::BitSet bs1,
const Util::BitSet bs2 
)

Calculates the Euclidean Distance [CITB] between the bitsets bs1 and bs2.

The Euclidean Distance \( D_{ab} \) is calculated by:

\[ D_{ab} = \sqrt{N_a + N_b} \]

where \( N_a \) is the number of bits that are set in the first bitset but not in the second bitset and \( N_b \) is the number of bits that are set in the second bitset but not in the first one.

If the specified bitsets bs1 and bs2 are of different size, missing bits at the end of the smaller bitset are assumed to be zero.

Parameters
bs1The first bitset.
bs2The second bitset.
Returns
The calculated distance.