RDKit
Open-source cheminformatics and machine learning.
ReducedGraphs.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2013 Greg Landrum
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_REDUCEDGRAPHS_H_
11 #define _RD_REDUCEDGRAPHS_H_
12 
13 #include <vector>
14 #include <boost/cstdint.hpp>
15 #include <boost/dynamic_bitset.hpp>
16 #include <Numerics/Vector.h>
17 
18 namespace RDKit {
19 class ROMol;
20 
21 namespace ReducedGraphs {
22 //! \brief Generates a reduced graph representation of a molecule
23 /*!
24 
25  \param mol: the molecule to be fingerprinted
26 
27  \return a new molecule
28 
29  <b>Notes:</b>
30  - the caller is responsible for <tt>delete</tt>ing the result
31 
32 */
34  const ROMol &mol, std::vector<boost::dynamic_bitset<> > *atomTypes = 0);
35 //! \brief Generates a ErG fingerprint vector for a molecule that's already a
36 // reduced graph
37 /*!
38 
39  \param mol: the molecule to be fingerprinted
40  \param atomTypes: [optional] contains bit vectors indicating whether each
41  atom in
42  the molecule matches each type.
43  \param fuzzIncrement: amount to be added to neighboring bins
44  \param minPath: minimum distance (in bonds) to be considered
45  \param maxPath: maximum distance (in bonds) to be considered
46 
47  \return the fingerprint, as a DoubleVector
48 
49  <b>Notes:</b>
50  - the caller is responsible for <tt>delete</tt>ing the result
51 
52 */
54  const ROMol &mol, std::vector<boost::dynamic_bitset<> > *atomTypes = 0,
55  double fuzzIncrement = 0.3, unsigned int minPath = 1,
56  unsigned int maxPath = 15);
57 
58 //! \brief Generates a ErG fingerprint vector for a molecule
59 /*!
60 
61  \param mol: the molecule to be fingerprinted
62  \param atomTypes: [optional] contains bit vectors indicating whether each
63  atom in
64  the molecule matches each type.
65  \param fuzzIncrement: amount to be added to neighboring bins
66  \param minPath: minimum distance (in bonds) to be considered
67  \param maxPath: maximum distance (in bonds) to be considered
68 
69  \return the fingerprint, as a DoubleVector
70 
71  <b>Notes:</b>
72  - the caller is responsible for <tt>delete</tt>ing the result
73 
74 */
76  const ROMol &mol, std::vector<boost::dynamic_bitset<> > *atomTypes = 0,
77  double fuzzIncrement = 0.3, unsigned int minPath = 1,
78  unsigned int maxPath = 15);
79 } // end of ReducedGraphs namespace
80 } // end of RDKit namespace
81 
82 #endif
RDNumeric::DoubleVector * getErGFingerprint(const ROMol &mol, std::vector< boost::dynamic_bitset<> > *atomTypes=0, double fuzzIncrement=0.3, unsigned int minPath=1, unsigned int maxPath=15)
Generates a ErG fingerprint vector for a molecule.
ROMol is a molecule class that is intended to have a fixed topology.
Definition: ROMol.h:106
Includes a bunch of functionality for handling Atom and Bond queries.
Definition: Atom.h:29
RDNumeric::DoubleVector * generateErGFingerprintForReducedGraph(const ROMol &mol, std::vector< boost::dynamic_bitset<> > *atomTypes=0, double fuzzIncrement=0.3, unsigned int minPath=1, unsigned int maxPath=15)
Generates a ErG fingerprint vector for a molecule that&#39;s already a.
ROMol * generateMolExtendedReducedGraph(const ROMol &mol, std::vector< boost::dynamic_bitset<> > *atomTypes=0)
Generates a reduced graph representation of a molecule.
A class to represent vectors of numbers.
Definition: Vector.h:28