12#ifndef RDKIT_RGROUPDECOMPPARAMS_H
13#define RDKIT_RGROUPDECOMPPARAMS_H
22 RGroupLabels,
unsigned int, IsotopeLabels = 0x01, AtomMapLabels = 0x02,
23 AtomIndexLabels = 0x04, RelabelDuplicateLabels = 0x08,
24 MDLRGroupLabels = 0x10,
25 DummyAtomLabels = 0x20,
28BETTER_ENUM(RGroupMatching,
unsigned int, Greedy = 0x01, GreedyChunks = 0x02,
30 NoSymmetrization = 0x08, GA = 0x10);
32BETTER_ENUM(RGroupLabelling,
unsigned int, AtomMap = 0x01, Isotope = 0x02,
35BETTER_ENUM(RGroupCoreAlignment,
unsigned int, NoAlignment = 0x0, MCS = 0x01);
37BETTER_ENUM(RGroupScore,
unsigned int, Match = 0x1, FingerprintVariance = 0x4);
40 unsigned int labels = RGroupLabels::AutoDetect;
44 RGroupLabelling::AtomMap | RGroupLabelling::MDLRGroup;
100#ifdef RDK_BUILD_THREADSAFE_SSS
112 void checkNonTerminal(
const Atom &atom)
const;
#define BETTER_ENUM(Enum, Underlying,...)
pulls in the core RDKit functionality
RWMol is a molecule class that is intended to be edited.
#define RDKIT_RGROUPDECOMPOSITION_EXPORT
bool removeAllHydrogenRGroupsAndLabels
bool allowNonTerminalRGroups
allow labelled Rgroups of degree 2 or more
unsigned int matchingStrategy
bool allowMultipleRGroupsOnUnlabelled
unlabelled core atoms can have multiple rgroups
void addDummyAtomsToUnlabelledCoreAtoms(RWMol &core)
bool onlyMatchAtRGroups
only allow rgroup decomposition at the specified rgroups
bool removeAllHydrogenRGroups
remove all user-defined rgroups that only have hydrogens
unsigned int autoGetLabels(const RWMol &)
double timeout
timeout in seconds. <=0 indicates no timeout
bool removeHydrogensPostMatch
remove all hydrogens from the output molecules
bool includeTargetMolInResults
int gaNumberOperationsWithoutImprovement
bool allowMultipleCoresInSameMol
Permit a core to match more than once in the same molecule if the sets of.
unsigned int rgroupLabelling
bool prepareCore(RWMol &, const RWMol *alignCore)
RGroupDecompositionParameters()
SubstructMatchParameters substructmatchParams