Skip to main content

QEPPI-community

Quantitative estimate index for early-stage screening of compounds targeting protein-protein interactions

License PyPI Python Versions

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.

Open In Colab

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:

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.

Metadata

Release files for QEPPIcommunity 0.1.22

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for QEPPIcommunity 0.1.22
File Size Uploaded
qeppicommunity-0.1.22.tar.gz 15.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for QEPPIcommunity 0.1.22
File Interpreter ABI Platform
qeppicommunity-0.1.22-py3-none-any.whl Python 3 none any Details

Total release size: 28.1 kB

Release files / qeppicommunity-0.1.22.tar.gz

Download URL qeppicommunity-0.1.22.tar.gz
Size 15.8 kB
Tags Source
SHA-256 checksum
How to use checksums
cd2cc47f8721302c3e484aab200a4dc78eafe56c3d4b64ae3d6874c9e5b7603a
BLAKE2b-256 checksum
How to use checksums
cb4857181f1c496fba9ae54195150812dca6ee244a7fb8a67a53b8454885840a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / qeppicommunity-0.1.22-py3-none-any.whl

Download URL qeppicommunity-0.1.22-py3-none-any.whl
Size 12.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cc516a75c9ab1921d2e388f996cd4560d5350bcc3b09658190bca70f6a697cb1
BLAKE2b-256 checksum
How to use checksums
ca2c8584988d57599f365b8e45f4a6fbbf7c6e460ac6e21262e289ceee89cd07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

0.1.22 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page