11 #ifndef RD_SUBSTRUCTMATCH_H 12 #define RD_SUBSTRUCTMATCH_H 21 class ResonanceMolSupplier;
45 : useChirality(false),
46 aromaticMatchesConjugated(false),
47 useQueryQueryMatches(false),
48 recursionPossible(true),
104 template <
typename T1,
typename T2>
106 bool recursionPossible =
true,
bool useChirality =
false,
107 bool useQueryQueryMatches =
false) {
113 std::vector<MatchVectType> matchVects =
SubstructMatch(mol, query, params);
114 if (matchVects.size()) {
115 matchVect = matchVects.front();
119 return matchVect.size() != 0;
144 template <
typename T1,
typename T2>
146 std::vector<MatchVectType> &matchVect,
147 bool uniquify =
true,
bool recursionPossible =
true,
148 bool useChirality =
false,
149 bool useQueryQueryMatches =
false,
150 unsigned int maxMatches = 1000,
151 int numThreads = 1) {
160 return matchVect.size();
169 const ROMol &query, MatchVectType &matchVect,
170 bool recursionPossible,
bool useChirality,
171 bool useQueryQueryMatches) {
177 std::vector<MatchVectType> matchVects =
179 if (matchVects.size()) {
180 matchVect = matchVects.front();
184 return matchVect.size() != 0;
190 std::vector<MatchVectType> &matchVect,
191 bool uniquify,
bool recursionPossible,
192 bool useChirality,
bool useQueryQueryMatches,
193 unsigned int maxMatches,
int numThreads) {
202 return matchVect.size();
std::vector< std::pair< int, int > > MatchVectType
used to return matches from substructure searching, The format is (queryAtomIdx, molAtomIdx) ...
bool useQueryQueryMatches
SubstructMatchParameters()
unsigned int maxMatches
maximum number of matches to return
bool aromaticMatchesConjugated
#define RDKIT_SUBSTRUCTMATCH_EXPORT
bool uniquify
uniquify (by atom index) match results
bool recursionPossible
Allow recursive queries.
RDKIT_SUBSTRUCTMATCH_EXPORT std::vector< MatchVectType > SubstructMatch(const ROMol &mol, const ROMol &query, const SubstructMatchParameters ¶ms=SubstructMatchParameters())
Find a substructure match for a query in a molecule.