Skip to main content

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

Release files for scppin 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scppin 0.3.1
File Size Uploaded
scppin-0.3.1.tar.gz 64.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for scppin 0.3.1
File Interpreter ABI Platform
scppin-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 103.2 kB

Release files / scppin-0.3.1.tar.gz

Download URL scppin-0.3.1.tar.gz
Size 64.8 kB
Tags Source
SHA-256 checksum
How to use checksums
592c356b779367a01b979c3edcaf3572176fa112f5bc95e11c18dd34e5047aa3
BLAKE2b-256 checksum
How to use checksums
4635305933c773025fba8a9ff58ec4ec8955406d5b43b1839e816569560ab3db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / scppin-0.3.1-py3-none-any.whl

Download URL scppin-0.3.1-py3-none-any.whl
Size 38.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7d55453cd9e35ed29614ae37ad3b769d475edf9366af0f8134527e494b893dbf
BLAKE2b-256 checksum
How to use checksums
011e9494a2b50a6c72349e3e8b1846462e0f1ff23231c3c563dce4ec95741c07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

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