RDKit::MolShapes Namespace Reference

## Functions

void | EncodeShape (const ROMol &mol, RDGeom::UniformGrid3D &grid, int confId=-1, const RDGeom::Transform3D *trans=0, double vdwScale=0.8, double stepSize=0.25, int maxLayers=-1, bool ignoreHs=true)
| Encode the shape of a molecule on to a grid. More...
void | EncodeShape (const Conformer &conf, RDGeom::UniformGrid3D &grid, const RDGeom::Transform3D *trans=0, double vdwScale=0.8, double stepSize=0.25, int maxLayers=-1, bool ignoreHs=true)
| Emcode the shape of a conformer on to a grid. More...
void | computeConfDimsAndOffset (const Conformer &conf, RDGeom::Point3D &dims, RDGeom::Point3D &offSet, const RDGeom::Transform3D *trans=0, double padding=2.5)
| Compute the size of the box that can fit the conformation, and offset of the. More...
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. More...
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. More...
std::vector< double > | getConfDimensions (const Conformer &conf, double padding=2.5, const RDGeom::Point3D *center=0, bool ignoreHs=true)
| Compute dimensions of a conformer. More...
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. More...
double | tanimotoDistance (const Conformer &conf1, const Conformer &conf2, 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 conformers based on a. More...
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. More...
double | protrudeDistance (const Conformer &conf1, const Conformer &conf2, 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 conformers based on a. More...

## Function Documentation

## computeConfBox()

void RDKit::MolShapes::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.

Parameters

  conf | The conformer of interest
  leftBottom | Storage for one extremity of the box
  rightTop | Storage for other extremity of the box
  trans | Optional transformation to be applied to the atom coordinates
  padding | Padding added on the sides around the conformer

## computeConfDimsAndOffset()

void RDKit::MolShapes::computeConfDimsAndOffset | ( | const Conformer & | conf,
|  | RDGeom::Point3D & | dims,
|  | RDGeom::Point3D & | offSet,
|  | const RDGeom::Transform3D * | trans = `0`,
|  | double | padding = `2.5`
| ) |  |

Compute the size of the box that can fit the conformation, and offset of the.

from the origin

## computeUnionBox()

void RDKit::MolShapes::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.

## EncodeShape() [1/2]

void RDKit::MolShapes::EncodeShape | ( | const ROMol & | mol,
|  | RDGeom::UniformGrid3D & | grid,
|  | int | confId = `-1`,
|  | const RDGeom::Transform3D * | trans = `0`,
|  | double | vdwScale = `0.8`,
|  | double | stepSize = `0.25`,
|  | int | maxLayers = `-1`,
|  | bool | ignoreHs = `true`
| ) |  |

Encode the shape of a molecule on to a grid.

Parameters

  mol | The molecule of interest
  grid | Grid onto which the molecule is encoded
  confId | Id of the conformation on the molecule to be encoded
  trans | Optional 3D transform to be applied to this conformation
  vdwScale | Scaling factor for the radius of the atoms to determine the base radius used in the encoding - grid points inside this sphere carry the maximum occupany
  stepSize | thickness of the layers outside the base radius, the occupancy value is decreased from layer to layer from the maximum value
  maxLayers | the maximum number of layers - defaults to the number allowed the number of bits use per grid point - e.g. two bits per grid point will allow 3 layers
  ignoreHs | if true, ignore the hydrogen atoms in the shape encoding process

## EncodeShape() [2/2]

void RDKit::MolShapes::EncodeShape | ( | const Conformer & | conf,
|  | RDGeom::UniformGrid3D & | grid,
|  | const RDGeom::Transform3D * | trans = `0`,
|  | double | vdwScale = `0.8`,
|  | double | stepSize = `0.25`,
|  | int | maxLayers = `-1`,
|  | bool | ignoreHs = `true`
| ) |  |

Emcode the shape of a conformer on to a grid.

Parameters

  conf | The conformer of interest
  grid | Grid onto which the molecule is encoded
  trans | Optional 3D transform to be applied to this conformation
  vdwScale | Scaling factor for the radius of the atoms to determine the base radius used in the encoding - grid points inside this sphere carry the maximum occupany
  stepSize | thickness of the layers outside the base radius, the occupancy value is decreased from layer to layer from the maximum value
  maxLayers | the maximum number of layers - defaults to the number allowed the number of bits use per grid point - e.g. two bits per grid point will allow 3 layers
  ignoreHs | if true, ignore the hydrogen atoms in the shape encoding process

## getConfDimensions()

std::vector<double> RDKit::MolShapes::getConfDimensions | ( | const Conformer & | conf,
|  | double | padding = `2.5`,
|  | const RDGeom::Point3D * | center = `0`,
|  | bool | ignoreHs = `true`
| ) |  |

Compute dimensions of a conformer.

Parameters

  conf | Conformer of interest
  padding | Padding added to the atom coordinates on all sides
  center | Optionally specify the center
  ignoreHs | if true, ignore the hydrogen atoms in computing the centroid

## protrudeDistance() [1/2]

double RDKit::MolShapes::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.

Parameters

  mol1 | The first molecule of interest
  mol2 | The second molecule of interest
  confId1 | Conformer in the first molecule (defaults to first conformer)
  confId2 | Conformer in the second molecule (defaults to first conformer)
  gridSpacing | resolution of the grid used to encode the molecular shapes
  bitsPerPoint | number of bit used to encode the occupancy at each grid point defaults to two bits per grid point
  vdwScale | Scaling factor for the radius of the atoms to determine the base radius used in the encoding - grid points inside this sphere carry the maximum occupany
  stepSize | thickness of the each layer outside the base radius, the occupancy value is decreased from layer to layer from the maximum value
  maxLayers | the maximum number of layers - defaults to the number allowed the number of bits use per grid point - e.g. two bits per grid point will allow 3 layers
  ignoreHs | if true, ignore the hydrogen atoms in the shape encoding process
  allowReordering | if set the order will be automatically updated so that the value calculated is the protrusion of the smaller shape from the larger one.

## protrudeDistance() [2/2]

double RDKit::MolShapes::protrudeDistance | ( | const Conformer & | conf1,
|  | const Conformer & | conf2,
|  | 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 conformers based on a.

Parameters

  conf1 | The first conformer of interest
  conf2 | The second conformer of interest
  gridSpacing | resolution of the grid used to encode the molecular shapes
  bitsPerPoint | number of bit used to encode the occupancy at each grid point
  vdwScale | Scaling factor for the radius of the atoms to determine the base radius used in the encoding - grid points inside this sphere carry the maximum occupany
  stepSize | thickness of the each layer outside the base radius, the occupancy value is decreased from layer to layer from the maximum value
  maxLayers | the maximum number of layers - defaults to the number allowed the number of bits use per grid point - e.g. two bits per grid point will allow 3 layers
  ignoreHs | if true, ignore the hydrogen atoms in the shape encoding process
  allowReordering | if set the order will be automatically updated so that the value calculated is the protrusion of the smaller shape from the larger one.

## tanimotoDistance() [1/2]

double RDKit::MolShapes::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.

Parameters

  mol1 | The first molecule of interest
  mol2 | The second molecule of interest
  confId1 | Conformer in the first molecule (defaults to first conformer)
  confId2 | Conformer in the second molecule (defaults to first conformer)
  gridSpacing | resolution of the grid used to encode the molecular shapes
  bitsPerPoint | number of bit used to encode the occupancy at each grid point defaults to two bits per grid point
  vdwScale | Scaling factor for the radius of the atoms to determine the base radius used in the encoding - grid points inside this sphere carry the maximum occupany
  stepSize | thickness of the each layer outside the base radius, the occupancy value is decreased from layer to layer from the maximum value
  maxLayers | the maximum number of layers - defaults to the number allowed the number of bits use per grid point - e.g. two bits per grid point will allow 3 layers
  ignoreHs | if true, ignore the hydrogen atoms in the shape encoding process

## tanimotoDistance() [2/2]

double RDKit::MolShapes::tanimotoDistance | ( | const Conformer & | conf1,
|  | const Conformer & | conf2,
|  | 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 conformers based on a.

Parameters

  conf1 | The first conformer of interest
  conf2 | The second conformer of interest
  gridSpacing | resolution of the grid used to encode the molecular shapes
  bitsPerPoint | number of bit used to encode the occupancy at each grid point
  vdwScale | Scaling factor for the radius of the atoms to determine the base radius used in the encoding - grid points inside this sphere carry the maximum occupany
  stepSize | thickness of the each layer outside the base radius, the occupancy value is decreased from layer to layer from the maximum value
  maxLayers | the maximum number of layers - defaults to the number allowed the number of bits use per grid point - e.g. two bits per grid point will allow 3 layers
  ignoreHs | if true, ignore the hydrogen atoms in the shape encoding process