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 MatchVectType &matchVect,
bool recursionPossible,
170 bool useChirality,
bool useQueryQueryMatches) {
176 std::vector<MatchVectType> matchVects =
178 if (matchVects.size()) {
179 matchVect = matchVects.front();
183 return matchVect.size() != 0;
189 std::vector<MatchVectType> &matchVect,
190 bool uniquify,
bool recursionPossible,
191 bool useChirality,
bool useQueryQueryMatches,
192 unsigned int maxMatches,
int numThreads) {
201 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.