17#ifndef RDKIT_SYNTHONSPACE_H
18#define RDKIT_SYNTHONSPACE_H
34#include <boost/dynamic_bitset.hpp>
158 const std::shared_ptr<SynthonSet>
getReaction(std::string reactionName);
355 void readDBFile(
const std::string &inFilename,
int numThreads = 1);
396 const std::string &reactionName);
402 std::string d_fileName;
405 std::vector<std::pair<std::string, std::shared_ptr<SynthonSet>>> d_reactions;
410 unsigned int d_maxNumSynthons{0};
411 std::uint64_t d_numProducts{0};
415 std::int32_t d_fileMajorVersion{-1};
421 std::vector<std::pair<std::string, std::unique_ptr<Synthon>>> d_synthonPool;
425 std::string d_fpType;
428 bool d_hasRingFormer{
false};
430 SearchResults extendedSearch(
const MolBundle &query,
431 const SubstructMatchParameters &matchParams,
432 const SynthonSpaceSearchParams ¶ms);
433 SearchResults extendedSearch(
434 const GeneralizedSubstruct::ExtendedQueryMol::TautomerBundle_T &query,
435 const SubstructMatchParameters &matchParams,
436 const SynthonSpaceSearchParams ¶ms);
437 SearchResults extendedSearch(
const TautomerQuery &query,
438 const SubstructMatchParameters &matchParams,
439 const SynthonSpaceSearchParams ¶ms);
453 const std::string &inFilename,
const std::string &outFilename,
class that generates same fingerprint style for different output formats
std::string getSynthonFingerprintType() const
void fingerprintSearch(const ROMol &query, const FingerprintGenerator< std::uint64_t > &fpGen, const SearchResultCallback &callback, const SynthonSpaceSearchParams ¶ms=SynthonSpaceSearchParams())
bool getHasRingFormer() const
friend class SynthonSpaceSearcher
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)
friend class SynthonSpaceRascalSearcher
unsigned int getMaxNumSynthons() const
friend class SynthonSpaceSubstructureSearcher
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
void substructureSearch(const ROMol &query, const SearchResultCallback &callback, const SubstructMatchParameters &matchParams=SubstructMatchParameters(), const SynthonSpaceSearchParams ¶ms=SynthonSpaceSearchParams())
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)
void rascalSearch(const ROMol &query, const RascalMCES::RascalOptions &rascalOptions, const SearchResultCallback &callback, const SynthonSpaceSearchParams ¶ms=SynthonSpaceSearchParams())
unsigned int getFPSize() const
unsigned int getMaxNumConnectors() 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
friend class SynthonSpaceFingerprintSearcher
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)
std::function< bool(std::vector< std::unique_ptr< ROMol > > &)> SearchResultCallback
RDKIT_SYNTHONSPACESEARCH_EXPORT std::string formattedIntegerString(std::int64_t value)
constexpr unsigned int MAX_CONNECTOR_NUM
const std::vector< std::string > CONNECTOR_SYMBOLS
std::int64_t toTryChunkSize
unsigned int minHitChiralAtoms
std::uint64_t maxNumFragSets
double approxSimilarityAdjuster
double fragSimilarityAdjuster
unsigned int minHitHeavyAtoms