11#ifndef RD_GENERICGROUPS_H
12#define RD_GENERICGROUPS_H
17#include <boost/dynamic_bitset.hpp>
24namespace GenericGroups {
47 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
58 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
69 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
84 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
103 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
120 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
133 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
148 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
161 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
173 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
185 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
199 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
213 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
227 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
240 const ROMol &mol,
const Atom &atom, boost::dynamic_bitset<> ignore);
242const static std::map<
244 std::function<bool(
const ROMol &,
const Atom &, boost::dynamic_bitset<>)>>
281 const std::vector<unsigned int> &match);
295 ROMol &mol,
bool useAtomLabels =
true,
bool useSGroups =
true);
The class for representing atoms.
#define RDKIT_GENERICGROUPS_EXPORT
RDKIT_GENERICGROUPS_EXPORT bool CyclicAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches cyclic side chains.
RDKIT_GENERICGROUPS_EXPORT bool AlkylAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches alkyl side chains.
RDKIT_GENERICGROUPS_EXPORT bool CarbocycloalkylAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches cycloalkyl side chains.
RDKIT_GENERICGROUPS_EXPORT bool HeteroacyclicAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches acyclic side chains with at least one heteroatom.
RDKIT_GENERICGROUPS_EXPORT bool HeterocyclicAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches heterocyclic side chains.
RDKIT_GENERICGROUPS_EXPORT bool CarbocyclicAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches carbocyclic side chains.
RDKIT_GENERICGROUPS_EXPORT bool AcyclicAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches acyclic side chains.
RDKIT_GENERICGROUPS_EXPORT bool AlkynylAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches alkynyl side chains.
RDKIT_GENERICGROUPS_EXPORT bool CarbocycloalkenylAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches cycloalkenyl side chains.
RDKIT_GENERICGROUPS_EXPORT bool NoCarbonRingAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches rings without carbon.
RDKIT_GENERICGROUPS_EXPORT bool CarboacyclicAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches all-carbon acyclic side chains.
RDKIT_GENERICGROUPS_EXPORT bool HeteroarylAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches heteroaryl side chains.
RDKIT_GENERICGROUPS_EXPORT bool AlkoxyacyclicAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches acyclic alkoxy side chains.
RDKIT_GENERICGROUPS_EXPORT bool AlkenylAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches alkenyl side chains.
RDKIT_GENERICGROUPS_EXPORT bool CarboarylAtomMatcher(const ROMol &mol, const Atom &atom, boost::dynamic_bitset<> ignore)
Matches aryl side chains.
RDKIT_GENERICGROUPS_EXPORT bool genericAtomMatcher(const ROMol &mol, const ROMol &query, const std::vector< unsigned int > &match)
RDKIT_GENERICGROUPS_EXPORT void setGenericQueriesFromProperties(ROMol &mol, bool useAtomLabels=true, bool useSGroups=true)
sets the apropriate generic query tags based on atom labels and/or SGroups
static const std::map< std::string, std::function< bool(const ROMol &, const Atom &, boost::dynamic_bitset<>)> > genericMatchers
RDKIT_GENERICGROUPS_EXPORT void convertGenericQueriesToSubstanceGroups(ROMol &mol)