17#ifndef RDKIT_SYNTHONSPACE_H
18#define RDKIT_SYNTHONSPACE_H
34#include <boost/dynamic_bitset.hpp>
50namespace SynthonSpaceSearch {
59 std::int64_t maxHits{1000};
61 std::uint64_t maxNumFragSets{
68 std::int64_t toTryChunkSize{2500000};
77 std::int64_t hitStart{0};
80 bool randomSample{
false};
86 int numRandomSweeps{10};
90 double similarityCutoff{0.5};
95 double fragSimilarityAdjuster{
103 double approxSimilarityAdjuster{
113 unsigned int minHitHeavyAtoms{0};
114 int maxHitHeavyAtoms{-1};
116 double minHitMolWt{0};
117 double maxHitMolWt{0};
119 unsigned int minHitChiralAtoms{
121 int maxHitChiralAtoms{-1};
123 std::uint64_t timeOut{600};
157 const std::shared_ptr<SynthonSet>
getReaction(std::string reactionName);
295 void readDBFile(
const std::string &inFilename,
int numThreads = 1);
335 const std::string &reactionName);
341 std::string d_fileName;
344 std::vector<std::pair<std::string, std::shared_ptr<SynthonSet>>> d_reactions;
349 unsigned int d_maxNumSynthons{0};
350 std::uint64_t d_numProducts{0};
354 std::int32_t d_fileMajorVersion{-1};
360 std::vector<std::pair<std::string, std::unique_ptr<Synthon>>> d_synthonPool;
364 std::string d_fpType;
366 SearchResults extendedSearch(
const MolBundle &query,
367 const SubstructMatchParameters &matchParams,
368 const SynthonSpaceSearchParams ¶ms);
369 SearchResults extendedSearch(
370 const GeneralizedSubstruct::ExtendedQueryMol::TautomerBundle_T &query,
371 const SubstructMatchParameters &matchParams,
372 const SynthonSpaceSearchParams ¶ms);
373 SearchResults extendedSearch(
const TautomerQuery &query,
374 const SubstructMatchParameters &matchParams,
375 const SynthonSpaceSearchParams ¶ms);
class that generates same fingerprint style for different output formats
std::string getSynthonFingerprintType() const
void readTextFile(const std::string &inFilename, bool &cancelled)
bool hasAddAndSubstractFingerprints() const
SearchResults substructureSearch(const GeneralizedSubstruct::ExtendedQueryMol &query, const SubstructMatchParameters &matchParams=SubstructMatchParameters(), const SynthonSpaceSearchParams ¶ms=SynthonSpaceSearchParams())
std::string getInputFileName() const
const std::shared_ptr< SynthonSet > getReaction(std::string reactionName)
unsigned int getMaxNumSynthons() const
SearchResults rascalSearch(const ROMol &query, const RascalMCES::RascalOptions &rascalOptions, const SynthonSpaceSearchParams ¶ms=SynthonSpaceSearchParams())
Synthon * addSynthonToPool(const std::string &smiles)
SynthonSpace & operator=(const SynthonSpace &other)=delete
void summarise(std::ostream &os)
SynthonSpace(const SynthonSpace &other)=delete
bool hasFingerprints() const
void writeEnumeratedFile(const std::string &outFilename) const
std::uint64_t getNumProducts() const
void writeDBFile(const std::string &outFilename) const
size_t getNumReactions() const
void enumerateToStream(std::ostream &os) const
SearchResults fingerprintSearch(const ROMol &query, const FingerprintGenerator< std::uint64_t > &fpGen, const SynthonSpaceSearchParams ¶ms=SynthonSpaceSearchParams())
std::shared_ptr< SynthonSet > addReactionToPool(const std::string &reactionName)
unsigned int getFPSize() const
void readDBFile(const std::string &inFilename, int numThreads=1)
SearchResults substructureSearch(const ROMol &query, const SubstructMatchParameters &matchParams=SubstructMatchParameters(), const SynthonSpaceSearchParams ¶ms=SynthonSpaceSearchParams())
Synthon * getSynthonFromPool(const std::string &smiles) const
std::vector< std::string > getReactionNames() const
void buildSynthonFingerprints(const FingerprintGenerator< std::uint64_t > &fpGen)
void readStream(std::istream &is, bool &cancelled)
unsigned int getPatternFPSize() const
#define RDKIT_SYNTHONSPACESEARCH_EXPORT
RDKIT_SYNTHONSPACESEARCH_EXPORT void convertTextToDBFile(const std::string &inFilename, const std::string &outFilename, bool &cancelled, const FingerprintGenerator< std::uint64_t > *fpGen=nullptr)
RDKIT_SYNTHONSPACESEARCH_EXPORT std::string formattedIntegerString(std::int64_t value)
constexpr unsigned int MAX_CONNECTOR_NUM
const std::vector< std::string > CONNECTOR_SYMBOLS
bool rdvalue_is(const RDValue_cast_t)