rdkit.Chem.SpacialScore module — The RDKit 2025.09.6 documentation

# rdkit.Chem.SpacialScore module

Spacial score (SPS) is an empirical scoring system to express the spacial complexity of a compound in an uniform manner and on a highly granular scale for ranking and comparison between molecules. [1] SPS takes into account the fraction of sp3 hybridized carbons and the fraction of stereogenic carbons.

By default, this module generates the normalized spacial score (nSPS), which is a variation of the SPS score that considers the size of the molecule. To obtain the nSPS score the SPS score is divided by the total number of heavy atoms in the analyzed molecule.

SPS = sum(h*s*r*n*n) nSPS = SPS/a

Where: h = Atom hybridisation term s = Stereoisomeric term r = Non-aromatic ring term n = Number of heavy atom neighbors a = Total number of heavy atoms in the molecule

The SPS function in this module takes a mol object and returns either the absolute score (normalize=False) or the score normalized by the number of heavy atoms (normalize=True (default)).

The original code implementation can be found at: https://github.com/frog2000/Spacial-Score/blob/main/spacial_score.py

[1] Krzyzanowski, A.; Pahl, A.; Grigalunas, M.; Waldmann, H. Spacial Score─A Comprehensive Topological Indicator for Small-Molecule Complexity. J. Med. Chem. 2023. https://doi.org/10.1021/acs.jmedchem.3c00689.

rdkit.Chem.SpacialScore.SPS(mol, normalize=True)

  Calculates the SpacialScore descriptor. By default, the score is normalized by the number of heavy atoms (nSPS) resulting in a float value, otherwise (normalize=False) the absolute score is returned as an integer.