17#ifndef RDKIT_SYNTHONSPACE_H
18#define RDKIT_SYNTHONSPACE_H
33#include <boost/dynamic_bitset.hpp>
49namespace SynthonSpaceSearch {
58 std::int64_t maxHits{1000};
60 std::uint64_t maxNumFragSets{
67 std::int64_t toTryChunkSize{2500000};
76 std::int64_t hitStart{0};
79 bool randomSample{
false};
85 int numRandomSweeps{10};
89 double similarityCutoff{0.5};
94 double fragSimilarityAdjuster{
102 double approxSimilarityAdjuster{
112 std::uint64_t timeOut{600};
146 const std::shared_ptr<SynthonSet>
getReaction(std::string reactionName);
283 void readDBFile(
const std::string &inFilename,
int numThreads = 1);
322 const std::string &reactionName);
328 std::string d_fileName;
331 std::vector<std::pair<std::string, std::shared_ptr<SynthonSet>>> d_reactions;
336 unsigned int d_maxNumSynthons{0};
337 std::uint64_t d_numProducts{0};
341 std::int32_t d_fileMajorVersion{-1};
347 std::vector<std::pair<std::string, std::unique_ptr<Synthon>>> d_synthonPool;
351 std::string d_fpType;
353 SearchResults extendedSearch(
const MolBundle &query,
354 const SubstructMatchParameters &matchParams,
355 const SynthonSpaceSearchParams ¶ms);
356 SearchResults extendedSearch(
357 const GeneralizedSubstruct::ExtendedQueryMol::TautomerBundle_T &query,
358 const SubstructMatchParameters &matchParams,
359 const SynthonSpaceSearchParams ¶ms);
360 SearchResults extendedSearch(
const TautomerQuery &query,
361 const SubstructMatchParameters &matchParams,
362 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
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)
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)
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)