15 #include "../RDKitBase.h"
29 const short unsigned c2[],
const ROMol& mol1,
30 const FMCS::Graph& query,
const ROMol& mol2,
31 const FMCS::Graph& target,
32 const MCSParameters* p);
35 const short unsigned c2[],
const ROMol& mol1,
36 const FMCS::Graph& query,
const ROMol& mol2,
37 const FMCS::Graph& target,
38 const MCSParameters* p);
43 std::vector<const Atom*> Atoms;
44 std::vector<const Bond*> Bonds;
45 std::vector<unsigned> AtomsIdx;
46 std::vector<unsigned> BondsIdx;
47 const ROMol* QueryMolecule;
48 std::vector<Target> Targets;
51 unsigned long long To;
54 unsigned ThresholdCount;
55 std::vector<const ROMol*> Molecules;
56 #ifdef FAST_SUBSTRUCT_CACHE
57 std::vector<unsigned> QueryAtomLabels;
59 std::vector<unsigned> QueryBondLabels;
66 #ifdef DUP_SUBSTRUCT_CACHE
69 const ROMol* QueryMolecule;
70 unsigned QueryMoleculeMatchedBonds;
71 unsigned QueryMoleculeMatchedAtoms;
72 std::vector<Target> Targets;
77 #ifdef VERBOSE_STATISTICS_ON
83 MCSResult find(
const std::vector<ROMOL_SPTR>& mols);
89 bool checkIfMatchAndAppend(
Seed& seed);
98 void makeInitialSeeds();
99 bool createSeedFromMCS(
size_t newQueryTarget, Seed& seed);
101 std::string generateResultSMARTS(
const MCS& McsIdx)
const;
103 bool match(Seed& seed);
104 bool matchIncrementalFast(Seed& seed,
unsigned itarget);