scanpart is a Python toolkit for applying the participation coefficient as described by Guimerà and Amaral (2005) to single-cell RNA-seq data. It enables the identification of transition cells between clusters and the correlation of cluster-transition strength with gene expression.
In complex networks, the participation coefficient quantifies how strongly a node connects to multiple modules rather than being confined to a single one. Applied to scRNA-seq neighborhood graphs, this allows the identification of cells that lie at transitions between transcriptional states or clusters.
The approach is based on:
Guimerà, R., & Nunes Amaral, L. A. (2005).
Cartography of complex networks: modules and universal roles.
Journal of Statistical Mechanics: Theory and Experiment, 2005(02), P02001.
The main implementation is provided in:
scanpart.py
This file contains functions to:
- compute the participation coefficient on scRNA-seq neighborhood graphs
stored in
AnnData.obsp['connectivities'] - use Leiden cluster labels to define network partitions
- store the resulting participation index per cell in
adata.obs['pindex'] - correlate participation indices with gene expression values on a per-cluster basis using Pearson or Spearman correlation
- identify genes significantly associated with transition behavior using multiple-testing correction
The functions are designed to operate directly on AnnData objects.
Example analyses demonstrating how to compute participation coefficients and correlate them with gene expression can be found in the example notebooks.
Elisa Maske
EMail: elisamaske@web.de
GitHub: https://github.com/elisamaske
This work was conducted as part of a Bachelor's thesis under the supervision of Dr. Florian Klimm at the Max Planck Institute for Molecular Genetics, Berlin.