12#ifndef RD_TOPOLOGICALTORSIONGEN_H_2018_07
13#define RD_TOPOLOGICALTORSIONGEN_H_2018_07
28 void toJSON(boost::property_tree::ptree &pt)
const override;
29 void fromJSON(
const boost::property_tree::ptree &pt)
override;
44 const bool includeChirality =
false,
const uint32_t torsionAtomCount = 4,
45 const bool countSimulation =
true,
46 const std::vector<std::uint32_t> countBounds = {1, 2, 4, 8},
47 const std::uint32_t fpSize = 2048);
50template <
typename OutputType>
53 const OutputType d_bitId;
59 const std::vector<std::uint32_t> *atomInvariants,
60 const std::vector<std::uint32_t> *bondInvariants,
62 const bool hashResults =
false,
63 const std::uint64_t fpSize = 0
66 size_t bitId)
const override;
73 : d_bitId(bitId), d_atomPath(std::move(atomPath)) {}
76template <
typename OutputType>
82 const std::vector<std::uint32_t> *fromAtoms,
83 const std::vector<std::uint32_t> *ignoreAtoms,
const int confId,
85 const std::vector<std::uint32_t> *atomInvariants,
86 const std::vector<std::uint32_t> *bondInvariants,
87 const bool hashResults =
false)
const override;
90 void toJSON(boost::property_tree::ptree &pt)
const override;
91 void fromJSON(
const boost::property_tree::ptree &pt)
override;
123template <
typename OutputType>
126 bool includeChirality =
false, uint32_t torsionAtomCount = 4,
128 bool countSimulation =
true, std::uint32_t fpSize = 2048,
129 std::vector<std::uint32_t> countBounds = {1, 2, 4, 8},
130 bool ownsAtomInvGen =
false);
132template <
typename OutputType>
136 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
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
uint32_t d_torsionAtomCount
void fromJSON(const boost::property_tree::ptree &pt) override
TopologicalTorsionArguments(const bool includeChirality=false, const uint32_t torsionAtomCount=4, const bool countSimulation=true, const std::vector< std::uint32_t > countBounds={1, 2, 4, 8}, const std::uint32_t fpSize=2048)
Construct a new Topological Torsion Arguments object.
void toJSON(boost::property_tree::ptree &pt) const override
std::string infoString() const override
method that returns information string about the fingerprint specific argument set and the arguments ...
bool df_onlyShortestPaths
void updateAdditionalOutput(AdditionalOutput *output, size_t bitId) const override
TopologicalTorsionAtomEnv(OutputType bitId, INT_VECT atomPath)
Construct a new Topological Torsion Atom Env object.
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
std::string infoString() const override
method that returns information about this /c AtomEnvironmentGenerator and its arguments if any
void fromJSON(const boost::property_tree::ptree &pt) override
void toJSON(boost::property_tree::ptree &pt) const override
OutputType getResultSize() const override
Returns the size of the fingerprint based on arguments.
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
#define RDKIT_FINGERPRINTS_EXPORT
RDKIT_FINGERPRINTS_EXPORT FingerprintGenerator< OutputType > * getTopologicalTorsionGenerator(bool includeChirality=false, uint32_t torsionAtomCount=4, AtomInvariantsGenerator *atomInvariantsGenerator=nullptr, bool countSimulation=true, std::uint32_t fpSize=2048, std::vector< std::uint32_t > countBounds={1, 2, 4, 8}, bool ownsAtomInvGen=false)
Get the Topological Torsion Generator object.
std::vector< int > INT_VECT