39 #ifndef __RD_MORGANFPS_H__ 40 #define __RD_MORGANFPS_H__ 46 #include <boost/cstdint.hpp> 50 namespace MorganFingerprints {
53 typedef std::map<boost::uint32_t,std::vector<std::pair<boost::uint32_t,boost::uint32_t> > >
BitInfoMap;
98 std::vector<boost::uint32_t> *invariants=0,
99 const std::vector<boost::uint32_t> *fromAtoms=0,
100 bool useChirality=
false,
101 bool useBondTypes=
true,
103 bool onlyNonzeroInvariants=
false,
104 BitInfoMap *atomsSettingBits=0);
146 unsigned int nBits=2048,
147 std::vector<boost::uint32_t> *invariants=0,
148 const std::vector<boost::uint32_t> *fromAtoms=0,
149 bool useChirality=
false,
150 bool useBondTypes=
true,
151 bool onlyNonzeroInvariants=
false,
152 BitInfoMap *atomsSettingBits=0);
187 std::vector<boost::uint32_t> *invariants=0,
188 const std::vector<boost::uint32_t> *fromAtoms=0,
189 bool useChirality=
false,
190 bool useBondTypes=
true,
191 bool onlyNonzeroInvariants=
false,
192 BitInfoMap *atomsSettingBits=0);
203 std::vector<boost::uint32_t> &invars,
204 bool includeRingMembership=
true);
219 std::vector<boost::uint32_t> &invars,
220 std::vector<const ROMol *> *patterns=0);
ExplicitBitVect * getFingerprintAsBitVect(const ROMol &mol, unsigned int radius, unsigned int nBits, std::vector< boost::uint32_t > *invariants=0, const std::vector< boost::uint32_t > *fromAtoms=0, bool useChirality=false, bool useBondTypes=true, bool onlyNonzeroInvariants=false, BitInfoMap *atomsSettingBits=0)
returns the Morgan fingerprint for a molecule as a bit vector
const std::string morganFingerprintVersion
ROMol is a molecule class that is intended to have a fixed topology.
const std::string morganFeatureInvariantVersion
SparseIntVect< boost::uint32_t > * getHashedFingerprint(const ROMol &mol, unsigned int radius, unsigned int nBits=2048, std::vector< boost::uint32_t > *invariants=0, const std::vector< boost::uint32_t > *fromAtoms=0, bool useChirality=false, bool useBondTypes=true, bool onlyNonzeroInvariants=false, BitInfoMap *atomsSettingBits=0)
returns the Morgan fingerprint for a molecule
std::vector< std::string > defaultFeatureSmarts
void getFeatureInvariants(const ROMol &mol, std::vector< boost::uint32_t > &invars, std::vector< const ROMol * > *patterns=0)
returns the feature invariants for a molecule
const std::string morganConnectivityInvariantVersion
std::map< boost::uint32_t, std::vector< std::pair< boost::uint32_t, boost::uint32_t > > > BitInfoMap
Includes a bunch of functionality for handling Atom and Bond queries.
SparseIntVect< boost::uint32_t > * getFingerprint(const ROMol &mol, unsigned int radius, std::vector< boost::uint32_t > *invariants=0, const std::vector< boost::uint32_t > *fromAtoms=0, bool useChirality=false, bool useBondTypes=true, bool useCounts=true, bool onlyNonzeroInvariants=false, BitInfoMap *atomsSettingBits=0)
returns the Morgan fingerprint for a molecule
void getConnectivityInvariants(const ROMol &mol, std::vector< boost::uint32_t > &invars, bool includeRingMembership=true)
returns the connectivity invariants for a molecule
a class for efficiently storing sparse vectors of ints
a class for bit vectors that are densely occupied