/muscat

Multi-sample multi-group scRNA-seq analysis tools

Primary LanguageR

muscat (Multi-sample multi-group scRNA-seq analysis tools )
provides various methods for Differential State (DS) analyses in
multi-sample, multi-group, multi-(cell-)subpopulation scRNA-seq data,
as elaborated in our preprint:

Crowell HL, Soneson C*, Germain P-L*,
Calini D, Collin L, Raposo C, Malhotra D & Robinson MD:
On the discovery of population-specific state transitions from
multi-sample multi-condition single-cell RNA sequencing data.
bioRxiv 713412 (July, 2019). doi: 10.1101/713412

*These authors contributed equally.


muscat is still work in progress. Any constructive feedback (feature requests, comments on documentation, issues or bug reports) is appreciated; therefor, please file a issue on GitHub rather then emailing, so that others may benifit from answers and discussions!


Installation

muscat can be installed from GitHub using the following commands:

if (!requireNamespace("devtools", quietly = TRUE))
    install.packages("devtools")
    
# for the stable release branch:
devtools::install_github("HelenaLC/muscat", ref = "master")


# for the current development version:
devtools::install_github("HelenaLC/muscat", ref = "devel")

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 vignette.