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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qeppicommunity-0.1.22.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qeppicommunity-0.1.22-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

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

Hashes for qeppicommunity-0.1.22.tar.gz
Algorithm Hash digest
SHA256 cd2cc47f8721302c3e484aab200a4dc78eafe56c3d4b64ae3d6874c9e5b7603a
MD5 4c77c0e87867188e12bb8ef748efa7cb
BLAKE2b-256 cb4857181f1c496fba9ae54195150812dca6ee244a7fb8a67a53b8454885840a

See more details on using hashes here.

File details

Details for the file qeppicommunity-0.1.22-py3-none-any.whl.

File metadata

File hashes

Hashes for qeppicommunity-0.1.22-py3-none-any.whl
Algorithm Hash digest
SHA256 cc516a75c9ab1921d2e388f996cd4560d5350bcc3b09658190bca70f6a697cb1
MD5 412472b2c3a43c8d173dc1e3c1dc0e1c
BLAKE2b-256 ca2c8584988d57599f365b8e45f4a6fbbf7c6e460ac6e21262e289ceee89cd07

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page