RDKit
Open-source cheminformatics and machine learning.
ShapeEncoder.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2005-2006 Rational Discovery LLC
3 //
4 // @@ All Rights Reserved @@
5 // This file is part of the RDKit.
6 // The contents are covered by the terms of the BSD license
7 // which is included in the file license.txt, found at the root
8 // of the RDKit source tree.
9 //
10 #ifndef _RD_SHAPE_ENCODER_H_20050125_0800_
11 #define _RD_SHAPE_ENCODER_H_20050125_0800_
12 
13 namespace RDGeom {
14 class UniformGrid3D;
15 class Transform3D;
16 }
17 
18 namespace RDKit {
19 class ROMol;
20 class Conformer;
21 namespace MolShapes {
22 //! Encode the shape of a molecule on to a grid
23 /*!
24  \param mol The molecule of interest
25  \param grid Grid onto which the molecule is encoded
26  \param confId Id of the conformation on the molecule to be encoded
27  \param trans Optional 3D transform to be applied to this conformation
28  \param vdwScale Scaling factor for the radius of the atoms to determine the
29  base radius
30  used in the encoding - grid points inside this sphere carry
31  the maximum occupany
32  \param stepSize thickness of the layers outside the base radius, the
33  occupancy value is decreased
34  from layer to layer from the maximum value
35  \param maxLayers the maximum number of layers - defaults to the number allowed
36  the number of bits
37  use per grid point - e.g. two bits per grid point will allow
38  3 layers
39  \param ignoreHs if true, ignore the hydrogen atoms in the shape encoding
40  process
41 */
42 void EncodeShape(const ROMol &mol, RDGeom::UniformGrid3D &grid, int confId = -1,
43  const RDGeom::Transform3D *trans = 0, double vdwScale = 0.8,
44  double stepSize = 0.25, int maxLayers = -1,
45  bool ignoreHs = true);
46 
47 //! Emcode the shape of a conformer on to a grid
48 /*!
49  \param conf The conformer of interest
50  \param grid Grid onto which the molecule is encoded
51  \param trans Optional 3D transform to be applied to this conformation
52  \param vdwScale Scaling factor for the radius of the atoms to determine the
53  base radius
54  used in the encoding - grid points inside this sphere carry
55  the maximum occupany
56  \param stepSize thickness of the layers outside the base radius, the
57  occupancy value is decreased
58  from layer to layer from the maximum value
59  \param maxLayers the maximum number of layers - defaults to the number allowed
60  the number of bits
61  use per grid point - e.g. two bits per grid point will allow
62  3 layers
63  \param ignoreHs if true, ignore the hydrogen atoms in the shape encoding
64  process
65 */
66 void EncodeShape(const Conformer &conf, RDGeom::UniformGrid3D &grid,
67  const RDGeom::Transform3D *trans = 0, double vdwScale = 0.8,
68  double stepSize = 0.25, int maxLayers = -1,
69  bool ignoreHs = true);
70 }
71 }
72 #endif
void EncodeShape(const Conformer &conf, RDGeom::UniformGrid3D &grid, const RDGeom::Transform3D *trans=0, double vdwScale=0.8, double stepSize=0.25, int maxLayers=-1, bool ignoreHs=true)
Emcode the shape of a conformer on to a grid.
ROMol is a molecule class that is intended to have a fixed topology.
Definition: ROMol.h:103
Includes a bunch of functionality for handling Atom and Bond queries.
Definition: Atom.h:29
The class for representing 2D or 3D conformation of a molecule.
Definition: Conformer.h:41