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 #include <RDGeneral/export.h>
11 #ifndef _RD_REDUCEDGRAPHS_H_
12 #define _RD_REDUCEDGRAPHS_H_
13 
14 #include <vector>
15 #include <cstdint>
16 #include <boost/dynamic_bitset.hpp>
17 #include <Numerics/Vector.h>
18 
19 namespace RDKit {
20 class ROMol;
21 
22 namespace ReducedGraphs {
23 //! \brief Generates a reduced graph representation of a molecule
24 /*!
25 
26  \param mol: the molecule to be fingerprinted
27 
28  \return a new molecule
29 
30  <b>Notes:</b>
31  - the caller is responsible for <tt>delete</tt>ing the result
32 
33 */
35  const ROMol &mol,
36  std::vector<boost::dynamic_bitset<>> *atomTypes = nullptr);
37 //! \brief Generates a ErG fingerprint vector for a molecule that's already a
38 /// reduced graph
39 /*!
40 
41  \param mol: the molecule to be fingerprinted
42  \param atomTypes: [optional] contains bit vectors indicating whether each
43  atom in
44  the molecule matches each type.
45  \param fuzzIncrement: amount to be added to neighboring bins
46  \param minPath: minimum distance (in bonds) to be considered
47  \param maxPath: maximum distance (in bonds) to be considered
48 
49  \return the fingerprint, as a DoubleVector
50 
51  <b>Notes:</b>
52  - the caller is responsible for <tt>delete</tt>ing the result
53 
54 */
57  const ROMol &mol, std::vector<boost::dynamic_bitset<>> *atomTypes = nullptr,
58  double fuzzIncrement = 0.3, unsigned int minPath = 1,
59  unsigned int maxPath = 15);
60 
61 //! \brief Generates a ErG fingerprint vector for a molecule
62 /*!
63 
64  \param mol: the molecule to be fingerprinted
65  \param atomTypes: [optional] contains bit vectors indicating whether each
66  atom in
67  the molecule matches each type.
68  \param fuzzIncrement: amount to be added to neighboring bins
69  \param minPath: minimum distance (in bonds) to be considered
70  \param maxPath: maximum distance (in bonds) to be considered
71 
72  \return the fingerprint, as a DoubleVector
73 
74  <b>Notes:</b>
75  - the caller is responsible for <tt>delete</tt>ing the result
76 
77 */
79  const ROMol &mol, std::vector<boost::dynamic_bitset<>> *atomTypes = nullptr,
80  double fuzzIncrement = 0.3, unsigned int minPath = 1,
81  unsigned int maxPath = 15);
82 } // namespace ReducedGraphs
83 } // namespace RDKit
84 
85 #endif
A class to represent vectors of numbers.
Definition: Vector.h:29
#define RDKIT_REDUCEDGRAPHS_EXPORT
Definition: export.h:401
RDKIT_REDUCEDGRAPHS_EXPORT ROMol * generateMolExtendedReducedGraph(const ROMol &mol, std::vector< boost::dynamic_bitset<>> *atomTypes=nullptr)
Generates a reduced graph representation of a molecule.
RDKIT_REDUCEDGRAPHS_EXPORT RDNumeric::DoubleVector * generateErGFingerprintForReducedGraph(const ROMol &mol, std::vector< boost::dynamic_bitset<>> *atomTypes=nullptr, double fuzzIncrement=0.3, unsigned int minPath=1, unsigned int maxPath=15)
Generates a ErG fingerprint vector for a molecule that's already a reduced graph.
RDKIT_REDUCEDGRAPHS_EXPORT RDNumeric::DoubleVector * getErGFingerprint(const ROMol &mol, std::vector< boost::dynamic_bitset<>> *atomTypes=nullptr, double fuzzIncrement=0.3, unsigned int minPath=1, unsigned int maxPath=15)
Generates a ErG fingerprint vector for a molecule.
Std stuff.
Definition: Abbreviations.h:18