15#include "../RDKitBase.h"
29 const std::uint32_t c1[],
const std::uint32_t c2[],
const ROMol& mol1,
41 std::vector<const Atom*> Atoms;
42 std::vector<const Bond*> Bonds;
43 std::vector<unsigned> AtomsIdx;
44 std::vector<unsigned> BondsIdx;
45 const ROMol* QueryMolecule;
46 std::vector<Target> Targets;
49 unsigned long long To;
52 unsigned ThresholdCount;
53 std::vector<const ROMol*> Molecules;
54#ifdef FAST_SUBSTRUCT_CACHE
55 std::vector<unsigned> QueryAtomLabels;
57 std::vector<unsigned> QueryBondLabels;
64#ifdef DUP_SUBSTRUCT_CACHE
67 const ROMol* QueryMolecule;
68 unsigned QueryMoleculeMatchedBonds;
69 unsigned QueryMoleculeMatchedAtoms;
70 const Atom* QueryMoleculeSingleMatchedAtom;
71 std::vector<Target> Targets;
76#ifdef VERBOSE_STATISTICS_ON
97 void makeInitialSeeds();
98 bool createSeedFromMCS(
size_t newQueryTarget,
Seed&
seed);
100 std::pair<std::string, RWMol*> generateResultSMARTSAndQueryMol(
101 const MCS& mcsIdx)
const;
102 bool addFusedBondQueries(
const MCS& McsIdx,
RWMol* rwMol)
const;
105 bool matchIncrementalFast(
Seed&
seed,
unsigned itarget);
static unsigned long long nanoClock(void)
The class for representing atoms.
MaximumCommonSubgraph(const MCSParameters *params)
unsigned getMaxNumberBonds() const
bool checkIfMatchAndAppend(Seed &seed)
ExecStatistics VerboseStatistics
MCSResult find(const std::vector< ROMOL_SPTR > &mols)
unsigned getMaxNumberAtoms() const
const ROMol & getQueryMolecule() const
RWMol is a molecule class that is intended to be edited.
#define RDKIT_FMCS_EXPORT
bool FinalChiralityCheckFunction(const std::uint32_t c1[], const std::uint32_t c2[], const ROMol &mol1, const FMCS::Graph &query, const ROMol &mol2, const FMCS::Graph &target, const MCSParameters *p)
bool FinalMatchCheckFunction(const std::uint32_t c1[], const std::uint32_t c2[], const ROMol &mol1, const FMCS::Graph &query, const ROMol &mol2, const FMCS::Graph &target, const MCSParameters *p)