12#ifndef RD_ATOMPAIRGEN_H_2018_06
13#define RD_ATOMPAIRGEN_H_2018_06
24 bool df_includeChirality;
25 bool df_topologicalTorsionCorrection;
37 bool topologicalTorsionCorrection =
false);
40 const ROMol &mol)
const override;
43 void toJSON(boost::property_tree::ptree &pt)
const override;
44 void fromJSON(
const boost::property_tree::ptree &pt)
override;
61 void toJSON(boost::property_tree::ptree &pt)
const override;
62 void fromJSON(
const boost::property_tree::ptree &pt)
override;
82 const bool includeChirality =
false,
83 const bool use2D =
true,
const unsigned int minDistance = 1,
84 const unsigned int maxDistance = (
maxPathLen - 1),
85 const std::vector<std::uint32_t> countBounds = {1, 2, 4, 8},
86 const std::uint32_t fpSize = 2048);
94template <
typename OutputType>
97 const unsigned int d_atomIdFirst;
98 const unsigned int d_atomIdSecond;
99 const unsigned int d_distance;
104 const std::vector<std::uint32_t> *atomInvariants,
105 const std::vector<std::uint32_t> *bondInvariants,
107 const bool hashResults =
false,
108 const std::uint64_t fpSize = 0
111 size_t bitId)
const override;
121 const unsigned int atomIdSecond,
const unsigned int distance);
128template <
typename OutputType>
134 const std::vector<std::uint32_t> *fromAtoms,
135 const std::vector<std::uint32_t> *ignoreAtoms,
const int confId,
137 const std::vector<std::uint32_t> *atomInvariants,
138 const std::vector<std::uint32_t> *bondInvariants,
139 const bool hashResults =
false)
const override;
142 void toJSON(boost::property_tree::ptree &pt)
const override;
178template <
typename OutputType>
181 const unsigned int minDistance = 1,
182 const unsigned int maxDistance =
maxPathLen - 1,
183 const bool includeChirality =
false,
const bool use2D =
true,
185 const bool useCountSimulation =
true,
const std::uint32_t fpSize = 2048,
186 const std::vector<std::uint32_t> countBounds = {1, 2, 4, 8},
187 const bool ownsAtomInvGen =
false);
190template <
typename OutputType>
194 const bool ownsAtomInvGen =
false);
abstract base class that generates atom-environments from a molecule
abstract base class that holds atom-environments that will be hashed to generate the fingerprint
abstract base class for atom invariants generators
class that holds atom-pair fingerprint specific arguments
void fromJSON(const boost::property_tree::ptree &pt) override
unsigned int d_maxDistance
std::string infoString() const override
method that returns information string about the fingerprint specific argument set and the arguments ...
void toJSON(boost::property_tree::ptree &pt) const override
unsigned int d_minDistance
AtomPairArguments(const bool countSimulation=true, const bool includeChirality=false, const bool use2D=true, const unsigned int minDistance=1, const unsigned int maxDistance=(maxPathLen - 1), const std::vector< std::uint32_t > countBounds={1, 2, 4, 8}, const std::uint32_t fpSize=2048)
construct a new AtomPairArguments object
void updateAdditionalOutput(AdditionalOutput *output, size_t bitId) const override
OutputType getBitId(FingerprintArguments *arguments, const std::vector< std::uint32_t > *atomInvariants, const std::vector< std::uint32_t > *bondInvariants, AdditionalOutput *additionalOutput, const bool hashResults=false, const std::uint64_t fpSize=0) const override
calculates and returns the bit id to be set for this atom-environment
AtomPairAtomEnv(const unsigned int atomIdFirst, const unsigned int atomIdSecond, const unsigned int distance)
construct a new AtomPairAtomEnv object
AtomPairAtomInvGenerator * clone() const override
void toJSON(boost::property_tree::ptree &pt) const override
void fromJSON(const boost::property_tree::ptree &pt) override
std::vector< std::uint32_t > * getAtomInvariants(const ROMol &mol) const override
get atom invariants from a molecule
std::string infoString() const override
method that returns information about this /c AtomInvariantsGenerator and its arguments
AtomPairAtomInvGenerator(bool includeChirality=false, bool topologicalTorsionCorrection=false)
Construct a new AtomPairAtomInvGenerator object.
class that generates atom-environments for atom-pair fingerprint
std::vector< AtomEnvironment< OutputType > * > getEnvironments(const ROMol &mol, FingerprintArguments *arguments, const std::vector< std::uint32_t > *fromAtoms, const std::vector< std::uint32_t > *ignoreAtoms, const int confId, const AdditionalOutput *additionalOutput, const std::vector< std::uint32_t > *atomInvariants, const std::vector< std::uint32_t > *bondInvariants, const bool hashResults=false) const override
generate and return all atom-envorinments from a molecule
void toJSON(boost::property_tree::ptree &pt) const override
std::string infoString() const override
method that returns information about this /c AtomEnvironmentGenerator and its arguments if any
OutputType getResultSize() const override
Returns the size of the fingerprint based on arguments.
Abstract base class that holds molecule independent arguments that are common amongst all fingerprint...
FingerprintArguments(bool countSimulation, const std::vector< std::uint32_t > countBounds, std::uint32_t fpSize, std::uint32_t numBitsPerFeature=1, bool includeChirality=false)
class that generates same fingerprint style for different output formats
#define RDKIT_FINGERPRINTS_EXPORT
RDKIT_FINGERPRINTS_EXPORT FingerprintGenerator< OutputType > * getAtomPairGenerator(const unsigned int minDistance=1, const unsigned int maxDistance=maxPathLen - 1, const bool includeChirality=false, const bool use2D=true, AtomInvariantsGenerator *atomInvariantsGenerator=nullptr, const bool useCountSimulation=true, const std::uint32_t fpSize=2048, const std::vector< std::uint32_t > countBounds={1, 2, 4, 8}, const bool ownsAtomInvGen=false)
helper function that generates a /c FingerprintGenerator that generates atom-pair fingerprints
const unsigned int maxPathLen