Quantitative estimate index for early-stage screening of compounds targeting protein-protein interactions
We have made it so that you can use Google Colab to calculate QEPPI from SMILES without creating your own environment.
If you have a lot of SMILES to calculate, please convert the SMILES to SDF files.
We setup it on a Linux.
# Python >= 3.8
# dependencies
pip install rdkit # >= 2025.3.2
pip install numpy
pip install pandasWe also confirmed that QEPPI works with Colab. (see notebook)
Clone QEPPI-community repository when you are done with the setup.
git clone https://github.com/AspirinCode/QEPPI-community.gitTest it after git clone the QEPPI-community repository. If the test passes, the QEPPI calculation has been successfully performed.
cd QEPPI-community
pytest -v
#platform linux -- Python 3.13.2, pytest-8.4.0, pluggy-1.6.0 -- /anaconda3/envs/RDKit313/bin/python3.13
#cachedir: .pytest_cache
#rootdir: /QEPPI-community
#plugins: anyio-4.6.2, cov-6.1.1
#collected 4 items
#
#tests/test_qeppi.py::test_version PASSED [ 25%]
#tests/test_qeppi.py::test_load_qeppi_value_approx PASSED [ 50%]
#tests/test_qeppi.py::test_read_qeppi_value_approx PASSED [ 75%]
#tests/test_qeppi.py::test_get_qeppi_properties PASSED # for .sdf
python calc_QEPPI.py --sdf PATH_TO_YOUR_COMPOUND.sdf --out PATH_TO_OUTPUT.csv# for .csv ("A column name of "SMILES" is required.")
python calc_QEPPI.py --csv PATH_TO_YOUR_COMPOUND.csv --out PATH_TO_OUTPUT.csvYou can also install QEPPI-community with https://pypi.org/project/QEPPIcommunity. The following sample code is available as an implementation example.
Note: some dependancies will also be installed with QEPPI module, so a clean environment is preferred!
# QEPPI
pip install QEPPIcommunityfrom QEPPI import QEPPI_Calculator, get_qeppi_properties
from rdkit import Chem
from rdkit.Chem import SDMolSupplier
q = QEPPI_Calculator()
q.read()
# SMILES
smiles = "COC1=CC(=CC=C1NC(=O)[C@@H]1N[C@@H](CC(C)(C)C)[C@@](C#N)([C@H]1C1=CC=CC(Cl)=C1F)C1=CC=C(Cl)C=C1F)C(O)=O"
mol = Chem.MolFromSmiles(smiles)
props = get_qeppi_properties(mol)
print(q.qeppi(mol))
print(props)
# 0.7862842663145835
# {'MW': 615.1503182080002, 'ALOGP': 6.9388800000000055, 'HBD': 3, 'HBA': 5, 'TPSA': 111.45000000000002, 'ROTB': 7, 'AROM': 3}
# SDF
ppi_s = SDMolSupplier("PATH_TO_SDF/YOUR_COMPOUND.sdf")
ppi_mols = [mol for mol in ppi_s if mol is not None]
result = list(map(q.qeppi, ppi_mols))If you find QEPPI useful, please consider citing this publication;
- Kosugi T, Ohue M. Quantitative estimate index for early-stage screening of compounds targeting protein-protein interactions. International Journal of Molecular Sciences, 22(20): 10925, 2021. doi: 10.3390/ijms222010925
Another QEPPI publication (conference paper)
- Kosugi T, Ohue M. Quantitative estimate of protein-protein interaction targeting drug-likeness. In Proceedings of The 18th IEEE International Conference on Computational Intelligence in Bioinformatics and Computational Biology (CIBCB 2021), 2021. doi: 10.1109/CIBCB49929.2021.9562931 (PDF) * © 2021 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
