RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
ShapeEncoder.h
Go to the documentation of this file.
1//
2// Copyright (C) 2005-2025 Greg Landrum and other RDKit contributors
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#pragma once
11#include <RDGeneral/export.h>
12#ifndef RD_SHAPE_ENCODER_H_20050125_0800
13#define RD_SHAPE_ENCODER_H_20050125_0800
14
15namespace RDGeom {
16class UniformGrid3D;
17class Transform3D;
18} // namespace RDGeom
19
20namespace RDKit {
21class ROMol;
22class Conformer;
23namespace MolShapes {
24//! Encode the shape of a molecule on to a grid
25/*!
26 \param mol The molecule of interest
27 \param grid Grid onto which the molecule is encoded
28 \param confId Id of the conformation on the molecule to be encoded
29 \param trans Optional 3D transform to be applied to this conformation
30 \param vdwScale Scaling factor for the radius of the atoms to determine the
31 base radius
32 used in the encoding - grid points inside this sphere carry
33 the maximum occupancy
34 \param stepSize thickness of the layers outside the base radius, the
35 occupancy value is decreased
36 from layer to layer from the maximum value
37 \param maxLayers the maximum number of layers - defaults to the number allowed
38 the number of bits
39 use per grid point - e.g. two bits per grid point will allow
40 3 layers
41 \param ignoreHs if true, ignore the hydrogen atoms in the shape encoding
42 process
43*/
45 const ROMol &mol, RDGeom::UniformGrid3D &grid, int confId = -1,
46 const RDGeom::Transform3D *trans = nullptr, double vdwScale = 0.8,
47 double stepSize = 0.25, int maxLayers = -1, bool ignoreHs = true);
48
49//! Emcode the shape of a conformer on to a grid
50/*!
51 \param conf The conformer of interest
52 \param grid Grid onto which the molecule is encoded
53 \param trans Optional 3D transform to be applied to this conformation
54 \param vdwScale Scaling factor for the radius of the atoms to determine the
55 base radius
56 used in the encoding - grid points inside this sphere carry
57 the maximum occupancy
58 \param stepSize thickness of the layers outside the base radius, the
59 occupancy value is decreased
60 from layer to layer from the maximum value
61 \param maxLayers the maximum number of layers - defaults to the number allowed
62 the number of bits
63 use per grid point - e.g. two bits per grid point will allow
64 3 layers
65 \param ignoreHs if true, ignore the hydrogen atoms in the shape encoding
66 process
67*/
69 const Conformer &conf, RDGeom::UniformGrid3D &grid,
70 const RDGeom::Transform3D *trans = nullptr, double vdwScale = 0.8,
71 double stepSize = 0.25, int maxLayers = -1, bool ignoreHs = true);
72} // namespace MolShapes
73} // namespace RDKit
74#endif
The class for representing 2D or 3D conformation of a molecule.
Definition Conformer.h:46
#define RDKIT_SHAPEHELPERS_EXPORT
Definition export.h:521
RDKIT_SHAPEHELPERS_EXPORT void EncodeShape(const ROMol &mol, RDGeom::UniformGrid3D &grid, int confId=-1, const RDGeom::Transform3D *trans=nullptr, double vdwScale=0.8, double stepSize=0.25, int maxLayers=-1, bool ignoreHs=true)
Encode the shape of a molecule on to a grid.
Std stuff.