RDCode: ShapeEncoder.h Source File

# ShapeEncoder.h

Go to the documentation of this file.

    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