40 #ifndef __RD_MORGANFPS_H__ 41 #define __RD_MORGANFPS_H__ 47 #include <boost/cstdint.hpp> 51 namespace MorganFingerprints {
54 typedef std::map<boost::uint32_t,
55 std::vector<std::pair<boost::uint32_t, boost::uint32_t> > >
104 const ROMol &mol,
unsigned int radius,
105 std::vector<boost::uint32_t> *invariants = 0,
106 const std::vector<boost::uint32_t> *fromAtoms = 0,
107 bool useChirality =
false,
bool useBondTypes =
true,
bool useCounts =
true,
108 bool onlyNonzeroInvariants =
false,
BitInfoMap *atomsSettingBits = 0);
153 const ROMol &mol,
unsigned int radius,
unsigned int nBits = 2048,
154 std::vector<boost::uint32_t> *invariants = 0,
155 const std::vector<boost::uint32_t> *fromAtoms = 0,
156 bool useChirality =
false,
bool useBondTypes =
true,
157 bool onlyNonzeroInvariants =
false,
BitInfoMap *atomsSettingBits = 0);
192 const ROMol &mol,
unsigned int radius,
unsigned int nBits,
193 std::vector<boost::uint32_t> *invariants = 0,
194 const std::vector<boost::uint32_t> *fromAtoms = 0,
195 bool useChirality =
false,
bool useBondTypes =
true,
196 bool onlyNonzeroInvariants =
false,
BitInfoMap *atomsSettingBits = 0);
207 std::vector<boost::uint32_t> &invars,
208 bool includeRingMembership =
true);
225 std::vector<boost::uint32_t> &invars,
226 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::map< boost::uint32_t, std::vector< std::pair< boost::uint32_t, boost::uint32_t > > > BitInfoMap
std::vector< std::string > defaultFeatureSmarts
const std::string morganConnectivityInvariantVersion
void getFeatureInvariants(const ROMol &mol, std::vector< boost::uint32_t > &invars, std::vector< const ROMol *> *patterns=0)
returns the feature invariants for a molecule
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