Skip to content

mianaz/SCP-SeuratV5

 
 

Repository files navigation

SCP: Single-Cell Pipeline

A comprehensive R package for single-cell data analysis with enhanced Seurat V5 support and streamlined Python integration.

R Seurat Python License: GPL v3

What's New in SCP

This release brings significant improvements to stability, usability, and performance:

Major Enhancements

  • Full Seurat V5 Support: Native compatibility with Seurat V5 objects and workflows
  • Streamlined Python Integration: Faster, more reliable Python dependency management using uv
  • Enhanced Stability: Fixed critical bugs in parallel processing and enrichment analysis
  • Comprehensive Documentation: New getting-started vignette with 94 working examples
  • Modular Installation: Install only the Python features you need (velocity, trajectory, deep learning, etc.)

Key Features

Quality Control & Preprocessing

  • Automated cell QC with multiple metrics
  • Flexible normalization and scaling
  • Batch effect correction

Dimensional Reduction & Clustering

  • Multiple methods: PCA, UMAP, t-SNE, PHATE
  • Graph-based and hierarchical clustering
  • Integration with Seurat V5 workflows

Differential Expression & Enrichment

  • Multiple statistical tests
  • GO/KEGG pathway enrichment
  • GSEA support with parallel processing

Advanced Analysis (Python-powered)

  • RNA velocity (scVelo)
  • Trajectory inference (Slingshot, Palantir, CellRank)
  • Cell annotation (automated and reference-based)
  • Deep learning integration (scvi-tools)

Visualization

  • Publication-ready plots
  • Interactive exploration via SCExplorer
  • Heatmaps, dot plots, violin plots, and more

Installation

Install from GitHub

Fast installation with pak

# Install pak if needed
install.packages("pak")

# Install SCP (fast!)
pak::pak("mianaz/SCP-SeuratV5")

Alternative

# Install devtools if needed
install.packages("devtools")

# Install SCP
devtools::install_github("mianaz/SCP-SeuratV5")

Python Environment Setup

SCP uses Python for advanced analysis features. Python dependency management is handled via uv, an ultra-fast package manager.

First-time setup:

library(SCP)

# Option 1: Basic installation (recommended) - ~30 seconds
# Includes: Essential single-cell tools for standard analysis
PrepareEnv(extras = "basic")

# Option 2: Full installation - ~90 seconds
# Includes everything: velocity, trajectory, deep learning, machine learning
PrepareEnv(extras = "all")

What's included:

  • basic (recommended for most users):

    • Essential single-cell tools (UMAP, PAGA, Scanorama, BBKNN, Leiden, Louvain, Scrublet)
    • All features needed for standard QC, normalization, clustering, and visualization
  • all (for advanced users):

    • Everything in basic
    • RNA velocity (scVelo, CellRank)
    • Trajectory inference (PHATE, Palantir)
    • Deep learning integration (scvi-tools, PyTorch)
    • Machine learning (XGBoost)

Activating Python in future sessions:

library(SCP)
use_uv_env()  # Activate Python environment

Adding packages later:

# Add specific Python packages
uv_install(packages = "scanpy")

# Upgrade from basic to all
uv_install(extras = "all")

Quick Start

See our comprehensive getting-started vignette for a complete walkthrough.

Known limitations and To-Dos

  • Most functions mentioned in getting-started vignette should work ok now with a comprehensive debugging effort.
  • A refactoring for the integration module is underway, and have not been thoroughly tested.
  • Some trajectory methods (Monocle, CellRank, Palatir, Monocle3, etc) have not been thoroughly tested.
  • scANVI integration is new and has not been thoroughly tested.
  • Added imputation methods (ALRA, MAGIC) but have not been thoroughly tested.
  • Enrichment part are being rewritten to replace deprecated packages. RunGSEA, feature annotation functions should work fine. PrepareDB is using placeholder DB as of now. Please avoid using Enrichment related functions at the moment. This will be fixed in later versions.

Requirements

R Dependencies

  • R >= 4.1.0
  • Seurat >= 4.0.0
  • SeuratObject >= 4.0.0

License

GPL-3.0-or-later

Acknowledgments

SCP is built upon the excellent SCP package by Hao Zhang. We are deeply grateful to the original author for creating such a comprehensive and well-designed toolkit for single-cell analysis.

Related Projects

  • Seurat - Single-cell RNA-seq analysis
  • scanpy - Python-based single-cell analysis
  • scVelo - RNA velocity analysis
  • pak - Fast R package manager (recommended for installation)
  • UV - Fast Python package manager

Support

For issues and questions:


Version: 0.1.0 Last Updated: 2025-10-22

About

Developmental version of SCP, adapted for Seurat V5

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • HTML 87.5%
  • R 12.1%
  • Other 0.4%