RDKit
Open-source cheminformatics and machine learning.
RDGeom Namespace Reference

Classes

class  Grid3D
 Virtual base class for a grid object. More...
 
class  GridException
 
class  Point
 
class  Point2D
 
class  Point3D
 
class  PointND
 
class  Transform2D
 
class  Transform3D
 
class  UniformGrid3D
 

Typedefs

typedef std::vector< RDGeom::Point * > PointPtrVect
 
typedef PointPtrVect::iterator PointPtrVect_I
 
typedef PointPtrVect::const_iterator PointPtrVect_CI
 
typedef std::vector< RDGeom::Point3D * > Point3DPtrVect
 
typedef std::vector< RDGeom::Point2D * > Point2DPtrVect
 
typedef Point3DPtrVect::iterator Point3DPtrVect_I
 
typedef Point3DPtrVect::const_iterator Point3DPtrVect_CI
 
typedef Point2DPtrVect::iterator Point2DPtrVect_I
 
typedef Point2DPtrVect::const_iterator Point2DPtrVect_CI
 
typedef std::vector< const RDGeom::Point3D * > Point3DConstPtrVect
 
typedef Point3DConstPtrVect::iterator Point3DConstPtrVect_I
 
typedef Point3DConstPtrVect::const_iterator Point3DConstPtrVect_CI
 
typedef std::vector< Point3DPOINT3D_VECT
 
typedef std::vector< Point3D >::iterator POINT3D_VECT_I
 
typedef std::vector< Point3D >::const_iterator POINT3D_VECT_CI
 
typedef std::map< int, Point2DINT_POINT2D_MAP
 
typedef INT_POINT2D_MAP::iterator INT_POINT2D_MAP_I
 
typedef INT_POINT2D_MAP::const_iterator INT_POINT2D_MAP_CI
 

Enumerations

enum  AxisType { X_Axis, Y_Axis, Z_Axis }
 

Functions

template<class GRIDTYPE >
double tanimotoDistance (const GRIDTYPE &grid1, const GRIDTYPE &grid2)
 calculate the tanimoto distance between the shapes encoded on two grids More...
 
template<class GRIDTYPE >
double protrudeDistance (const GRIDTYPE &grid1, const GRIDTYPE &grid2)
 calculate the protrude distance between the shapes encoded on two grids More...
 
Point3D computeGridCentroid (const UniformGrid3D &grid, const Point3D &pt, double windowRadius, double &weightSum)
 calculate the grid centroid within a window of a point More...
 
std::vector< Point3DfindGridTerminalPoints (const UniformGrid3D &grid, double windowRadius, double inclusionFraction)
 
double computeDihedralAngle (const Point3D &pt1, const Point3D &pt2, const Point3D &pt3, const Point3D &pt4)
 
double computeSignedDihedralAngle (const Point3D &pt1, const Point3D &pt2, const Point3D &pt3, const Point3D &pt4)
 
std::ostream & operator<< (std::ostream &target, const RDGeom::Point &pt)
 
RDGeom::Point3D operator+ (const RDGeom::Point3D &p1, const RDGeom::Point3D &p2)
 
RDGeom::Point3D operator- (const RDGeom::Point3D &p1, const RDGeom::Point3D &p2)
 
RDGeom::Point3D operator* (const RDGeom::Point3D &p1, double v)
 
RDGeom::Point3D operator/ (const RDGeom::Point3D &p1, double v)
 
RDGeom::Point2D operator+ (const RDGeom::Point2D &p1, const RDGeom::Point2D &p2)
 
RDGeom::Point2D operator- (const RDGeom::Point2D &p1, const RDGeom::Point2D &p2)
 
RDGeom::Point2D operator* (const RDGeom::Point2D &p1, double v)
 
RDGeom::Point2D operator/ (const RDGeom::Point2D &p1, double v)
 
RDGeom::PointND operator+ (const RDGeom::PointND &p1, const RDGeom::PointND &p2)
 
RDGeom::PointND operator- (const RDGeom::PointND &p1, const RDGeom::PointND &p2)
 
RDGeom::PointND operator* (const RDGeom::PointND &p1, double v)
 
RDGeom::PointND operator/ (const RDGeom::PointND &p1, double v)
 
void writeGridToStream (const UniformGrid3D &grid, std::ostream &outStrm)
 writes the contents of the grid to a stream More...
 
void writeGridToFile (const UniformGrid3D &grid, const std::string &filename)
 writes the contents of the grid to a named file More...
 
