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