12 #ifndef RD_MORGANGEN_H_2018_07 13 #define RD_MORGANGEN_H_2018_07 20 namespace MorganFingerprint {
29 const bool df_includeRingMembership;
40 std::vector<std::uint32_t> *getAtomInvariants(
const ROMol &mol)
const;
42 std::string infoString()
const;
53 std::vector<const ROMol *> *dp_patterns;
66 std::vector<std::uint32_t> *getAtomInvariants(
const ROMol &mol)
const;
68 std::string infoString()
const;
78 const bool df_useBondTypes;
79 const bool df_useChirality;
91 const bool useChirality =
false);
93 std::vector<std::uint32_t> *getBondInvariants(
const ROMol &mol)
const;
95 std::string infoString()
const;
104 template <
typename OutputType>
112 OutputType getResultSize()
const;
114 std::string infoString()
const;
131 MorganArguments(
const unsigned int radius,
const bool countSimulation =
true,
132 const bool includeChirality =
false,
133 const bool onlyNonzeroInvariants =
false,
134 const std::vector<std::uint32_t> countBounds = {1, 2, 4, 8},
135 const std::uint32_t fpSize = 2048);
143 template <
typename OutputType>
146 const OutputType d_code;
147 const unsigned int d_atomId;
148 const unsigned int d_layer;
152 const std::vector<std::uint32_t> *atomInvariants,
153 const std::vector<std::uint32_t> *bondInvariants,
155 const bool hashResults =
false)
const;
164 MorganAtomEnv(
const std::uint32_t code,
const unsigned int atomId,
165 const unsigned int layer);
172 template <
typename OutputType>
176 std::vector<AtomEnvironment<OutputType> *> getEnvironments(
178 const std::vector<std::uint32_t> *fromAtoms,
179 const std::vector<std::uint32_t> *ignoreAtoms,
const int confId,
181 const std::vector<std::uint32_t> *atomInvariants,
182 const std::vector<std::uint32_t> *bondInvariants,
183 const bool hashResults =
false)
const;
185 std::string infoString()
const;
227 template <
typename OutputType>
229 const unsigned int radius,
const bool countSimulation =
true,
230 const bool includeChirality =
false,
const bool useBondTypes =
true,
231 const bool onlyNonzeroInvariants =
false,
234 const std::uint32_t fpSize = 2048,
235 const std::vector<std::uint32_t> countBounds = {1, 2, 4, 8},
236 const bool ownsAtomInvGen =
false,
const bool ownsBondInvGen =
false);
abstract base class that holds atom-environments that will be hashed to generate the fingerprint ...
RDKIT_FINGERPRINTS_EXPORT FingerprintGenerator< OutputType > * getMorganGenerator(const unsigned int radius, const bool countSimulation=true, const bool includeChirality=false, const bool useBondTypes=true, const bool onlyNonzeroInvariants=false, AtomInvariantsGenerator *atomInvariantsGenerator=nullptr, BondInvariantsGenerator *bondInvariantsGenerator=nullptr, const std::uint32_t fpSize=2048, const std::vector< std::uint32_t > countBounds={1, 2, 4, 8}, const bool ownsAtomInvGen=false, const bool ownsBondInvGen=false)
Get a fingerprint generator for Morgan fingerprint.
Class for holding Morgan fingerprint specific arguments.
Alternative atom invariants generator for Morgan fingerprint, generate FCFP-type invariants.
abstract base class for atom invariants generators
Bond invariants generator for Morgan fingerprint.
const unsigned int d_radius
abstract base class for bond invariants generators
Default atom invariants generator for Morgan fingerprint, generates ECFP-type invariants.
const bool df_includeChirality
const bool df_onlyNonzeroInvariants
abstract base class that generates atom-environments from a molecule
Class that generates atom environments for Morgan fingerprint.
#define RDKIT_FINGERPRINTS_EXPORT
Class for holding the bit-id created from Morgan fingerprint environments and the additional data nec...
~MorganBondInvGenerator()
class that generates same fingerprint style for different output formats
Abstract base class that holds molecule independent arguments that are common amongst all fingerprint...