double compute13Dist (double d1, double d2, double angle)
 Compute the 13 distance between points give the 12 distances and the angle between the axes. More...
 
double compute14Dist3D (double d1, double d2, double d3, double ang12, double ang23, double torAng)
 Compute the 14 distances give the 12 distance and the angles. More...
 
double compute14DistCis (double d1, double d2, double d3, double ang12, double ang23)
 Compute the 14 distances give the 12 distance and bond angle for cis configuration. More...
 
double compute14DistTrans (double d1, double d2, double d3, double ang12, double ang23)
 Compute the 14 distances give the 12 distance and bond angle for trans configuration. More...
 

Variables

const unsigned int DIM_2D = 3
 
const unsigned int DIM_3D = 4
 

Typedef Documentation

typedef std::map<int, Point2D> RDGeom::INT_POINT2D_MAP

Definition at line 511 of file point.h.

typedef INT_POINT2D_MAP::const_iterator RDGeom::INT_POINT2D_MAP_CI

Definition at line 513 of file point.h.

typedef INT_POINT2D_MAP::iterator RDGeom::INT_POINT2D_MAP_I

Definition at line 512 of file point.h.

typedef std::vector<RDGeom::Point2D *> RDGeom::Point2DPtrVect

Definition at line 497 of file point.h.

typedef Point2DPtrVect::const_iterator RDGeom::Point2DPtrVect_CI

Definition at line 501 of file point.h.

typedef Point2DPtrVect::iterator RDGeom::Point2DPtrVect_I

Definition at line 500 of file point.h.

typedef std::vector<Point3D> RDGeom::POINT3D_VECT

Definition at line 507 of file point.h.

typedef std::vector<Point3D>::const_iterator RDGeom::POINT3D_VECT_CI

Definition at line 509 of file point.h.

typedef std::vector<Point3D>::iterator RDGeom::POINT3D_VECT_I

Definition at line 508 of file point.h.

typedef std::vector<const RDGeom::Point3D *> RDGeom::Point3DConstPtrVect

Definition at line 503 of file point.h.

typedef Point3DConstPtrVect::const_iterator RDGeom::Point3DConstPtrVect_CI

Definition at line 505 of file point.h.

typedef Point3DConstPtrVect::iterator RDGeom::Point3DConstPtrVect_I

Definition at line 504 of file point.h.

typedef std::vector<RDGeom::Point3D *> RDGeom::Point3DPtrVect

Definition at line 496 of file point.h.

typedef Point3DPtrVect::const_iterator RDGeom::Point3DPtrVect_CI

Definition at line 499 of file point.h.

typedef Point3DPtrVect::iterator RDGeom::Point3DPtrVect_I

Definition at line 498 of file point.h.

typedef std::vector<RDGeom::Point *> RDGeom::PointPtrVect

Definition at line 492 of file point.h.

typedef PointPtrVect::const_iterator RDGeom::PointPtrVect_CI

Definition at line 494 of file point.h.

typedef PointPtrVect::iterator RDGeom::PointPtrVect_I

Definition at line 493 of file point.h.

Enumeration Type Documentation

Enumerator
X_Axis 
Y_Axis 
Z_Axis 

Definition at line 15 of file Transform.h.

Function Documentation

double RDGeom::compute13Dist ( double  d1,
double  d2,
double  angle 
)
inline

Compute the 13 distance between points give the 12 distances and the angle between the axes.

Definition at line 23 of file Utils.h.

double RDGeom::compute14Dist3D ( double  d1,
double  d2,
double  d3,
double  ang12,
double  ang23,
double  torAng 
)
inline

Compute the 14 distances give the 12 distance and the angles.

