Skip to main content

GenPPI Python Interface

A Python interface for GenPPI (Genomic-based Protein-Protein Interaction prediction).

Installation

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:

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/PDF
  • scripts/ - Scripts for build, test and deployment
  • tests/ - Automated tests
  • tools/ - 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:

  1. Download the appropriate pre-compiled GenPPI executables for your operating system
  2. Download and extract the machine learning model file (model.dat) using py7zr
  3. 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)

Source distribution for genppi-py 0.1.8
File Size Uploaded
genppi_py-0.1.8.tar.gz 26.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for genppi-py 0.1.8
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.8 This release

2 release files

0.1.7

2 release files

0.1.5

2 release files

0.1.4

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