• Stars
    star
    191
  • Rank 202,877 (Top 4 %)
  • Language
    R
  • License
    Other
  • Created about 7 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Comparison of methods for trajectory inference on single-cell data ๐Ÿฅ‡

Build Status Lifecycle doi โ„น๏ธ Tutorials ย 

Benchmarking trajectory inference methods

This repo contains the scripts to reproduce the manuscript

A comparison of single-cell trajectory inference methods Wouter Saelens* , Robrecht Cannoodt* , Helena Todorov , Yvan Saeys
doi:10.1038/s41587-019-0071-9 altmetric

Dynverse

Under the hood, dynbenchmark makes use of most dynverse package for running the methods, comparing them to a gold standard, and plotting the output. Check out dynverse.org for an overview!

Experiments

From start to finish, the repository is divided into several experiments, each with their own scripts and results. These are accompanied by documentation using github readmes and can thus be easily explored by going to the appropriate folders:

# id scripts results
1 Datasets ๐Ÿ“„โžก ๐Ÿ“Šโžก
2 Metrics ๐Ÿ“„โžก ๐Ÿ“Šโžก
3 Methods ๐Ÿ“„โžก ๐Ÿ“Šโžก
4 Method testing ๐Ÿ“„โžก ๐Ÿ“Šโžก
5 Scaling ๐Ÿ“„โžก ๐Ÿ“Šโžก
6 Benchmark ๐Ÿ“„โžก ๐Ÿ“Šโžก
7 Stability ๐Ÿ“„โžก ๐Ÿ“Šโžก
8 Summary ๐Ÿ“„โžก ๐Ÿ“Šโžก
9 Guidelines ๐Ÿ“„โžก ๐Ÿ“Šโžก
10 Benchmark interpretation ๐Ÿ“„โžก ๐Ÿ“Šโžก
11 Example predictions ๐Ÿ“„โžก ๐Ÿ“Šโžก
12 Manuscript ๐Ÿ“„โžก ๐Ÿ“Šโžก
Varia ๐Ÿ“„โžก

We also have several additional subfolders:

  • Manuscript: Source files for producing the manuscript.
  • Package: An R package with several helper functions for organizing the benchmark and rendering the manuscript.
  • Raw: Files generated by hand, such as figures and spreadsheets.
  • Derived: Intermediate data files produced by the scripts. These files are not git committed.

Guidelines

Based on the results of the benchmark, we provide context-dependent user guidelines, available as a shiny app. This app is integrated within the dyno pipeline, which also includes the wrappers used in the benchmarking and other packages for visualising and interpreting the results.

dynguidelines

Datasets

The benchmarking pipeline generates (and uses) the following datasets:

  • Gold standard single-cell datasets, both real and synthetic, used to evaluated the trajectory inference methods DOI

datasets

  • The performance of methods used for the results overview figure and the dynguidelines app.

  • General information about trajectory inference methods, available as a data frame in dynmethods::methods

Methods

All wrapped methods are wrapped as both docker and singularity containers. These can be easily run using dynmethods.

Installation

dynbenchmark has been tested using R version 3.5.1 on Linux. While running the methods also works on on Windows and Mac (see dyno), running the benchmark is currently not supported on these operating system, given that a lot of commands are linux specific.

In R, you can install the dependencies of dynbenchmark from github using:

# install.packages("devtools")
devtools::install_github("dynverse/dynbenchmark/package")

This will install several other โ€œdynverseโ€ packages. Depending on the number of R packages already installed, this installation should take approximately 5 to 30 minutes.

On Linux, you will need to install udunits and ImageMagick:

  • Debian / Ubuntu / Linux Mint: sudo apt-get install libudunits2-dev imagemagick
  • Fedora / CentOS / RHEL: sudo dnf install udunits2-devel ImageMagick-c++-devel

Docker or Singularity (version โ‰ฅ 3.0) has to be installed to run TI methods. We suggest docker on Windows and MacOS, while both docker and singularity are fine when running on linux. Singularity is strongly recommended when running the method on shared computing clusters.

For windows 10 you can install Docker CE, older Windows installations require the Docker toolbox.

You can test whether docker is correctly installed by running:

dynwrap::test_docker_installation(detailed = TRUE)
## โœ” Docker is installed

## โœ” Docker daemon is running

## โœ” Docker is at correct version (>1.0): 1.39

## โœ” Docker is in linux mode

## โœ” Docker can pull images

## โœ” Docker can run image

## โœ” Docker can mount temporary volumes

## โœ” Docker test successful -----------------------------------------------------------------

## [1] TRUE

Same for singularity:

dynwrap::test_singularity_installation(detailed = TRUE)
## โœ” Singularity is installed

## โœ” Singularity is at correct version (>=3.0): v3.0.0-13-g0273e90f is installed

## โœ” Singularity can pull and run a container from Dockerhub

## โœ” Singularity can mount temporary volumes

## โœ” Singularity test successful ------------------------------------------------------------

## [1] TRUE

These commands will give helpful tips if some parts of the installation are missing.

More Repositories

1

dyno

Inferring, interpreting and visualising trajectories using a streamlined set of packages ๐Ÿฆ•
R
166
star
2

dynmethods

A collection of 50+ trajectory inference methods within a common interface ๐Ÿ“ฅ๐Ÿ“ค
R
118
star
3

dynverse

A set of tools supporting the development, execution, and benchmarking of trajectory inference methods. ๐ŸŒ
R
72
star
4

dyngen

Simulating single-cell data using gene regulatory networks ๐Ÿ“ 
HTML
69
star
5

anndata

Annotated multivariate observation data in R
R
41
star
6

dynplot

Visualising single-cell trajectories, including comparisons between two models ๐Ÿ“ˆ
R
30
star
7

funkyheatmap

Visualising data frames as funky heatmaps ๐Ÿ“Š
R
24
star
8

babelwhale

Talking to Docker and Singularity containers
R
24
star
9

dynguidelines

Selecting the optimal trajectory inference based on a given dataset and user input ๐Ÿ”ฎ
R
17
star
10

dynwrap

A common data format and inference environment for single-cell trajectories ๐Ÿ“ฆ
R
14
star
11

dyntoy

Toy synthetic data for testing and prototyping trajectory inference methods ๐ŸŽฒ
R
8
star
12

dyndimred

Dimred methods for TI
R
7
star
13

lmds

Landmark Multi-Dimensional Scaling
R
7
star
14

dynbenchmark_results

Contains the results from the dynbenchmark evaluation, see https://github.com/dynverse/dynbenchmark
6
star
15

dyngen_manuscript

TeX
5
star
16

dyneval

Metrics to compare two or more trajectories โš–
R
2
star
17

dynutils

Common Functionality for the 'dynverse' Packages
R
2
star
18

dynparam

R
2
star
19

competition

Topcoder single-cell trajectory inference competition
R
2
star
20

travis_scripts

Helper scripts for testing containers on Travis
Shell
2
star
21

dyncli

CLI helper package for creating TI containers
R
1
star
22

ti_paga

Python
1
star
23

funky_cover

Python
1
star
24

ti_monocle_ica

R
1
star
25

ti_scorpius

R
1
star