Java QEPest but written in Python
Project description
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
Project details
Release history Release notifications | RSS feed
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 pythonqepest-2.0.0a2.tar.gz.
File metadata
- Download URL: pythonqepest-2.0.0a2.tar.gz
- Upload date:
- Size: 18.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61a9464c00f848510484c8bb9b68bcdfd901564d29468a83e5c5e85cdc7d3f34
|
|
| MD5 |
da2936b95bbff8e3d6393870b5b8484b
|
|
| BLAKE2b-256 |
d198e2ada7c4c755626c41b9ede618aab5e9f75e4f39e271233a4e43e82f042d
|
File details
Details for the file pythonqepest-2.0.0a2-py3-none-any.whl.
File metadata
- Download URL: pythonqepest-2.0.0a2-py3-none-any.whl
- Upload date:
- Size: 35.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20a80c251075d1dca2e9fdbf6b7c83a8b1816a5eaab8789c495599f49c70fdf5
|
|
| MD5 |
aa381ce8796deea12dee527cc231daff
|
|
| BLAKE2b-256 |
a66688f4743191f07fc88f9518e1f24096436ae646541d1315808b710e72e888
|