14 #include "../RDKitBase.h" 28 const short unsigned c2[],
const ROMol& mol1,
29 const FMCS::Graph& query,
const ROMol& mol2,
30 const FMCS::Graph& target,
31 const MCSParameters* p);
36 std::vector<const Atom*> Atoms;
37 std::vector<const Bond*> Bonds;
38 std::vector<unsigned> AtomsIdx;
39 std::vector<unsigned> BondsIdx;
40 const ROMol* QueryMolecule;
41 std::vector<Target> Targets;
44 unsigned long long To;
47 unsigned ThresholdCount;
48 std::vector<const ROMol*> Molecules;
49 #ifdef FAST_SUBSTRUCT_CACHE 50 std::vector<unsigned> QueryAtomLabels;
52 std::vector<unsigned> QueryBondLabels;
59 #ifdef DUP_SUBSTRUCT_CACHE 62 const ROMol* QueryMolecule;
63 unsigned QueryMoleculeMatchedBonds;
64 unsigned QueryMoleculeMatchedAtoms;
65 std::vector<Target> Targets;
70 #ifdef VERBOSE_STATISTICS_ON 91 void makeInitialSeeds();
92 bool createSeedFromMCS(
size_t newQueryTarget,
Seed& seed);
94 std::string generateResultSMARTS(
const MCS& McsIdx)
const;
96 bool match(
Seed& seed);
97 bool matchIncrementalFast(
Seed& seed,
unsigned itarget);
MCSResult find(const std::vector< ROMOL_SPTR > &mols)
unsigned getMaxNumberBonds() const
ROMol is a molecule class that is intended to have a fixed topology.
const ROMol & getQueryMolecule() const
bool FinalChiralityCheckFunction(const short unsigned c1[], const short unsigned c2[], const ROMol &mol1, const FMCS::Graph &query, const ROMol &mol2, const FMCS::Graph &target, const MCSParameters *p)
unsigned getMaxNumberAtoms() const
static unsigned long long nanoClock(void)
ExecStatistics VerboseStatistics
MaximumCommonSubgraph(const MCSParameters *params)
bool checkIfMatchAndAppend(Seed &seed)