61 const std::vector<std::unique_ptr<ROMol>> &fragSet,
71 const std::vector<size_t> &synthNums)
const;
85 const std::vector<size_t> &synthNums)
const;
88 std::unique_ptr<std::mt19937> d_randGen;
97 virtual unsigned int getNumQueryFragmentsRequired();
102 virtual void extraSearchSetup(
103 [[maybe_unused]] std::vector<std::vector<std::unique_ptr<ROMol>>>
106 std::vector<std::unique_ptr<SynthonSpaceHitSet>> assembleHitSets(
107 const TimePoint *endTime,
bool &timedOut, std::uint64_t &totHits);
109 std::vector<std::unique_ptr<SynthonSpaceHitSet>> doTheSearch(
110 std::vector<std::vector<std::unique_ptr<ROMol>>> &fragSets,
111 const TimePoint *endTime,
bool &timedOut, std::uint64_t &totHits);
118 void buildHits(std::vector<std::unique_ptr<SynthonSpaceHitSet>> &hitsets,
119 const TimePoint *endTime,
bool &timedOut,
120 std::vector<std::unique_ptr<ROMol>> &results)
const;
122 const std::vector<std::unique_ptr<SynthonSpaceHitSet>> &hitsets,
123 const TimePoint *endTime,
bool &timedOut,
124 std::vector<std::unique_ptr<ROMol>> &results)
const;
125 void makeHitsFromToTry(
128 const TimePoint *endTime, std::vector<std::unique_ptr<ROMol>> &results,
129 std::atomic<std::int64_t> &numHitsFound)
const;
130 void processToTrySet(
133 const TimePoint *endTime, std::vector<std::unique_ptr<ROMol>> &results,
134 std::atomic<std::int64_t> &numHitsFound)
const;
138 std::vector<std::vector<ROMol *>> getSynthonsToUse(
139 const std::vector<boost::dynamic_bitset<>> &synthonsToUse,
140 const std::string &reaction_id)
const;