54 std::unique_ptr<boost::mt19937> d_randGen;
63 virtual std::vector<SynthonSpaceHitSet> searchFragSet(
64 std::vector<std::unique_ptr<ROMol>> &fragSet)
const = 0;
70 std::unique_ptr<ROMol> buildAndVerifyHit(
71 const std::unique_ptr<SynthonSet> &reaction,
72 const std::vector<size_t> &synthNums,
73 std::set<std::string> &resultsNames)
const;
78 virtual bool quickVerify(
79 [[maybe_unused]]
const std::unique_ptr<SynthonSet> &reaction,
80 [[maybe_unused]]
const std::vector<size_t> &synthNums)
const {
83 virtual bool verifyHit(
const ROMol &mol)
const = 0;
92 void buildHits(std::vector<SynthonSpaceHitSet> &hitsets,
size_t totHits,
94 std::vector<std::unique_ptr<ROMol>> &results)
const;
95 void buildAllHits(
const std::vector<SynthonSpaceHitSet> &hitsets,
96 std::set<std::string> &resultsNames,
98 std::vector<std::unique_ptr<ROMol>> &results)
const;
99 void buildRandomHits(
const std::vector<SynthonSpaceHitSet> &hitsets,
100 size_t totHits, std::set<std::string> &resultsNames,
101 const TimePoint *endTime,
bool &timedOut,
102 std::vector<std::unique_ptr<ROMol>> &results)
const;
105 std::vector<std::vector<ROMol *>> getSynthonsToUse(
106 const std::vector<boost::dynamic_bitset<>> &synthonsToUse,
107 const std::string &reaction_id)
const;