QEPPI-community
Quantitative estimate index for early-stage screening of compounds targeting protein-protein interactions
Google Colab
You can calculate QEPPI from SMILES in Google Colab without creating a local environment. If you have many SMILES to calculate, consider converting them to SDF first.
Supported Environment
QEPPI-community is tested on Python 3.10, 3.11, 3.12, 3.13, and 3.14 (requires-python = >=3.10,<3.15). The package depends on the latest compatible RDKit from PyPI with rdkit>=2025.3.2, plus NumPy and pandas. RDKit descriptor behavior may change between RDKit releases, so exact QEPPI values can drift across RDKit versions even when the QEPPI formula and built-in model parameters are unchanged.
Installation
python -m pip install QEPPIcommunity
For development from a clone:
git clone https://github.com/AspirinCode/QEPPI-community.git
cd QEPPI-community
python -m pip install -e ".[dev]"
pytest -v
Python API
QEPPI_Calculator() loads the built-in QEPPI model by default. You no longer need to call read() before scoring.
from rdkit import Chem
from rdkit.Chem import SDMolSupplier
from QEPPI import QEPPI_Calculator, get_qeppi_properties
calculator = QEPPI_Calculator()
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)
print(calculator.qeppi(mol))
print(calculator.score(mol))
print(get_qeppi_properties(mol))
supplier = SDMolSupplier("PATH_TO_COMPOUNDS.sdf")
mols = [mol for mol in supplier if mol is not None]
scores = calculator.score_many(mols)
Legacy names remain available: QEPPI_Calculator, qeppi, descript, read, and load. Modern aliases are also available: QEPPICalculator, score, descriptors, and score_many.
CLI
The installed console command is qeppi. Exactly one input mode is required: --smiles, --csv, or --sdf.
Single SMILES:
qeppi --smiles "CCO"
CSV input:
qeppi --csv compounds.csv --out results/qeppi.csv
qeppi --csv compounds.csv --smiles-column structure --out results/qeppi.csv
CSV output preserves every original row and column. QEPPI adds CanonicalSMILES, QEPPI, QEPPI_status, and QEPPI_error. Invalid SMILES are not dropped: their QEPPI field is blank, QEPPI_status is error, and QEPPI_error explains the failure.
SDF input:
qeppi --sdf compounds.sdf --out results/qeppi.csv
SDF output includes record_index, CanonicalSMILES, QEPPI, QEPPI_status, and QEPPI_error. Failed records are kept and reported on stderr.
The historical script still works as a compatibility wrapper:
python calc_QEPPI.py --smiles "CCO"
Model Files
By default, QEPPI uses the built-in model constants bundled in the package. The CLI no longer depends on ./model/QEPPI.model in the current working directory.
Prefer JSON for custom models:
qeppi --smiles "CCO" --model qeppi-model.json
The JSON model must contain params and weights, parameters for all seven descriptors, six finite ADS coefficients per descriptor, and finite weight vectors with positive sums.
Legacy pickle models are still supported for compatibility:
qeppi --smiles "CCO" --model model/QEPPI.model
Security warning: pickle files can execute code while loading. Only load pickle model files from trusted sources. JSON is recommended for new workflows.
Development
python -m pip install -e ".[dev]"
ruff check .
ruff format --check .
pytest -v --cov=QEPPI --cov-report=term-missing
Reference
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) Copyright 2021 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qeppicommunity-0.1.22.tar.gz.
File metadata
- Download URL: qeppicommunity-0.1.22.tar.gz
- Upload date:
- Size: 15.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd2cc47f8721302c3e484aab200a4dc78eafe56c3d4b64ae3d6874c9e5b7603a
|
|
| MD5 |
4c77c0e87867188e12bb8ef748efa7cb
|
|
| BLAKE2b-256 |
cb4857181f1c496fba9ae54195150812dca6ee244a7fb8a67a53b8454885840a
|
File details
Details for the file qeppicommunity-0.1.22-py3-none-any.whl.
File metadata
- Download URL: qeppicommunity-0.1.22-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc516a75c9ab1921d2e388f996cd4560d5350bcc3b09658190bca70f6a697cb1
|
|
| MD5 |
412472b2c3a43c8d173dc1e3c1dc0e1c
|
|
| BLAKE2b-256 |
ca2c8584988d57599f365b8e45f4a6fbbf7c6e460ac6e21262e289ceee89cd07
|