Skip to content

Latest commit

 

History

811 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RISE - Reduction and Insight in Single-cell Exploration

RISE (Reduction and Insight in Single-cell Exploration) is an unsupervised, tensor-based computational method designed for the integrative analysis of single-cell RNA sequencing (scRNA-seq) data across multiple experimental conditions, such as drug treatments, patient cohorts, or time points. Built upon the PARAFAC2 tensor decomposition framework, RISE preserves the inherent three-dimensional structure of multi-condition single-cell data—conditions × cells × genes—instead of flattening it into a conventional two-dimensional matrix. This allows RISE to decompose variation into distinct, interpretable patterns associated with experimental conditions, individual cells, and genes, providing a more nuanced and biologically meaningful analysis.

RISE does not require prior cell-type labels or clustering, reducing bias and enabling discovery of novel cell states, while also separating technical, biological, and condition-driven variation without batch correction that may erase meaningful signals. Its high resolution enables the identification of cell populations and condition-specific subpopulations missed by pseudobulk or clustering-based approaches, and each resulting component is directly linked to specific conditions, genes, and cells, making the results biologically tractable.

Installation

Note: The RISE package was renamed to scrise on PyPI (the import name changed from RISE to scrise). The GitHub repository name is unchanged. If you have RISE pinned in a requirements.txt or install script, update it to scrise as shown below.

To add scrise to your Python environment, install it from PyPI:

pip install scrise

For GPU acceleration support (propagated to parafac2[gpu]):

pip install "scrise[gpu]"

Or add the following line to your requirements.txt:

scrise

or with GPU support:

scrise[gpu]

Quick Start

RISE works with preprocessed AnnData objects containing single-cell RNA-seq data:

from scrise.factorization import pf2

# Perform PARAFAC2 tensor decomposition
X = pf2(X=adata, rank=20, doEmbedding=True, random_state=42)

# Results are stored in the AnnData object:
# - X.uns["Pf2_weights"]: Component weights
# - X.uns["Pf2_A"]: Condition factors
# - X.uns["Pf2_B"]: Eigen-state factors
# - X.varm["Pf2_C"]: Gene factors
# - X.obsm["projections"]: Cell projections
# - X.obsm["weighted_projections"]: Weighted cell projections

See the tutorial for a complete workflow including preprocessing, rank selection, visualization, and interpretation.

Key Features

  • Tensor-based decomposition: Preserves the 3D structure of multi-condition scRNA-seq data
  • Unsupervised analysis: No prior cell-type labels or clustering required
  • High resolution: Identifies cell populations and condition-specific subpopulations
  • Interpretable results: Components directly linked to conditions, cells, and genes
  • Integrated workflow: Built-in preprocessing, visualization, and interpretation tools
  • Principled rank selection: Bi-cross-validation (scrise.rank_selection) for choosing the number of components by evaluating a set of candidate ranks

Citation

If you use RISE in your work, please cite the RISE publication as follows:

Integrative, high-resolution analysis of single-cell gene expression across experimental conditions with PARAFAC2-RISE

Andrew Ramirez, [...], Aaron Meyer

Cell Systems, 2025. DOI: 10.1016/j.cels.2025.101294

About

PARAFAC2 tensor factorization for multi-sample scRNA-seq

Topics

Resources

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages