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

Generated on Tue Oct 7 06:10:10 2008 for RDCode by  doxygen 1.5.5