tradeSeq tradeSeq workflow

📖 Documentation: https://zaoqu-liu.github.io/tradeSeq/


TRAjectory Differential Expression analysis for SEQuencing data

tradeSeq is an R/Bioconductor package for trajectory-based differential expression analysis of single-cell RNA sequencing (scRNA-seq) data. It implements a flexible statistical framework based on generalized additive models (GAMs) to identify genes whose expression patterns change significantly along developmental trajectories or pseudotime.

Overview

Single-cell transcriptomics enables the study of continuous biological processes such as cell differentiation, development, and disease progression. tradeSeq provides a comprehensive statistical framework for:

Methodology

The statistical framework is based on fitting negative binomial generalized additive models (GAMs) with cubic regression splines for each gene:

$$\log(\mu_{gc}) = \sum_{l=1}^{L} \mathbf{1}{cl} \cdot s_l(t{cl}) + O_c$$

Where $s_l(t)$ are smooth functions of pseudotime for each lineage $l$, fitted using penalized cubic regression splines.

For detailed methodology, see the Statistical Framework vignette.

Publication

Van den Berge K, Roux de Bézieux H, Street K, Saelens W, Cannoodt R, Saeys Y, Dudoit S, Clement L. (2020). Trajectory-based differential expression analysis for single-cell sequencing data. Nature Communications, 11:1201. DOI: 10.1038/s41467-020-14766-3

Installation

R-universe (Recommended for latest development version)

install.packages("tradeSeq", repos = "https://zaoqu-liu.r-universe.dev")

Bioconductor (Stable release)

if (!requireNamespace("BiocManager", quietly = TRUE)) {
    install.packages("BiocManager")
}
BiocManager::install("tradeSeq")

GitHub (Development version)

if (!requireNamespace("remotes", quietly = TRUE)) {
    install.packages("remotes")
}
remotes::install_github("Zaoqu-Liu/tradeSeq")

Quick Start

library(tradeSeq)
library(slingshot)

# Fit GAM models for trajectory analysis
sce <- fitGAM(counts = counts, sds = slingshot_object, nknots = 6)

# Test for association with pseudotime
assocRes <- associationTest(sce)

# Compare expression at trajectory endpoints
endRes <- diffEndTest(sce)

# Visualize gene expression along trajectory
plotSmoothers(sce, counts, gene = "GeneOfInterest")

For a complete tutorial, see the Quick Start Guide.

Key Functions

Function Description
fitGAM() Fit negative binomial GAMs for each gene
associationTest() Test association between gene expression and pseudotime
diffEndTest() Compare expression at lineage endpoints
earlyDETest() Test for early differential expression between lineages
patternTest() Compare expression patterns across lineages
startVsEndTest() Compare expression at start vs end of trajectories
conditionTest() Test for condition-specific differential expression
plotSmoothers() Visualize fitted expression curves
plotGeneCount() Plot gene counts along trajectories

Workflow

tradeSeq workflow cheatsheet

Vignettes

Compatibility

tradeSeq integrates seamlessly with popular trajectory inference tools:

System Requirements

Citation

If you use tradeSeq in your research, please cite:

@article{vandenberge2020trajectory,
  title={Trajectory-based differential expression analysis for single-cell sequencing data},
  author={Van den Berge, Koen and Roux de B{\'e}zieux, Hector and Street, Kelly and Saelens, Wouter and Cannoodt, Robrecht and Saeys, Yvan and Dudoit, Sandrine and Clement, Lieven},
  journal={Nature Communications},
  volume={11},
  number={1},
  pages={1201},
  year={2020},
  publisher={Nature Publishing Group},
  doi={10.1038/s41467-020-14766-3}
}

Contributing

We welcome contributions! Please submit issues, bug reports, and feature requests via GitHub Issues.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Maintainer

Zaoqu Liu (@Zaoqu-Liu)


Developed for the single-cell genomics community