12 #ifndef RD_FINGERPRINTUTIL_H_2018_07
13 #define RD_FINGERPRINTUTIL_H_2018_07
30 5, 6, 7, 8, 9, 14, 15, 16, 17, 33, 34, 35, 51, 52, 43};
55 const Atom *atom,
unsigned int branchSubtract = 0,
56 bool includeChirality =
false);
69 std::uint32_t codeI, std::uint32_t codeJ,
unsigned int dist,
70 bool includeChirality =
false);
78 const std::vector<std::uint32_t> &atomCodes,
bool includeChirality =
false);
81 const std::vector<std::uint32_t> &pathCodes);
84 namespace MorganFingerprints {
98 typedef std::tuple<boost::dynamic_bitset<>, uint32_t,
unsigned int>
AccumTuple;
111 const ROMol &mol, std::vector<std::uint32_t> &invars,
112 bool includeRingMembership =
true);
129 const ROMol &mol, std::vector<std::uint32_t> &invars,
130 std::vector<const ROMol *> *patterns =
nullptr);
135 namespace RDKitFPUtils {
138 const ROMol &mol, std::vector<std::uint32_t> &lAtomInvariants);
141 const ROMol &mol, std::map<
int, std::list<std::vector<int>>> &allPaths,
142 const std::vector<std::uint32_t> *fromAtoms,
bool branchedPaths,
bool useHs,
143 unsigned int minPath,
unsigned int maxPath);
146 const ROMol &mol, std::vector<const Bond *> &bondCache,
147 std::vector<short> &isQueryBond);
150 const ROMol &mol, boost::dynamic_bitset<> &atomsInPath,
151 const std::vector<const Bond *> &bondCache,
152 const std::vector<short> &isQueryBond,
const std::vector<int> &path,
153 bool useBondOrder,
const std::vector<std::uint32_t> *atomInvariants);
Pulls in all the BitVect classes.
pulls in the core RDKit functionality
functionality for finding subgraphs and paths in molecules
The class for representing atoms.
const RDKit::ROMol * getMatcher() const
ss_matcher(const std::string &pattern)
#define RDKIT_FINGERPRINTS_EXPORT
const unsigned int numPiBits
RDKIT_FINGERPRINTS_EXPORT std::uint64_t getTopologicalTorsionCode(const std::vector< std::uint32_t > &atomCodes, bool includeChirality=false)
const unsigned int numPathBits
const unsigned int maxNumPi
const unsigned int numChiralBits
const unsigned int atomNumberTypes[1<< numTypeBits]
const unsigned int maxNumBranches
RDKIT_FINGERPRINTS_EXPORT std::uint32_t getAtomPairCode(std::uint32_t codeI, std::uint32_t codeJ, unsigned int dist, bool includeChirality=false)
const unsigned int codeSize
const unsigned int numTypeBits
const unsigned int numBranchBits
const unsigned int numAtomPairFingerprintBits
RDKIT_FINGERPRINTS_EXPORT std::uint32_t getTopologicalTorsionHash(const std::vector< std::uint32_t > &pathCodes)
const unsigned int maxPathLen
RDKIT_FINGERPRINTS_EXPORT std::uint32_t getAtomCode(const Atom *atom, unsigned int branchSubtract=0, bool includeChirality=false)
RDKIT_FINGERPRINTS_EXPORT std::vector< std::string > defaultFeatureSmarts
RDKIT_FINGERPRINTS_EXPORT void getFeatureInvariants(const ROMol &mol, std::vector< std::uint32_t > &invars, std::vector< const ROMol * > *patterns=nullptr)
returns the feature invariants for a molecule
const std::string morganFeatureInvariantVersion
const std::string morganConnectivityInvariantVersion
RDKIT_FINGERPRINTS_EXPORT void getConnectivityInvariants(const ROMol &mol, std::vector< std::uint32_t > &invars, bool includeRingMembership=true)
returns the connectivity invariants for a molecule
std::tuple< boost::dynamic_bitset<>, uint32_t, unsigned int > AccumTuple
RDKIT_FINGERPRINTS_EXPORT std::vector< unsigned int > generateBondHashes(const ROMol &mol, boost::dynamic_bitset<> &atomsInPath, const std::vector< const Bond * > &bondCache, const std::vector< short > &isQueryBond, const std::vector< int > &path, bool useBondOrder, const std::vector< std::uint32_t > *atomInvariants)
RDKIT_FINGERPRINTS_EXPORT void identifyQueryBonds(const ROMol &mol, std::vector< const Bond * > &bondCache, std::vector< short > &isQueryBond)
RDKIT_FINGERPRINTS_EXPORT void enumerateAllPaths(const ROMol &mol, std::map< int, std::list< std::vector< int >>> &allPaths, const std::vector< std::uint32_t > *fromAtoms, bool branchedPaths, bool useHs, unsigned int minPath, unsigned int maxPath)
RDKIT_FINGERPRINTS_EXPORT void buildDefaultRDKitFingerprintAtomInvariants(const ROMol &mol, std::vector< std::uint32_t > &lAtomInvariants)
boost::shared_ptr< ROMol > ROMOL_SPTR