ShapeEncoder.h

Go to the documentation of this file.
00001 // 
00002 //   Copyright (C) 2005-2006 Rational Discovery LLC
00003 //
00004 //   @@ All Rights Reserved @@
00005 //  This file is part of the RDKit.
00006 //  The contents are covered by the terms of the BSD license
00007 //  which is included in the file license.txt, found at the root
00008 //  of the RDKit source tree.
00009 //
00010 #ifndef _RD_SHAPE_ENCODER_H_20050125_0800_
00011 #define _RD_SHAPE_ENCODER_H_20050125_0800_
00012 
00013 namespace RDGeom {
00014   class UniformGrid3D;
00015   class Transform3D;
00016 }
00017 
00018 namespace RDKit {
00019   class ROMol;
00020   class Conformer;
00021   namespace MolShapes {
00022     //! Encode the shape of a molecule on to a grid
00023     /*!
00024       \param mol       The molecule of interest
00025       \param grid      Grid onto which the molecule is encoded
00026       \param confId    Id of the conformation on the molecule to be encoded
00027       \param trans     Optional 3D transform to be applied to this conformation
00028       \param vdwScale  Scaling factor for the radius of the atoms to determine the base radius 
00029                        used in the encoding - grid points inside this sphere carry the maximum occupany
00030       \param stepSize  thickness of the layers outside the base radius, the occupancy value is decreased 
00031                        from layer to layer from the maximum value
00032       \param maxLayers the maximum number of layers - defaults to the number allowed the number of bits 
00033                        use per grid point - e.g. two bits per grid point will allow 3 layers
00034       \param ignoreHs  if true, ignore the hydrogen atoms in the shape encoding process
00035     */
00036     void EncodeShape(const ROMol &mol, RDGeom::UniformGrid3D &grid, int confId=-1, 
00037                      const RDGeom::Transform3D *trans=0, double vdwScale=0.8, 
00038                      double stepSize=0.25, int maxLayers=-1, bool ignoreHs=true);
00039 
00040     //! Emcode the shape of a conformer on to a grid
00041     /*!
00042       \param conf      The conformer of interest
00043       \param grid      Grid onto which the molecule is encoded
00044       \param trans     Optional 3D transform to be applied to this conformation
00045       \param vdwScale  Scaling factor for the radius of the atoms to determine the base radius 
00046                        used in the encoding - grid points inside this sphere carry the maximum occupany
00047       \param stepSize  thickness of the layers outside the base radius, the occupancy value is decreased 
00048                        from layer to layer from the maximum value
00049       \param maxLayers the maximum number of layers - defaults to the number allowed the number of bits 
00050                        use per grid point - e.g. two bits per grid point will allow 3 layers
00051       \param ignoreHs  if true, ignore the hydrogen atoms in the shape encoding process
00052     */
00053     void EncodeShape(const Conformer &conf, RDGeom::UniformGrid3D &grid, 
00054                      const RDGeom::Transform3D *trans=0, double vdwScale=0.8, 
00055                      double stepSize=0.25, int maxLayers=-1, bool ignoreHs=true);
00056   }
00057 }
00058 #endif
00059