Skip to main content

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

Project description

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:

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.

Project details


Download files

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

Source Distribution

genppi_py-0.1.8.tar.gz (26.8 MB view details)

Uploaded Source

Built Distribution

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

genppi_py-0.1.8-py3-none-any.whl (26.7 MB view details)

Uploaded Python 3

File details

Details for the file genppi_py-0.1.8.tar.gz.

File metadata

  • Download URL: genppi_py-0.1.8.tar.gz
  • Upload date:
  • Size: 26.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for genppi_py-0.1.8.tar.gz
Algorithm Hash digest
SHA256 116a59e469ae605212de5af19649d188238f8ffd0d4100f3c4b6fbf54fc77591
MD5 b3f4000bff0b43c5ec6b326c30ed62f4
BLAKE2b-256 1770c497366abf0346f16e565f86950e095cf8e276841b23f8f0ce6c72976160

See more details on using hashes here.

File details

Details for the file genppi_py-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: genppi_py-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 26.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for genppi_py-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 69c0adb467eadd2fb225b8767ba9870e47808cd7429dfb1eca9800afc4ef358c
MD5 4c6901a255614ac48529d0c002b4b170
BLAKE2b-256 26fa18bf51a582b2d6e4c1eae31254f4df944e315f767e5b0e8192e6ca25f4d8

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 Pingdom Monitoring Sentry Error logging StatusPage Status page