This is computed by aligning the d2 axis with the x-axis (with atom 2 at the origin. Atom 1 is made to lie int he xy-plane with a +ve y-coordinate and finally the coordinates for atom 4 are computed.

ARGUMENTS: d1 - distance between atoms 1 and 2 d2 - distance between atoms 2 and 3 d3 - distance between atoms 3 and 4 ang12 - angle between the axes d1 and d2 ang23 - angle between the axes d2 and d3 torAng - torsional agnle of the axis d2

NOTE: we are specifically calling this function compute14Dist3D because we assume the torsional angle can take any value including 0 and 180 deg. However, if using either 0 or 180 as the torsional angle (which is often the case) the user is recommended to use the specialized functions below instead of this function; they will be speedier.

Definition at line 49 of file Utils.h.

References RDGeom::Point3D::length(), RDGeom::Transform3D::SetRotation(), RDGeom::Transform3D::TransformPoint(), and X_Axis.

double RDGeom::compute14DistCis ( double  d1,
double  d2,
double  d3,
double  ang12,
double  ang23 
)
inline

Compute the 14 distances give the 12 distance and bond angle for cis configuration.

This is simply a special case of the above function compute14Dist3D; with torsion angle set to 0. However, this function should be speedier

Definition at line 73 of file Utils.h.

double RDGeom::compute14DistTrans ( double  d1,
double  d2,
double  d3,
double  ang12,
double  ang23 
)
inline

Compute the 14 distances give the 12 distance and bond angle for trans configuration.

This is simply a special case of the above function compute14Dist3D; with torsion angle set to 180. However, this function should be speedier

Definition at line 87 of file Utils.h.

double RDGeom::computeDihedralAngle ( const Point3D pt1,
const Point3D pt2,
const Point3D pt3,
const Point3D pt4 
)
Point3D RDGeom::computeGridCentroid ( const UniformGrid3D grid,
const Point3D pt,
double  windowRadius,
double &  weightSum 
)

calculate the grid centroid within a window of a point

double RDGeom::computeSignedDihedralAngle ( const Point3D pt1,
const Point3D pt2,
const Point3D pt3,
const Point3D pt4 
)
std::vector<Point3D> RDGeom::findGridTerminalPoints ( const UniformGrid3D grid,
double  windowRadius,
double  inclusionFraction 
)

find terminal points of a shape encoded on a grid this is part of the subshape implementation

RDGeom::Point3D RDGeom::operator* ( const RDGeom::Point3D p1,
double  v 
)
RDGeom::Point2D RDGeom::operator* ( const RDGeom::Point2D p1,
double  v 
)
RDGeom::PointND RDGeom::operator* ( const RDGeom::PointND p1,
double  v 
)
RDGeom::Point3D RDGeom::operator+ ( const RDGeom::Point3D p1,
const RDGeom::Point3D p2 
)
RDGeom::Point2D RDGeom::operator+ ( const RDGeom::Point2D p1,
const RDGeom::Point2D p2 
)
RDGeom::PointND RDGeom::operator+ ( const RDGeom::PointND p1,
const RDGeom::PointND p2 
)
RDGeom::Point3D RDGeom::operator- ( const RDGeom::Point3D p1,
const RDGeom::Point3D p2 
)
RDGeom::Point2D RDGeom::operator- ( const RDGeom::Point2D p1,
const RDGeom::Point2D p2 
)
RDGeom::PointND RDGeom::operator- ( const RDGeom::PointND p1,
const RDGeom::PointND p2 
)
RDGeom::Point3D RDGeom::operator/ ( const RDGeom::Point3D p1,
double  v 
)
RDGeom::Point2D RDGeom::operator/ ( const RDGeom::Point2D p1,
double  v 
)
RDGeom::PointND RDGeom::operator/ ( const RDGeom::PointND p1,
double  v 
)
std::ostream& RDGeom::operator<< ( std::ostream &  target,
const RDGeom::Point pt 
)
template<class GRIDTYPE >
double RDGeom::protrudeDistance ( const GRIDTYPE &  grid1,
const GRIDTYPE &  grid2 
)

calculate the protrude distance between the shapes encoded on two grids

protrude(S1,S2) = ( | S1|S2 | - | S1&S2 | ) / | S1 |

template<class GRIDTYPE >
double RDGeom::tanimotoDistance ( const GRIDTYPE &  grid1,
const GRIDTYPE &  grid2 
)

calculate the tanimoto distance between the shapes encoded on two grids

tanimoto(S1,S2) = 1 - ( | S1&S2 | / | S1|S2 | )

void RDGeom::writeGridToFile ( const UniformGrid3D grid,
const std::string &  filename 
)

writes the contents of the grid to a named file

Referenced by RDGeom::UniformGrid3D::operator&().

void RDGeom::writeGridToStream ( const UniformGrid3D grid,
std::ostream &  outStrm 
)

writes the contents of the grid to a stream

Referenced by RDGeom::UniformGrid3D::operator&().

Variable Documentation

const unsigned int RDGeom::DIM_2D = 3

Definition at line 18 of file Transform2D.h.

Referenced by RDGeom::Transform2D::Transform2D().

const unsigned int RDGeom::DIM_3D = 4

Definition at line 19 of file Transform3D.h.

Referenced by RDGeom::Transform3D::Transform3D().