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

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.py -dir /path/to/protein/files

# With gene fusion
genppi.py -dir /path/to/protein/files -genefusion

# Using machine learning
genppi.py -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.6+
  • py7zr >= 0.20.0 (for 7z extraction)
  • 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.4.tar.gz (387.1 kB 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.4-py3-none-any.whl (26.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: genppi_py-0.1.4.tar.gz
  • Upload date:
  • Size: 387.1 kB
  • 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.4.tar.gz
Algorithm Hash digest
SHA256 ca71d584a9b5b5d6a6b7b8b2bfb70879f89c037a984bf216b4766dbe8306f7c1
MD5 54405ce38fe94ff7cf98927ddc6fd8e9
BLAKE2b-256 0b2e42ff66094a276be7b44fe9d1e72c7219e98abeece0aeb6a8b6fa9f0606f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: genppi_py-0.1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 54e1e23b75d29b235c82362c2cd66c80d3c20ba6f127f009292a1598510695dc
MD5 a6f49ffb41e344a2241550b56e9b6a55
BLAKE2b-256 173c93ea85c71465139fa8c35692f5bdd98e8ad487432d99b3255533f87f3e76

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