RDCode: BoundsMatrixBuilder.h Source File

- Main Page
- Namespaces
- Classes
- Files
- Directories

# BoundsMatrixBuilder.h

Go to the documentation of this file.

    00001 //
    00002 //  Copyright (C) 2004-2006 Rational Discovery LLC
    00003 //
    00004 //   @@ All Rights Reserved  @@
    00005 //
    00006 #ifndef _RD_BOUNDS_MATRIX_BUILDER_H_
    00007 #define _RD_BOUNDS_MATRIX_BUILDER_H_
    00008
    00009 #include <DistGeom/BoundsMatrix.h>
    00010
    00011 namespace RDKit {
    00012   class ROMol;
    00013   namespace DGeomHelpers {
    00014     //! Set default upper and lower distance bounds in a distance matrix
    00015     /*!
    00016       \param mmat        pointer to the bounds matrix to be altered
    00017       \param defaultMin  default value for the lower distance bounds
    00018       \param defaultMax  default value for the upper distance bounds
    00019
    00020     */
    00021     void initBoundsMat(DistGeom::BoundsMatrix *mmat,double defaultMin=0.0,
    00022                        double defaultMax=1000.0);
    00023     void initBoundsMat(DistGeom::BoundsMatPtr mmat,double defaultMin=0.0,
    00024                        double defaultMax=1000.0);
    00025
    00026     //! Set upper and lower distance bounds between atoms in a molecule based on topology
    00027     /*!
    00028       This consists of setting 1-2, 1-3 and 1-4 distance based on bond lengths,
    00029       bond angles and torsion angle ranges. Optionally 1-5 bounds can also be set,
    00030       in particular, for path that contain rigid 1-4 paths.
    00031
    00032       The final step involves setting lower bound to the sum of the vdW radii for
    00033       the remaining atom pairs.
    00034
    00035       \param mol          The molecule of interest
    00036       \param mmat         Bounds matrix to the bounds are written
    00037       \param set15bounds  If true try to set 1-5 bounds also based on topology
    00038       \param scaleVDW     If true scale the sum of the vdW radii while setting lower bounds
    00039                           so that a smaller value (0.7*(vdw1 + vdw2) ) is used for paths
    00040                           that are less five bonds apart.
    00041
    00042       <b>Note</b>
    00043       For some strained systems the bounds matrix resulting from setting 1-5 bounds may
    00044       fail triangle smoothing. In these cases it is recommended to back out and
    00045       recompute the bounds matrix with no 1-5 bounds and with vdW scaling.
    00046     */
    00047     void setTopolBounds(const ROMol &mol, DistGeom::BoundsMatPtr mmat,
    00048                         bool set15bounds=true, bool scaleVDW=false);
    00049   }
    00050 }
    00051 #endif