Skip to main content

Single-cell Protein-Protein Interaction Network Analysis

Project description

scPPIN-py

Pure Python implementation of scPPIN for single-cell protein-protein interaction network analysis

Documentation License: GPL v3 Python 3.10+ Paper

scPPIN-py detects functional modules in protein-protein interaction networks by integrating single-cell RNA sequencing data. This is a reimplementation of the original R package with an object-oriented Python API.

Original method: Klimm et al. (2020), BMC Genomics

Key Features

  • Fast — Vectorized NumPy operations and igraph backend for speed and efficiency
  • Class-Based API — Object-oriented design with method chaining
  • Edge Weights — Supports pre-computed edge weights from dictionaries
  • Scanpy Integration — Works with AnnData objects for p-value extraction
  • Easy Installation — Single pip install command
  • Standalone PCST — Direct PCST implementation without dependencies on expression data

Quick Start

Installation

# Install directly from GitHub
pip install git+https://github.com/shahrozeabbas/scppin-py.git

# Or clone and install locally
git clone https://github.com/shahrozeabbas/scppin-py.git
cd scppin-py
pip install .

Basic Usage

from scppin import scPPIN

# Create model and load network
model = scPPIN()
model.load_network('edges.csv')

# Set node weights (p-values from differential expression)
pvalues = {'TP53': 0.0001, 'MDM2': 0.001, 'CDKN1A': 0.005}
model.set_node_weights(pvalues)

# Optionally set edge weights (from pre-computed dictionary)
edge_weights = {('TP53', 'MDM2'): 0.9, ('TP53', 'CDKN1A'): 0.8}
model.set_edge_weights(weights=edge_weights)

# Detect functional module using PCST
model.detect_module(fdr=0.01, edge_weight_attr='weight')

# Visualize
model.plot_module()

Documentation

Full documentation: https://scppin-py.readthedocs.io

Citation

If you use scPPIN-py in your research, please cite the original paper:

@article{klimm2020functional,
  title={Functional module detection through integration of single-cell RNA sequencing data with protein--protein interaction networks},
  author={Klimm, Florian and Toledo, Enrique M and Monfeuga, Thomas and Zhang, Fang and Deane, Charlotte M and Reinert, Gesine},
  journal={BMC Genomics},
  volume={21},
  number={1},
  pages={756},
  year={2020},
  publisher={BioMed Central},
  doi={10.1186/s12864-020-07144-2}
}

License

GPL-3.0 (same as original R package)

Links

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

scppin-0.3.0.tar.gz (65.0 kB view details)

Uploaded Source

Built Distribution

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

scppin-0.3.0-py3-none-any.whl (38.7 kB view details)

Uploaded Python 3

File details

Details for the file scppin-0.3.0.tar.gz.

File metadata

  • Download URL: scppin-0.3.0.tar.gz
  • Upload date:
  • Size: 65.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for scppin-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6dd73009321ec9233ba96e5e3e81b600396fe77efab78c445c076c8a8b4df93d
MD5 f179d8b88a2721d571b3e517057b6a58
BLAKE2b-256 ec2c430e15662a351ec65147e5451f9b4cc13e2d3ba25fca81b47f3bcb10a934

See more details on using hashes here.

File details

Details for the file scppin-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: scppin-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 38.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for scppin-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c9c86367ae80c3cdfaaaa52a097b373554a44dc0ba7192903eb6cb946cd1211
MD5 769d9e0dc5851a2adf76ba63520c8ae6
BLAKE2b-256 bf825feeb8cf7efcff27da292e45220e0f6c53dc1aa13f73331d6534f41cfed8

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