Home

Awesome

WaveCrest

WaveCrest is a statistical approach to reconstruct gene expression trajectory in single cell RNA-seq experiments with ordered conditions. WaveCrest contains two modules - the first module implements an extended nearest insertion (ENI) algorithm and a 2-opt algorithm that search for optimal cell orders, and the second module implements a 'fishing' algorithm that can be used to identify additional dynamic genes following the recovered order.

1. Installation

To run the WaveCrest graphical user interface (GUI), it requires the following packages: shiny, shinyFiles, colourpicker, WaveCrest

R version ≥ 3.0.2 is needed. For mac user, make sure whether xcode is installed.

To install the shiny packages, in R run:

install.packages("shiny")

install.packages("shinyFiles")

install.packages("colourpicker")

WaveCrest R package and its vignette could be found at https://github.com/lengning/WaveCrest/tree/master/package

To install WaveCrest, in R run:

install.packages("devtools")

library(devtools)

install_github("lengning/WaveCrest/package/WaveCrest")

Or install locally.

R users may run WaveCrest following the vignette here https://github.com/lengning/WaveCrest/blob/master/package/WaveCrestVig_v1.pdf and skip the installation of shiny and shinyFiles.

Run the app

To launch WaveCrest GUI, in R run:

library(shiny)

library(shinyFiles)

library(colourpicker)

runGitHub('lengning/WaveCrest')

Screenshot

2. Input files

The first input file should be the expression matrix, with genes in rows and cells as columns. Currently, only takes csv files or tab delimited file are accepted. The input file will be treated as a tab delimited file if the suffix is not '.csv'.

The second input file is the Condition vector. The conditions could be time points, spatial positions, etc. It can be csv or tab delimited file. The file should contain 1 column. Each element of the should represent the corresponding condition that each cell belongs to, it should match exactly the order of columns in the expression matrix and be the same length. If condition input file is missing, all cells are considered to be from one condition.

The third input file is the Marker vector. It can be csv or tab delimited file. The file should contain 1 column of gene names. These genes will be used to do the reordering in WaveCrest. If the marker input file is missing, all genes will considered as markers of interest. If a marker gene is not included in the expression matrix, the marker will be excluded from the analysis.

Example files

An example input file exData.csv, Condition.csv, and Markers.csv can be found at https://github.com/lengning/WaveCrest/tree/master/example_data

3. Customize options

By default, the WaveCrest GUI will first recover the cell order based on the markers of interest. In the recovered order, cells from different conditions (time points) are not allowed to be mixed. If specified, the WaveCrest GUI will further detect additional genes with dynamic profile following the recovered cell order.

4. Outputs

Two to five files will be generated:

Note

The 'create new folder' button in the output folder selection pop-up is disfunctional right now

License

This project is licensed under the terms of the Apache License 2.0