This release is a pre-release and may not be stable for production use.
pythonQEPest
Python implementation of QEPest (Quantitative Estimation of Pesticide), a program for scoring molecules as herbicides (QEH), insecticides (QEI), and fungicides (QEF).
Originally published in: J Cheminform - QEPest Original Program Link is here
Features
- Calculate pesticide scores for herbicidal, insecticidal, and fungicidal activity
- Command-line interface (CLI)
- Graphical User Interface (GUI)
- Support for JSON and TXT output formats
Pre-built binaries
Download ready-to-use executables from Releases:
| Platform | Download |
|---|---|
| Windows CLI | main.exe |
| Windows GUI | gui.exe |
Installation
pip install pythonQEPest
Or from source:
git clone https://github.com/PonyLianna/pythonQEPest.git
cd pythonQEPest
poetry install
With GUI support
pip install pythonQEPest[gui]
# or
poetry install --extras ui
Quick Start
CLI
pythonqepest -i data.txt -o result.txt
pythonqepest --input data.txt --format json
pythonqepest -v # show version
GUI
pythonqepest-gui
# or
python -m pythonQEPest.gui.gui
Python API
from pythonQEPest import QEPest, QEPestInput
# Create input data
qepest = QEPest()
qepest.initialize_coefficients()
qepest.initialize_normalisers()
# From individual values
inp = QEPestInput(
name="mol1",
mol_weight=240.2127,
log_p=3.2392,
hbond_acceptors=5,
hbond_donors=1,
rotatable_bonds=4,
aromatic_rings=1
)
result = qepest.compute_params(inp)
print(result.name) # mol1
print(result.data.qe_herb) # 0.8511
print(result.data.qe_insect) # 0.5339
print(result.data.qe_fung) # 0.6224
# Convert to array
print(result.to_array()) # ["mol1", 0.6224, 0.8511, 0.5339]
Input Format
The input file should be a tab-separated text file with the following columns:
| Column | Description |
|---|---|
| Name | Molecule name |
| MW | Molecular weight (g/mol) |
| LogP | Hydrophobicity (octanol-water partition coefficient) |
| HBA | Number of hydrogen bond acceptors |
| HBD | Number of hydrogen bond donors |
| RB | Number of rotatable bonds |
| arR | Number of aromatic rings |
Example data.txt:
Name MW LogP HBA HBD RB arR
mol1 240.2127 3.2392 5 1 4 1
mol2 249.091 3.0273 3 1 5 1
mol3 308.354 2.1086 1 0 7 1
Output Format
TXT (default output for CLI)
Name QEF QEH QEI
mol1 0.6224 0.8511 0.5339
mol2 0.7310 0.9750 0.6913
JSON
[
{"name": "mol1", "qe_fung": 0.6224, "qe_herb": 0.8511, "qe_insect": 0.5339},
{"name": "mol2", "qe_fung": 0.731, "qe_herb": 0.975, "qe_insect": 0.6913}
]
Configuration
Custom Coefficients
from pythonQEPest import QEPest
custom_coefficients = {
"herb": [
(70.77, 283.0, 84.97, -1.185),
(93.81, 3.077, 1.434, 0.6164),
# ... 6 tuples total
],
"insect": [...],
"fung": [...]
}
qepest = QEPest(coefficients=custom_coefficients)
Custom Normalisers
from pythonQEPest import QEPest
from pythonQEPest.dto.normalisation.Normaliser import Normaliser
qepest = QEPest(normalisers={"herb": Normaliser(...), ...})
CLI Options
| Option | Description | Default |
|---|---|---|
-i, --input |
Input file path | data.txt |
-o, --output |
Output file path | data.out.txt |
-f, --format |
Output format (json, txt) | txt |
-v, --version |
Show version | - |
Development
Run tests
poetry run pytest
Build
# CLI executable
poetry run poe build-simple
# GUI executable
poetry run poe build-gui
Metadata
Release files for pythonQEPest 2.0.0a6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pythonqepest-2.0.0a6.tar.gz | 21.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pythonqepest-2.0.0a6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.1 kB
Release files / pythonqepest-2.0.0a6.tar.gz
| Download URL | pythonqepest-2.0.0a6.tar.gz |
|---|---|
| Size | 21.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dfa88db7771e9da4a7fdd2205133e9a52114d22c54e0ffd7c40bb5db52cea87a
|
|
BLAKE2b-256 checksum How to use checksums |
9d8624dbe58547ce0aae33c460e6d9c5507860e73816cc976cc0fba44c31ef3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 28, 2026.
Transparency logRelease files / pythonqepest-2.0.0a6-py3-none-any.whl
| Download URL | pythonqepest-2.0.0a6-py3-none-any.whl |
|---|---|
| Size | 38.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
99c66a4ac8b081f98fe47ecfaafdc37ad178c63299b61dd58985de5eb9f0b546
|
|
BLAKE2b-256 checksum How to use checksums |
c35fd40465a3929146ecbb5ee73725a772566dab2282ae66697f678b5303ff65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 28, 2026.
Transparency log