RDKit: BoundsMatrixBuilder.h Source File

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
BoundsMatrixBuilder.h
Go to the documentation of this file.
1//
2// Copyright (C) 2004-2019 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#include <RDGeneral/export.h>
11#ifndef RD_BOUNDS_MATRIX_BUILDER_H
12#define RD_BOUNDS_MATRIX_BUILDER_H
13
14#include <DistGeom/BoundsMatrix.h>
15
16namespace RDKit {
17class ROMol;
18 namespace DGeomHelpers {
19//! Set default upper and lower distance bounds in a distance matrix
20/*!
21 \param mmat pointer to the bounds matrix to be altered
22 \param defaultMin default value for the lower distance bounds
23 \param defaultMax default value for the upper distance bounds
24*/
25 RDKIT_DISTGEOMHELPERS_EXPORT void initBoundsMat(DistGeom::BoundsMatrix *mmat,
26 double defaultMin = 0.0,
27 double defaultMax = 1000.0);
28/*! \overload
29 */
30 RDKIT_DISTGEOMHELPERS_EXPORT void initBoundsMat(DistGeom::BoundsMatPtr mmat,
31 double defaultMin = 0.0,
32 double defaultMax = 1000.0);
33
34//! Set upper and lower distance bounds between atoms in a molecule based on
35/// topology
36/*!
37 This consists of setting 1-2, 1-3 and 1-4 distance based on bond lengths,
38 bond angles and torsion angle ranges. Optionally 1-5 bounds can also be set,
39 in particular, for path that contain rigid 1-4 paths.
40 The final step involves setting lower bound to the sum of the vdW radii for
41 the remaining atom pairs.
42 \param mol The molecule of interest
43 \param mmat Bounds matrix to the bounds are written
44 \param set15bounds If true try to set 1-5 bounds also based on topology
45 \param scaleVDW If true scale the sum of the vdW radii while setting lower
46 bounds
47 so that a smaller value (0.7*(vdw1 + vdw2) ) is used for
48 paths
49 that are less five bonds apart.
50 \param useMacrocycle14config If 1-4 distances bound heuristics for
51 macrocycles is used <b>Note</b> For some strained systems the bounds matrix
52 resulting from setting 1-5 bounds may fail triangle smoothing. In these cases
53 it is recommended to back out and recompute the bounds matrix with no 1-5
54 bounds and with vdW scaling.
55*/
56 RDKIT_DISTGEOMHELPERS_EXPORT void setTopolBounds(
57 const ROMol &mol, DistGeom::BoundsMatPtr mmat, bool set15bounds = true,
58 bool scaleVDW = false, bool useMacrocycle14config = false,
59 bool forceTransAmides = true);
60
61/*! \overload for experimental torsion angle preferences
62 */
63 RDKIT_DISTGEOMHELPERS_EXPORT void setTopolBounds(
64 const ROMol &mol, DistGeom::BoundsMatPtr mmat,
65 std::vector<std::pair<int, int>> &bonds,
66 std::vector<std::vector<int>> &angles, bool set15bounds = true,
67 bool scaleVDW = false, bool useMacrocycle14config = false,
68 bool forceTransAmides = true);
69
70//! generate the vectors of bonds and angles used by (ET)KDG
71 RDKIT_DISTGEOMHELPERS_EXPORT void collectBondsAndAngles(
72 const ROMol &mol, std::vector<std::pair<int, int>> &bonds,
73 std::vector<std::vector<int>> &angles);
74
75} // namespace DGeomHelpers
76} // namespace RDKit
77#endif
BoundsMatrix.h
DistGeom::BoundsMatrix
Class to store the distance bound.
Definition BoundsMatrix.h:27
RDKit::ROMol
Definition ROMol.h:199
export.h
RDKIT_DISTGEOMHELPERS_EXPORT
#define RDKIT_DISTGEOMHELPERS_EXPORT
Definition export.h:129
DistGeom::BoundsMatPtr
boost::shared_ptr< BoundsMatrix > BoundsMatPtr
Definition BoundsMatrix.h:107
RDKit::DGeomHelpers
Definition BoundsMatrixBuilder.h:18
RDKit::DGeomHelpers::collectBondsAndAngles
RDKIT_DISTGEOMHELPERS_EXPORT void collectBondsAndAngles(const ROMol &mol, std::vector< std::pair< int, int > > &bonds, std::vector< std::vector< int > > &angles)
generate the vectors of bonds and angles used by (ET)KDG
RDKit::DGeomHelpers::initBoundsMat
RDKIT_DISTGEOMHELPERS_EXPORT 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
RDKIT_DISTGEOMHELPERS_EXPORT void setTopolBounds(const ROMol &mol, DistGeom::BoundsMatPtr mmat, bool set15bounds=true, bool scaleVDW=false, bool useMacrocycle14config=false, bool forceTransAmides=true)
RDKit
Std stuff.
Definition Abbreviations.h:19