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

pip install scppin

Or install directly from GitHub:

pip install git+https://github.com/shahrozeabbas/scppin-py.git

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}
}

If you wish to additionally cite this Python implementation:

@software{abbas2024scppin,
  author={Abbas, Shahroze},
  title={scppin-py: Pure Python implementation of scPPIN},
  year={2024},
  url={https://github.com/shahrozeabbas/scppin-py},
  note={Python reimplementation of the scPPIN R package}
}

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.1.tar.gz (64.8 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.1-py3-none-any.whl (38.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scppin-0.3.1.tar.gz
  • Upload date:
  • Size: 64.8 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.1.tar.gz
Algorithm Hash digest
SHA256 592c356b779367a01b979c3edcaf3572176fa112f5bc95e11c18dd34e5047aa3
MD5 5c10e9a3980f22838a7209ccfb0a3ad1
BLAKE2b-256 4635305933c773025fba8a9ff58ec4ec8955406d5b43b1839e816569560ab3db

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scppin-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 38.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7d55453cd9e35ed29614ae37ad3b769d475edf9366af0f8134527e494b893dbf
MD5 2c6b9799629fd9e6bce47fd236c370ab
BLAKE2b-256 011e9494a2b50a6c72349e3e8b1846462e0f1ff23231c3c563dce4ec95741c07

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