11#ifndef RDKIT_SYNTHONSET_H
12#define RDKIT_SYNTHONSET_H
18#include <boost/dynamic_bitset.hpp>
28namespace SynthonSpaceSearch {
31struct SynthonSpaceSearchParams;
43 const std::string &
getId()
const {
return d_id; }
44 const std::vector<std::vector<std::pair<std::string, Synthon *>>> &
48 const boost::dynamic_bitset<> &
getConnectors()
const {
return d_connectors; }
51 return d_synthConnPatts;
55 const std::vector<std::unique_ptr<ExplicitBitVect>> &
getConnRegFPs()
const;
56 const std::unique_ptr<ExplicitBitVect> &
getAddFP()
const;
66 std::uint32_t version);
73 const std::string &synthonId);
100 unsigned int numBits);
106 const std::vector<boost::dynamic_bitset<>> &reqSynths)
const;
110 const std::vector<size_t> &synthNums)
const;
120 std::vector<std::vector<std::pair<std::string, Synthon *>>> d_synthons;
123 boost::dynamic_bitset<> d_connectors;
127 std::vector<boost::dynamic_bitset<>> d_synthConnPatts;
135 std::vector<std::shared_ptr<ROMol>> d_connectorRegions;
136 std::vector<std::string> d_connRegSmis;
138 std::vector<std::unique_ptr<ExplicitBitVect>> d_connRegFPs;
144 std::unique_ptr<ExplicitBitVect> d_addFP;
145 std::unique_ptr<ExplicitBitVect> d_subtractFP;
148 std::vector<int> d_numConnectors;
class that generates same fingerprint style for different output formats
const std::unique_ptr< ExplicitBitVect > & getSubtractFP() const
void assignConnectorsUsed()
bool hasFingerprints() const
const std::vector< std::vector< std::pair< std::string, Synthon * > > > & getSynthons() const
const std::unique_ptr< ExplicitBitVect > & getAddFP() const
const std::vector< std::unique_ptr< ExplicitBitVect > > & getConnRegFPs() const
SynthonSet(SynthonSet &&rhs)=delete
void enumerateToStream(std::ostream &os) const
bool hasAddAndSubtractFPs() const
void addSynthon(int synthonSetNum, Synthon *newSynthon, const std::string &synthonId)
std::unique_ptr< ROMol > buildProduct(const std::vector< size_t > &synthNums) const
void writeToDBStream(std::ostream &os) const
void buildAddAndSubtractFPs(const FingerprintGenerator< std::uint64_t > &fpGen, unsigned int numBits)
void readFromDBStream(std::istream &is, const SynthonSpace &space, std::uint32_t version)
void buildSynthonFingerprints(const FingerprintGenerator< std::uint64_t > &fpGen)
const std::vector< std::shared_ptr< ROMol > > & getConnectorRegions() const
SynthonSet(const std::string &id)
std::string buildProductName(const std::vector< size_t > &synthNums) const
const std::vector< int > & getNumConnectors() const
std::uint64_t getNumProducts() const
void makeSynthonSearchMols()
std::vector< std::vector< ROMol * > > getSynthons(const std::vector< boost::dynamic_bitset<> > &reqSynths) const
void buildConnectorRegions()
const std::vector< boost::dynamic_bitset<> > & getSynthonConnectorPatterns() const
const std::vector< std::string > & getConnectorRegionSmiles() const
const boost::dynamic_bitset & getConnectors() const
SynthonSet(const SynthonSet &rhs)=delete
const std::string & getId() const
void removeEmptySynthonSets()
#define RDKIT_SYNTHONSPACESEARCH_EXPORT