GenPPI Python Interface
A Python interface for GenPPI (Genomic-based Protein-Protein Interaction prediction).
Installation
From PyPI (Recommended)
pip install genppi-py
Windows Users - Important Notes
Python Version Requirements:
- Python 3.10 or higher is required
- Use only official Python from python.org
- Do NOT use Python from Microsoft Store (may cause compatibility issues)
- Ensure "Add Python to PATH" is checked during installation
Development Tools (if installation fails): Some Python packages require compilation. If you encounter errors, install:
- Microsoft C++ Build Tools from: https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/
- Or Visual Studio Community with C++ support
Command Usage:
After installation, use genppi command (not genppi.py).
From TestPyPI (Development)
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ genppi-py
From Source
git clone https://github.com/santosardr/genppi.git
cd genppi
pip install .
Project Structure
genppi/
├── genppi_py/ # Main package code
├── docs/ # Documentation (LaTeX/PDF)
├── scripts/ # Development and deployment scripts
├── tests/ # Automated tests
├── tools/ # Development tools and configurations
├── README.md # This file
├── setup.py # Installation configuration
└── pyproject.toml # Modern project configuration
For Developers
docs/- Technical documentation in LaTeX/PDFscripts/- Scripts for build, test and deploymenttests/- Automated teststools/- Development tools and configurations
Usage
Command Line Interface
After installation, you can use GenPPI from the command line:
# Basic usage
genppi -dir /path/to/protein/files
# With gene fusion
genppi -dir /path/to/protein/files -genefusion
# Using machine learning
genppi -dir /path/to/protein/files -ml
Download Model and Samples
# Download machine learning model
genppi-download-model
# Download sample data
genppi-download-samples
Python API
from genppi_py.genppi import run_genppi
# Run GenPPI with arguments
run_genppi(['-dir', '/path/to/protein/files', '-genefusion'])
How it Works
When you install the package, it will:
- Download the appropriate pre-compiled GenPPI executables for your operating system
- Download and extract the machine learning model file (model.dat) using py7zr
- Install the Python wrapper that provides a command-line interface
The package uses py7zr library exclusively for extracting multivolume 7z archives (model.7z.001, model.7z.002, model.7z.003).
Dependencies
- Python 3.10+ (minimum required version)
- py7zr >= 1.1.3 (for 7z extraction, resolving CVE-2026-23879)
- multivolumefile >= 0.2.3 (for multivolume support)
All dependencies are installed automatically.
Development
Quick Setup
# Clone repository
git clone https://github.com/santosardr/genppi.git
cd genppi
# Install development dependencies
pip install -r tools/requirements-dev.txt
# Install in development mode
pip install -e .
Development Scripts
# Quick check
python scripts/quick_check.py
# Build and test
python scripts/build_and_test.py
# Deploy to TestPyPI
python scripts/deploy_test.py
# Deploy to PyPI
python scripts/deploy_production.py
Running Tests
# Run all tests
python -m pytest tests/
# Run specific test
python tests/test_genppi.py
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Metadata
Release files for genppi-py 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| genppi_py-0.1.8.tar.gz | 26.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| genppi_py-0.1.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.6 MB
Release files / genppi_py-0.1.8.tar.gz
| Download URL | genppi_py-0.1.8.tar.gz |
|---|---|
| Size | 26.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
116a59e469ae605212de5af19649d188238f8ffd0d4100f3c4b6fbf54fc77591
|
|
BLAKE2b-256 checksum How to use checksums |
1770c497366abf0346f16e565f86950e095cf8e276841b23f8f0ce6c72976160
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / genppi_py-0.1.8-py3-none-any.whl
| Download URL | genppi_py-0.1.8-py3-none-any.whl |
|---|---|
| Size | 26.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
69c0adb467eadd2fb225b8767ba9870e47808cd7429dfb1eca9800afc4ef358c
|
|
BLAKE2b-256 checksum How to use checksums |
26fa18bf51a582b2d6e4c1eae31254f4df944e315f767e5b0e8192e6ca25f4d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|