rdkit.Chem.rdRGroupDecomposition module

TEST!!! Module containing RGroupDecomposition classes and functions.

class rdkit.Chem.rdRGroupDecomposition.RGroupCoreAlignment(*values)

Bases: IntEnum

MCS = 1
NoAlignment = 0
None = 0
class rdkit.Chem.rdRGroupDecomposition.RGroupDecomposition(self, cores: object)
class rdkit.Chem.rdRGroupDecomposition.RGroupDecomposition(self, cores: object, params: rdkit.Chem.rdRGroupDecomposition.RGroupDecompositionParameters)

Bases: object

Overloaded function.

  1. __init__(self, cores: object) -> None

Construct from a molecule or sequence of molecules

  1. __init__(self, cores: object, params: rdkit.Chem.rdRGroupDecomposition.RGroupDecompositionParameters) -> None

Construct from a molecule or sequence of molecules and a parameters object

Add(self, mol: rdkit.Chem.rdchem.Mol) int
GetMatchingCoreIdx(self, mol: rdkit.Chem.rdchem.Mol, matches: object | None = None) int
GetRGroupLabels(self) list

Return the current list of found rgroups. Note, Process() should be called first

GetRGroupsAsColumns(self, asSmiles: bool = False) dict

Return the rgroups as columns (note: can be fed directly into a pandas datatable) :param - asSmiles: if True return smiles strings, otherwise return

molecules [default: False]
Column structure:

columns[rgroup_label] = [ mols_or_smiles ]

GetRGroupsAsRows(self, asSmiles: bool = False) list

Return the rgroups as rows (note: can be fed directly into a pandas datatable) :param - asSmiles: if True return smiles strings, otherwise return

molecules [default: False]
Row structure:

rows[idx] = {rgroup_label: molecule_or_smiles}

Process(self) bool

Process the rgroups (must be done prior to GetRGroupsAsRows/Columns and GetRGroupLabels)

ProcessAndScore(self) tuple

Process the rgroups and returns the score (must be done prior to GetRGroupsAsRows/Columns and GetRGroupLabels)

class rdkit.Chem.rdRGroupDecomposition.RGroupDecompositionParameters(self)

Bases: object

RGroupDecompositionParameters controls how the RGroupDecomposition sets labelling and matches structures OPTIONS:

RGroupCoreAlignment.MCS

If set to MCS, cores labels are mapped to

each other using their

Maximum common substructure overlap.

  • RGroupLabels: optionally set where the rgroup labels to use are

encoded.

RGroupLabels.IsotopeLabels - labels are stored

on isotopes

RGroupLabels.AtomMapLabels - labels are stored

on atommaps

RGroupLabels.MDLRGroupLabels - labels are stored

on MDL R-groups

RGroupLabels.DummyAtomLabels - labels are stored

on dummy atoms

RGroupLabels.AtomIndexLabels - use the atom index

as the label

RGroupLabels.RelabelDuplicateLabels - fix any

duplicate labels

RGroupLabels.AutoDetect - auto detect the label

[default]

Note: in all cases, any rgroups found on unlabelled atoms will

be automatically

labelled.

  • RGroupLabelling: choose where the rlabels are stored on the

decomposition

RGroupLabelling.AtomMap - store rgroups as atom

maps (for smiles)

RGroupLabelling.Isotope - store rgroups on the

isotope

RGroupLabelling.MDLRGroup - store rgroups as mdl

rgroups (for molblocks)

default: AtomMap | MDLRGroup

  • onlyMatchAtRGroups: only allow rgroup decomposition at the

specified rgroups
  • removeAllHydrogenRGroups: remove all user-defined rgroups that

only have hydrogens
  • removeAllHydrogenRGroupsAndLabels: remove all user-defined

rgroups that only have hydrogens, and also remove the corresponding labels from the core

  • removeHydrogensPostMatch: remove all hydrogens from the output

molecules
  • allowNonTerminalRGroups: allow labelled Rgroups of degree 2 or

more
  • doTautomers: match all tautomers of a core against each

input structure
  • doEnumeration: expand input cores into enumerated mol bundles

  • allowMultipleRGroupsOnUnlabelled: permit more than one rgroup to

be attached to an unlabelled core atom
  • allowMultipleCoresInSameMol: permit a core to match more than

once in the same molecule if the sets of matched atoms are not equal (default=False)

Constructor, takes no arguments

property alignment

(self) -> int

property allowMultipleCoresInSameMol

(self) -> bool

property allowMultipleRGroupsOnUnlabelled

(self) -> bool

property allowNonTerminalRGroups

(self) -> bool

property chunkSize

(self) -> int

property doEnumeration

(self) -> bool

property doTautomers

(self) -> bool

property gaMaximumOperations

(self) -> int

property gaNumberOperationsWithoutImprovement

(self) -> int

property gaNumberRuns

(self) -> int

property gaParallelRuns

(self) -> bool

property gaPopulationSize

(self) -> int

property gaRandomSeed

(self) -> int

property includeTargetMolInResults

(self) -> bool

property labels

(self) -> int

property matchingStrategy

(self) -> int

property onlyMatchAtRGroups

(self) -> bool

property removeAllHydrogenRGroups

(self) -> bool

property removeAllHydrogenRGroupsAndLabels

(self) -> bool

property removeHydrogensPostMatch

(self) -> bool

property rgroupLabelling

(self) -> int

property scoreMethod

(self) -> int

property substructMatchParams

(self) -> rdkit.Chem.rdchem.SubstructMatchParameters

property timeout

(self) -> float

class rdkit.Chem.rdRGroupDecomposition.RGroupLabelling(*values)

Bases: IntEnum

AtomMap = 1
Isotope = 2
MDLRGroup = 4
class rdkit.Chem.rdRGroupDecomposition.RGroupLabels(*values)

Bases: IntEnum

AtomIndexLabels = 4
AtomMapLabels = 2
AutoDetect = 255
DummyAtomLabels = 32
IsotopeLabels = 1
MDLRGroupLabels = 16
RelabelDuplicateLabels = 8
class rdkit.Chem.rdRGroupDecomposition.RGroupMatching(*values)

Bases: IntEnum

Exhaustive = 4
GA = 16
Greedy = 1
GreedyChunks = 2
NoSymmetrization = 8
class rdkit.Chem.rdRGroupDecomposition.RGroupScore(*values)

Bases: IntEnum

FingerprintVariance = 4
Match = 1