RDKit: BoundsMatrixBuilder.h Source File

| RDKit Open-source cheminformatics and machine learning.

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

BoundsMatrixBuilder.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2004-2006 Rational Discovery LLC
3 //
4 // @@ All Rights Reserved @@
5 // This file is part of the RDKit.
6 // The contents are covered by the terms of the BSD license
7 // which is included in the file license.txt, found at the root
8 // of the RDKit source tree.
9 //
10 #ifndef _RD_BOUNDS_MATRIX_BUILDER_H_
11 #define _RD_BOUNDS_MATRIX_BUILDER_H_
12
13 #include <DistGeom/BoundsMatrix.h>
14
15 namespace RDKit {
16 class ROMol;
17 namespace DGeomHelpers {
18 //! Set default upper and lower distance bounds in a distance matrix
19 /*!
20 \param mmat pointer to the bounds matrix to be altered
21 \param defaultMin default value for the lower distance bounds
22 \param defaultMax default value for the upper distance bounds
23
24 */
25 void initBoundsMat(DistGeom::BoundsMatrix *mmat, double defaultMin = 0.0,
26 double defaultMax = 1000.0);
27 void initBoundsMat(DistGeom::BoundsMatPtr mmat, double defaultMin = 0.0,
28 double defaultMax = 1000.0);
29
30 //! Set upper and lower distance bounds between atoms in a molecule based on
31 // topology
32 /*!
33 This consists of setting 1-2, 1-3 and 1-4 distance based on bond lengths,
34 bond angles and torsion angle ranges. Optionally 1-5 bounds can also be set,
35 in particular, for path that contain rigid 1-4 paths.
36
37 The final step involves setting lower bound to the sum of the vdW radii for
38 the remaining atom pairs.
39
40 \param mol The molecule of interest
41 \param mmat Bounds matrix to the bounds are written
42 \param set15bounds If true try to set 1-5 bounds also based on topology
43 \param scaleVDW If true scale the sum of the vdW radii while setting lower
44 bounds
45 so that a smaller value (0.7*(vdw1 + vdw2) ) is used for
46 paths
47 that are less five bonds apart.
48
49 <b>Note</b>
50 For some strained systems the bounds matrix resulting from setting 1-5 bounds
51 may
52 fail triangle smoothing. In these cases it is recommended to back out and
53 recompute the bounds matrix with no 1-5 bounds and with vdW scaling.
54 */
55 void setTopolBounds(const ROMol &mol, DistGeom::BoundsMatPtr mmat,
56 bool set15bounds = true, bool scaleVDW = false);
57
58 /*! Overload for experimental torsion angle preferences */
59 void setTopolBounds(const ROMol &mol, DistGeom::BoundsMatPtr mmat,
60 std::vector<std::pair<int, int> > &bonds,
61 std::vector<std::vector<int> > &angles,
62 bool set15bounds = true, bool scaleVDW = false);
63 }
64 }
65 #endif
DistGeom::BoundsMatPtr
boost::shared_ptr< BoundsMatrix > BoundsMatPtr
Definition: BoundsMatrix.h:116
RDKit::ROMol
ROMol is a molecule class that is intended to have a fixed topology.
Definition: ROMol.h:102
RDKit::DGeomHelpers::initBoundsMat
void initBoundsMat(DistGeom::BoundsMatrix *mmat, double defaultMin=0.0, double defaultMax=1000.0)
Set default upper and lower distance bounds in a distance matrix.
RDKit::DGeomHelpers::setTopolBounds
void setTopolBounds(const ROMol &mol, DistGeom::BoundsMatPtr mmat, bool set15bounds=true, bool scaleVDW=false)
Set upper and lower distance bounds between atoms in a molecule based on.
RDKit
Includes a bunch of functionality for handling Atom and Bond queries.
Definition: Atom.h:28
BoundsMatrix.h
DistGeom::BoundsMatrix
Class to store the distance bound.
Definition: BoundsMatrix.h:26