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