rdkit.Chem.Descriptors module

rdkit.Chem.Descriptors.ExactMolWt(*x, **y)

The exact molecular weight of the molecule

>>> ExactMolWt(Chem.MolFromSmiles('CC'))
30.04...
>>> ExactMolWt(Chem.MolFromSmiles('[13CH3]C'))
31.05...
rdkit.Chem.Descriptors.HeavyAtomMolWt(x)

The average molecular weight of the molecule ignoring hydrogens

>>> HeavyAtomMolWt(Chem.MolFromSmiles('CC'))
24.02...
>>> HeavyAtomMolWt(Chem.MolFromSmiles('[NH4+].[Cl-]'))
49.46
rdkit.Chem.Descriptors.MaxAbsPartialCharge(mol, force=False)
rdkit.Chem.Descriptors.MaxPartialCharge(mol, force=False)
rdkit.Chem.Descriptors.MinAbsPartialCharge(mol, force=False)
rdkit.Chem.Descriptors.MinPartialCharge(mol, force=False)
rdkit.Chem.Descriptors.MolWt(*x, **y)

The average molecular weight of the molecule

>>> MolWt(Chem.MolFromSmiles('CC'))
30.07
>>> MolWt(Chem.MolFromSmiles('[NH4+].[Cl-]'))
53.49...
rdkit.Chem.Descriptors.NumRadicalElectrons(mol)
The number of radical electrons the molecule has
(says nothing about spin state)
>>> NumRadicalElectrons(Chem.MolFromSmiles('CC'))
0
>>> NumRadicalElectrons(Chem.MolFromSmiles('C[CH3]'))
0
>>> NumRadicalElectrons(Chem.MolFromSmiles('C[CH2]'))
1
>>> NumRadicalElectrons(Chem.MolFromSmiles('C[CH]'))
2
>>> NumRadicalElectrons(Chem.MolFromSmiles('C[C]'))
3
rdkit.Chem.Descriptors.NumValenceElectrons(mol)

The number of valence electrons the molecule has

>>> NumValenceElectrons(Chem.MolFromSmiles('CC'))
14
>>> NumValenceElectrons(Chem.MolFromSmiles('C(=O)O'))
18
>>> NumValenceElectrons(Chem.MolFromSmiles('C(=O)[O-]'))
18
>>> NumValenceElectrons(Chem.MolFromSmiles('C(=O)'))
12
class rdkit.Chem.Descriptors.PropertyFunctor(name, version)

Bases: rdkit.Chem.rdMolDescriptors.PythonPropertyFunctor

Creates a python based property function that can be added to the global property list. To use, subclass this class and override the __call__ method. Then create an instance and add it to the registry. The __call__ method should return a numeric value.

Example:

class NumAtoms(Descriptors.PropertyFunctor):
def __init__(self):
Descriptors.PropertyFunctor.__init__(self, “NumAtoms”, “1.0.0”)
def __call__(self, mol):
return mol.GetNumAtoms()

numAtoms = NumAtoms() rdMolDescriptors.Properties.RegisterProperty(numAtoms)