rdkit.Chem.rdMolDescriptors module

Module containing functions to compute molecular descriptors

class rdkit.Chem.rdMolDescriptors.AtomPairsParameters

Bases: object

atomTypes = [5, 6, 7, 8, 9, 14, 15, 16, 17, 33, 34, 35, 51, 52, 53, 0]
codeSize = 9
numAtomPairFingerprintBits = 23
numBranchBits = 3
numChiralBits = 2
numPathBits = 5
numPiBits = 2
numTypeBits = 4
version = '1.1.0'
class rdkit.Chem.rdMolDescriptors.DoubleCubicLatticeVolume(self, mol: rdkit.Chem.rdchem.Mol, isProtein: bool = False, includeLigand: bool = True, probeRadius: float = 1.4, confId: int = -1)
class rdkit.Chem.rdMolDescriptors.DoubleCubicLatticeVolume(self, mol: rdkit.Chem.rdchem.Mol, radii: list, isProtein: bool = False, includeLigand: bool = True, probeRadius: float = 1.4, confId: int = -1)

Bases: object

Class for the Double Cubic Lattice Volume method

Overloaded function.

  1. __init__(self, mol: rdkit.Chem.rdchem.Mol, isProtein: bool = False, includeLigand: bool = True, probeRadius: float = 1.4, confId: int = -1) -> None

  2. __init__(self, mol: rdkit.Chem.rdchem.Mol, radii: list, isProtein: bool = False, includeLigand: bool = True, probeRadius: float = 1.4, confId: int = -1) -> None

Parameters:
  • mol (-) – molecule or protein under consideration

  • radii (-) – radii for atoms of input mol (get using GetPeriodicTable or provide custom list)

  • isProtein (-) – flag to indicate if the input is a protein (default=False, free ligand).

  • includeLigand (-) – flag to include or exclude a bound ligand when input is a protein (default=True)

  • probeRadius (-) – radius of the solvent probe (default=1.2)

  • confId (-) – conformer ID to consider (default=-1)

GetAtomSurfaceArea(self, atom_idx: int) → float

Get the surface area of atom with atom_idx

GetAtomVolume(self, atomIdx: int, solventRadius: float) → float

Get the volume atom of atom_idx with volume for specified Probe Radius

GetCompactness(self) → float

Get the Compactness of the Protein

GetPackingDensity(self) → float

Get the PackingDensity of the Protein

GetPartialSurfaceArea(self, atomIndices: object) → float

Get the Partial Surface Area of the Molecule or Protein for specified subset of atoms

GetPartialVolume(self, atomIdx: object) → float

Get the Partial Volume of the Molecule or Protein for specified subset of atoms

GetPolarSurfaceArea(self, includeSandP: bool = False, includeHs: bool = False) → float

Get the Polar Surface Area of the Molecule or Protein

GetPolarVolume(self, includeSandP: bool = False, includeHs: bool = False) → float

Get the Polar Volume of the Molecule or Protein

GetSurfaceArea(self) → float

Get the Surface Area of the Molecule or Protein

GetSurfacePoints(self) → dict

Get the set of points representing the surface

GetVDWVolume(self) → float

Get the van der Waals Volume of the Molecule or Protein

GetVolume(self) → float

Get the Total Volume of the Molecule or Protein

class rdkit.Chem.rdMolDescriptors.NumRotatableBondsOptions(*values)

Bases: Enum

Options for generating rotatable bonds NonStrict - standard loose definitions Strict - stricter definition excluding amides, esters, etc StrictLinkages - adds rotors between rotatable bonds Default - Current RDKit default

Default = -1
NonStrict = 0
Strict = 1
StrictLinkages = 2
class rdkit.Chem.rdMolDescriptors.Properties(self)
class rdkit.Chem.rdMolDescriptors.Properties(self, propNames: collections.abc.Sequence[str])

Bases: object

Property computation and registry system. To compute all registered properties: mol = Chem.MolFromSmiles(‘c1ccccc1’) properties = rdMolDescriptors.Properties() for name, value in zip(properties.GetPropertyNames(), properties.ComputeProperties(mol)):

print(name, value)

To compute a subset properties = rdMolDescriptors.Properties([‘exactmw’, ‘lipinskiHBA’]) for name, value in zip(properties.GetPropertyNames(), properties.ComputeProperties(mol)):

print(name, value)

AnnotateProperties(self, mol: rdkit.Chem.rdchem.Mol) → None

Annotate the molecule with the computed properties. These properties will be available as SDData or from mol.GetProp(prop)

ComputeProperties(self, mol: rdkit.Chem.rdchem.Mol, annotateMol: bool = False) → list[float]

Return a list of computed properties, if annotateMol==True, annotate the molecule with the computed properties.

GetAvailableProperties = <nanobind.nb_func object>
GetProperty = <nanobind.nb_func object>
GetPropertyNames(self) → list[str]

Return the property names computed by this instance

RegisterProperty = <nanobind.nb_func object>
class rdkit.Chem.rdMolDescriptors.PropertyRangeQuery

Bases: object

Property Range Query for a molecule. Match(mol) -> true if in range

Match(self, what: rdkit.Chem.rdchem.Mol) → bool
class rdkit.Chem.rdMolDescriptors.PythonPropertyFunctor(self, name: str, version: str)

Bases: object

GetName(self) → str

Return the name of the property to calculate

GetVersion(self) → str

Return the version of the calculated property