Trajectory inference aims at estimating dynamic changes in a single-cell transcriptome landscape, assuming that the cell-wise transcriptome is a static snapshot at a time point along some cellular process. The pseudotime and RNA velocity both are considered as the trajectory inference.Highly variable genes, represented by DEGs, thus contribute an important role in the pseudotime and RNA velocity analysis.
Breaking: A plethora of trajectory inference methods has been developed over the past few years, and 11 user-friendly tools are recommended in this document.
Introduction: Provides functions for inferring continuous, branching lineage structures in low-dimensional data. Slingshot was designed to model developmental trajectories in single-cell RNA sequencing data and serve as a component in an analysis pipeline after dimensionality reduction and clustering. It is flexible enough to handle arbitrarily many branching events and allows for the incorporation of prior knowledge through supervised graph construction.
Installation: To install this package, start R and enter:
if (!requireNamespace("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("kstreet13/slingshot")
Python Version: An implementation of the Slingshot algorithm in python can be found here: https://github.com/mossjacob/pyslingshot
Introduction: CellRank is a toolkit to uncover cellular dynamics based on Markov state modeling of single-cell data. It contains two main modules: kernels compute cell-cell transition probabilities and estimators generate hypothesis based on these.
Installation: CellRank requires Python version >= 3.7 to run. We recommend using Miniconda to manage the environments.
CellRank can be installed via:
conda install -c conda-forge -c bioconda cellrank
# or with extra libraries, useful for large datasets
conda install -c conda-forge -c bioconda cellrank-krylov
Web server: CellRank.
Introduction: CytoTree, an R/Bioconductor package for trajectory inference, pseudotime estimation and visualization of flow and mass cytometry data. The CytoTree package offers a complete up-to-date analysis workflow for flow and mass cytometry data that includes subpopulation classification, dimensionality reduction, trajectory construction, differentially expressed marker calculation, pseudotime estimation, intermediate state identification and visualization. The CytoTree runs on several platforms, such as UNIX, Windows, and macOS, and provides an up-to-date, feature-rich and readily scalable workflow.
Installation: To install this package, start R and enter:
# If not already installed
install.packages("devtools")
devtools::install_github("JhuangLab/CytoTree")
CytoTree is also available on Bioconductor:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("CytoTree")
CytoTree Tutorial is provided in https://ytdai.github.io/CytoTree/index.html
Introduction: VeloViz creates an RNA-velocity-informed 2D embedding for single cell transcriptomics data.
Installation: To install this package, start R and enter:
require(remotes)
remotes::install_github('JEFworks-Lab/veloviz')
VeloViz is also available on Bioconductor:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("veloviz")
A example is provided in https://github.com/JEFworks-Lab/veloviz
Introduction: Asc-Seurat (Analytical single-cell Seurat-based web application) is a web application based on Shiny. Pronounced as “ask Seurat”, it provides a click-based, easy-to-install, and easy-to-use interface that allows the execution of all steps necessary for scRNA-seq analysis. It integrates many of the capabilities of the Seurat and Dynverse and also allows an instantaneous functional annotation of genes of interest using BioMart.
Installation: To install Asc-Seurat, it is necessary to have Docker installed on the machine. Docker needs to be correctly installed and configured in the user’s machine. Check the installation instructions provided by Docker at (https://docs.docker.com/engine/install).
Web server: Asc-Seurat.
Introduction: A tool for infering scRNA_seq trajectory from RNA velocity
Installation: The script works on python. R 3.6(or higher version) and “princurve” package in R are required. TF(Transfer entroy) inference needs openmpi installation on Linux OS. If you only want to infer trajectories of datasets, it is unnessary to install “openmpi” and “JPype”.
Introduction: Temporally unified RNA velocity for single cell trajectory inference (UniTVelo) is implementated on Python 3 and TensorFlow 2. The model estimates velocity of each gene and updates cell time based on phase portraits concurrently. The major features of UniTVelo are: 1)Using spliced RNA oriented design to model RNA velocity and transcription rates. 2) Introducing a unified latent time (Unified-time mode) across whole transcriptome to incorporate stably and monotonically changed genes. 3) Retaining gene-spcific time matrics (Independent mode) for complex datasets
Installation: To run TIMEOR outside of website (recommended for preprocessing from raw .fastq files), users may use Docker and Docker Hub. First, the TIMEOR repository must be cloned (https://github.com/ashleymaeconard/TIMEOR.git). To use Docker, it must be installed (version 20.10.0 recommended).
Web server: TIMEOR.
Introduction: Temporally unified RNA velocity for single cell trajectory inference (UniTVelo) is implementated on Python 3 and TensorFlow 2. The model estimates velocity of each gene and updates cell time based on phase portraits concurrently. The major features of UniTVelo are: 1)Using spliced RNA oriented design to model RNA velocity and transcription rates. 2) Introducing a unified latent time (Unified-time mode) across whole transcriptome to incorporate stably and monotonically changed genes. 3) Retaining gene-spcific time matrics (Independent mode) for complex datasets
Installation: The installation process is provided in https://github.com/StatBiomed/UniTVelo
Introduction: Trajectory Inference of Pathway Significance through Pseudotime Comparison for Functional Assessment of single-cell RNAseq Data.
Installation: To install this package, start R and enter:
install.packages(c("shiny","shinydashboard","markdown","ggplot2","Seurat","kohonen","viridis"))
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install(c("monocle","switchde"))
library(shiny)
shiny::runGitHub("TIPS", "qingshanni")
shiny::runApp("TIPS")
Introduction: Velo-Predictor, an ensemble learning pipeline for RNA velocity prediction. While RNA velocity estimation is not straightforward, the pipeline can simplify the procedure by learning a predictive model from gene expression data.
Installation: The installation process is provided in https://github.com/clay001/Velo-Predictor
Introduction: Temporally unified RNA velocity for single cell trajectory inference (UniTVelo) is implementated on Python 3 and TensorFlow 2. The model estimates velocity of each gene and updates cell time based on phase portraits concurrently. The major features of UniTVelo are: 1)Using spliced RNA oriented design to model RNA velocity and transcription rates. 2) Introducing a unified latent time (Unified-time mode) across whole transcriptome to incorporate stably and monotonically changed genes. 3) Retaining gene-spcific time matrics (Independent mode) for complex datasets
Installation: To install this package, start R and enter:
install.packages("remotes")
remotes::install_github("danielasenraoka/ORIGINS")
Introduction: PAGA maps preserve the global topology of data, allow analyzing data at different resolutions, and result in much higher computational efficiency of the typical exploratory data analysis workflow. PAGA-initialized manifold learning algorithms converge faster, produce embeddings that are more faithful to the global topology of high-dimensional data, and introduce an entropy-based measure for quantifying such faithfulness. According to the evaluation research of trajectory methods, PAGA can model all trajectory types and performs better than any other method.
Installation: PAGA is implemented in Scanpy via scanpy.tl.paga. To use this method, please install Scanpy first:
pip install scanpy
Introduction: SCORPIUS, an unsupervised approach for inferring linear developmental chronologies from single-cell RNA sequencing data. In comparison to similar approaches, it has three main advantages:
It accurately reconstructs linear dynamic processes.
It automatically identifies marker genes, speeding up knowledge discovery.
It is fully unsupervised. Prior knowledge of the relevant marker genes or cellular states of individual cells is not required.
Installation: SCORPIUS can be used by installing the R package:
install.packages("SCORPIUS")
Or install the development version via:
devtools::install_github("rcannood/SCORPIUS", build_vignettes = TRUE)
Introduction: STEMNET is used to estimate the progression of single stem cells to distinct lineages. As an input, it takes a single cell gene expression matrix and a vector annotating, for each cell, if the cell is part of a given developmental endpoint or if it an immature cell. It then estimates the direction and amount of priming for each stem cell and creates visualizations of the lineage priming process.
Installation: To install this package, start R and enter:
install.packages("devtools")
devtools::install_git('https://git.embl.de/velten/STEMNET/', build_vignettes=TRUE)
Introduction: The Monocle 3 package provides a toolkit for analyzing single-cell gene expression experiments, particularly as a powerful tool to infer cellular differentiation trajectory and dissect cell decisions during branch points. It is widely used by computational biologists and other researchers as it offers a streamlined analytical workflow for single-cell transcriptomics data, including three main types of analysis:
Installation: To install this package, start R and enter:
### Install BiocManager first
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install(version = "3.14")
### Install dependencies
BiocManager::install(c('BiocGenerics', 'DelayedArray', 'DelayedMatrixStats',
'limma', 'lme4', 'S4Vectors', 'SingleCellExperiment',
'SummarizedExperiment', 'batchelor', 'HDF5Array',
'terra', 'ggrastr'))
### Install Monocle3
install.packages("devtools")
devtools::install_github('cole-trapnell-lab/monocle3')
### Install development version of monocle3
devtools::install_github('cole-trapnell-lab/monocle3', ref="develop")
Web server: Monocle3.
Introduction: scVelo employs a likelihood-based dynamical model to solve the full transcriptional dynamics of splicing kinetics, which distinguishes it with other algorithms obtaining velocities as the deviation of the observed ratio of spliced and unspliced mRNA from an inferred steady state. It also provides three existing approaches to perform RNA velocity estimation:
Installation: To install this tool, start command line and enter:
### Install scVelo from PyPI using:
pip install -U scvelo
### Install development version of scVelo
pip install git+https://github.com/theislab/scvelo@main
### OR
git clone https://github.com/theislab/scvelo && cd scvelo
git checkout --track origin/main
pip install -e .
Web server: scvelo.
Introduction: veloVI (velocity variational inference) learns a gene-specifc dynamical model of RNA metabolism and provides a transcriptome-wide quantifcation of velocity uncertainty, which can be used for assessing whether RNA velocity analysis is suitable for a given dataset. It is also a flexible framework for modeling RNA dynamics by adapting the underlying dynamical model to use time-dependent transcription rates.
Installation: To install this package, start command line and enter:
### Install the latest release on PyPI:
pip install velovi
### Install the latest development version:
pip install git+https://github.com/yoseflab/velovi.git@main
It has been wrapped by scvi-tools, where you can find the API reference of veloVI.
Web server: veloVI.