10 #ifndef _RD_SHAPE_UTILS_H_20050128_
11 #define _RD_SHAPE_UTILS_H_20050128_
77 double tanimotoDistance(
const ROMol &mol1,
const ROMol &mol2,
int confId1=-1,
int confId2=-1,
78 double gridSpacing=0.5,
80 double vdwScale=0.8,
double stepSize=0.25,
int maxLayers=-1,
99 double tanimotoDistance(
const Conformer &conf1,
const Conformer &conf2,
double gridSpacing=0.5,
101 double vdwScale=0.8,
double stepSize=0.25,
int maxLayers=-1,
bool ignoreHs=
true);
124 double protrudeDistance(
const ROMol &mol1,
const ROMol &mol2,
int confId1=-1,
int confId2=-1,
125 double gridSpacing=0.5,
127 double vdwScale=0.8,
double stepSize=0.25,
int maxLayers=-1,
128 bool ignoreHs=
true,
bool allowReordering=
true);
148 double protrudeDistance(
const Conformer &conf1,
const Conformer &conf2,
double gridSpacing=0.5,
150 double vdwScale=0.8,
double stepSize=0.25,
int maxLayers=-1,
bool ignoreHs=
true,
151 bool allowReordering=
true);
DiscreteValueType
used to define the possible range of the values
void computeUnionBox(const RDGeom::Point3D &leftBottom1, const RDGeom::Point3D &rightTop1, const RDGeom::Point3D &leftBottom2, const RDGeom::Point3D &rightTop2, RDGeom::Point3D &uLeftBottom, RDGeom::Point3D &uRightTop)
Compute the union of two boxes.
std::vector< double > getConfDimensions(const Conformer &conf, double padding=2.5, const RDGeom::Point3D *center=0, bool ignoreHs=true)
Compute dimensions of a conformer.
void computeConfBox(const Conformer &conf, RDGeom::Point3D &leftBottom, RDGeom::Point3D &rightTop, const RDGeom::Transform3D *trans=0, double padding=2.5)
Compute the a box that will fit the confomer.
double protrudeDistance(const ROMol &mol1, const ROMol &mol2, int confId1=-1, int confId2=-1, double gridSpacing=0.5, DiscreteValueVect::DiscreteValueType bitsPerPoint=DiscreteValueVect::TWOBITVALUE, double vdwScale=0.8, double stepSize=0.25, int maxLayers=-1, bool ignoreHs=true, bool allowReordering=true)
Compute the shape protrusion distance between two molecule based on a predefined alignment.
Includes a bunch of functionality for handling Atom and Bond queries.
void computeConfDimsAndOffset(const Conformer &conf, RDGeom::Point3D &dims, RDGeom::Point3D &offSet, const RDGeom::Transform3D *trans=0, double padding=2.5)
double tanimotoDistance(const ROMol &mol1, const ROMol &mol2, int confId1=-1, int confId2=-1, double gridSpacing=0.5, DiscreteValueVect::DiscreteValueType bitsPerPoint=DiscreteValueVect::TWOBITVALUE, double vdwScale=0.8, double stepSize=0.25, int maxLayers=-1, bool ignoreHs=true)
Compute the shape tanimoto distance between two molecule based on a predefined alignment.