12 #ifndef RD_ATOMPAIRGEN_H_2018_06
13 #define RD_ATOMPAIRGEN_H_2018_06
20 using namespace AtomPairs;
24 const bool df_includeChirality;
25 const bool df_topologicalTorsionCorrection;
37 bool topologicalTorsionCorrection =
false);
49 template <
typename OutputType>
83 const bool includeChirality =
false,
84 const bool use2D =
true,
const unsigned int minDistance = 1,
85 const unsigned int maxDistance = (
maxPathLen - 1),
86 const std::vector<std::uint32_t> countBounds = {1, 2, 4, 8},
87 const std::uint32_t fpSize = 2048);
95 template <
typename OutputType>
98 const unsigned int d_atomIdFirst;
99 const unsigned int d_atomIdSecond;
100 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)
const;
117 const unsigned int atomIdSecond,
const unsigned int distance);
124 template <
typename OutputType>
130 const std::vector<std::uint32_t> *fromAtoms,
131 const std::vector<std::uint32_t> *ignoreAtoms,
const int confId,
133 const std::vector<std::uint32_t> *atomInvariants,
134 const std::vector<std::uint32_t> *bondInvariants,
135 const bool hashResults =
false)
const;
166 template <
typename OutputType>
169 const unsigned int minDistance = 1,
170 const unsigned int maxDistance =
maxPathLen - 1,
171 const bool includeChirality =
false,
const bool use2D =
true,
173 const bool useCountSimulation =
true,
const std::uint32_t fpSize = 2048,
174 const std::vector<std::uint32_t> countBounds = {1, 2, 4, 8},
175 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
const unsigned int d_maxDistance
OutputType getResultSize() const
Returns the size of the fingerprint based on arguments.
const bool df_includeChirality
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
const unsigned int d_minDistance
std::string infoString() const
method that returns information string about the fingerprint specific argument set and the arguments ...
class that holds atom-environment data needed for atom-pair fingerprint generation
OutputType getBitId(FingerprintArguments< OutputType > *arguments, const std::vector< std::uint32_t > *atomInvariants, const std::vector< std::uint32_t > *bondInvariants, const AdditionalOutput *additionalOutput, const bool hashResults=false) const
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
std::string infoString() const
method that returns information about this /c AtomInvariantsGenerator and its arguments
AtomPairAtomInvGenerator(bool includeChirality=false, bool topologicalTorsionCorrection=false)
Construct a new AtomPairAtomInvGenerator object.
std::vector< std::uint32_t > * getAtomInvariants(const ROMol &mol) const
get atom invariants from a molecule
class that generates atom-environments for atom-pair fingerprint
std::vector< AtomEnvironment< OutputType > * > getEnvironments(const ROMol &mol, FingerprintArguments< OutputType > *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
generate and return all atom-envorinments from a molecule
std::string infoString() const
method that returns information about this /c AtomEnvironmentGenerator and its arguments if any
Abstract base class that holds molecule independent arguments that are common amongst all fingerprint...
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