目录

muscat (Multi-sample multi-group scRNA-seq analysis tools )

…provides methods for Differential State (DS) analyses in scRNA-seq data
with multiple samples, groups, and (cell)-subpopulations, as elaborated in:

Crowell HL, Soneson C*, Germain P-L*,
Calini D, Collin L, Raposo C, Malhotra D & Robinson MD:
muscat detects subpopulation-specific state transitions from
multi-sample multi-condition single-cell transcriptomics data”
Nature Communications 11, 6077 (2020)
DOI: 10.1038/s41467-020-19894-4

*These authors contributed equally.

installation

muscat is available through Bioconductor, and can be installed using the following commands:

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("muscat")

quick guide

Let sce be a SingleCellExperiment object with cell metadata (colData) columns

  1. "sample_id" specifying unique sample identifiers (e.g., PeterPan1, Nautilus7, …)
  2. "group_id" specifying each sample’s experimental condition (e.g., reference/stimulated, healthy/diseased, …)
  3. "cluster_id" specifying subpopulation (cluster) assignments (e.g., B cells, dendritic cells, …)

Aggregation-based methods come down to the following simple commands:

# compute pseudobulks (sum of counts)
pb <- aggregateData(sce, 
    assay = "counts", fun = "sum",
    by = c("cluster_id", "sample_id"))
    
# run pseudobulk (aggregation-based) DS analysis
ds_pb <- pbDS(pb, method = "edgeR")

Mixed models can be run directly on cell-level measurements, e.g.:

ds_mm <- mmDS(sce, method = "dream")

For details, please see the package vignettes.

differential detection

muscat also supports testing for differential detection as proposed in

Gilis J, Perin L, Malfait M, Crowell HL, Van den Berge K, Assefa AT, Verbist B, Risso D, and Clement L: Differential detection workflows for multi-sample single-cell RNA-seq data. BMC Genomics 26, 886 (2025). DOI: 10.1186/s12864-025-12102-x

Key alterations to the commands above are highlighted below (!!!), however, we recommend users consult the corresponding publication and package vignette for more details.

# sum binarized counts
pb <- aggregateData(sce, 
    assay = "counts", 
    fun = "num.detected", # !!!
    by = c("cluster_id", "sample_id"))
# test for differential detection
dd <- pbDD(pb) # or..
dd <- pbDS(pb, method = "DD")
关于

用于单细胞RNA测序数据的多样本多条件统计分析

24.2 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号