rdkit.Chem.QED module — The RDKit 2025.09.6 documentation

# rdkit.Chem.QED module

QED stands for quantitative estimation of drug-likeness and the concept was for the first time introduced by Richard Bickerton and coworkers [1]. The empirical rationale of the QED measure reflects the underlying distribution of molecular properties including molecular weight, logP, topological polar surface area, number of hydrogen bond donors and acceptors, the number of aromatic rings and rotatable bonds, and the presence of unwanted chemical functionalities.

The QED results as generated by the RDKit-based implementation of Biscu-it(tm) are not completely identical to those from the original publication [1]. These differences are a consequence of differences within the underlying calculated property calculators used in both methods. For example, discrepancies can be noted in the results from the logP calculations, nevertheless despite the fact that both approaches (Pipeline Pilot in the original publication and RDKit in our Biscu-it(tm) implementation) mention to use the Wildman and Crippen methodology for the calculation of their logP-values [2]. However, the differences in the resulting QED-values are very small and are not compromising the usefulness of using Qed in your daily research.

[1] Bickerton, G.R.; Paolini, G.V.; Besnard, J.; Muresan, S.; Hopkins, A.L. (2012)

  ‘Quantifying the chemical beauty of drugs’, Nature Chemistry, 4, 90-98 [https://doi.org/10.1038/nchem.1243]

[2] Wildman, S.A.; Crippen, G.M. (1999)

  ‘Prediction of Physicochemical Parameters by Atomic Contributions’, Journal of Chemical Information and Computer Sciences, 39, 868-873 [https://doi.org/10.1021/ci990307l]

class rdkit.Chem.QED.ADSparameter(A, B, C, D, E, F, DMAX)

  Bases: `tuple`

  Create new instance of ADSparameter(A, B, C, D, E, F, DMAX)

  A

    Alias for field number 0

  B

    Alias for field number 1

  C

    Alias for field number 2

  D

    Alias for field number 3

  DMAX

    Alias for field number 6

  E

    Alias for field number 4

  F

    Alias for field number 5

class rdkit.Chem.QED.QEDproperties(MW, ALOGP, HBA, HBD, PSA, ROTB, AROM, ALERTS)

  Bases: `tuple`

  Create new instance of QEDproperties(MW, ALOGP, HBA, HBD, PSA, ROTB, AROM, ALERTS)

  ALERTS

    Alias for field number 7

  ALOGP

    Alias for field number 1

  AROM

    Alias for field number 6

  HBA

    Alias for field number 2

  HBD

    Alias for field number 3

  MW

    Alias for field number 0

  PSA

    Alias for field number 4

  ROTB

    Alias for field number 5

rdkit.Chem.QED.ads(x, adsParameter)

  ADS function

rdkit.Chem.QED.default(mol)

  Calculates the QED descriptor using average descriptor weights.

rdkit.Chem.QED.properties(mol)

  Calculates the properties that are required to calculate the QED descriptor.

rdkit.Chem.QED.qed(mol, w=(0.66, 0.46, 0.05, 0.61, 0.06, 0.65, 0.48, 0.95), qedProperties=None)

  Calculate the weighted sum of ADS mapped properties

  some examples from the QED paper, reference values from Peter G’s original implementation >>> m = Chem.MolFromSmiles(‘N=C(CCSCc1csc(N=C(N)N)n1)NS(N)(=O)=O’) >>> qed(m) 0.253… >>> m = Chem.MolFromSmiles(‘CNC(=NCCSCc1nc[nH]c1C)NC#N’) >>> qed(m) 0.234… >>> m = Chem.MolFromSmiles(‘CCCCCNC(=N)NN=Cc1c[nH]c2ccc(CO)cc12’) >>> qed(m) 0.234…

rdkit.Chem.QED.weights_max(mol)

  Calculates the QED descriptor using maximal descriptor weights.

rdkit.Chem.QED.weights_mean(mol)

  Calculates the QED descriptor using average descriptor weights.

rdkit.Chem.QED.weights_none(mol)

  Calculates the QED descriptor using unit weights.