Ouija is a probabilistic pseudotime framework. Ouija
- infers pseudotimes from a small number of marker genes letting you understand why the pseudotimes have been learned in terms of those genes (A)
- provides parameter estimates (with uncertainty) for interpretable gene regulation behaviour (such as the peak time or the upregulation time) (B)
- has a Bayesian hypothesis test to find genes regulated before others along the trajectory (C)
- identifies metastable states, ie discrete cell types along the continuous trajectory (D)
# install.packages("devtools")
devtools::install_github("kieranrcampbell/ouija")
To build the Ouija vignette install using
devtools::install_github("kieranrcampbell/ouija", local = FALSE,
args = "--preclean", build_vignettes = TRUE)
Input is a cell-by-gene expression matrices that is non-negative and represents logged gene expression values. We recommend using log2(TPM + 1)
. This can either take the form of a matrix or a SingleCellExperiment
(use of the SingleCellExperiment
infrastructure is highly encouraged for single-cell analyses). By default the logcounts
assay of a SingleCellExperiment
will be used.
To fit the pseudotimes, pass the input data to the ouija
function:
library(ouija)
data(example_gex) # synthetic gene expression data bundled
oui <- ouija(example_gex)
pseudotimes <- map_pseudotime(oui)
The map_pseudotimes
function extracts the maximum-a-posteriori (MAP) estimates of the pseudotimes.
For further usage options see the vignette. A prebuilt vignette can be found here.
Kieran Campbell & Christopher Yau
Wellcome Trust Centre for Human Genetics, University of Oxford
Artwork by cwcyau
, the mysterious banksy-esque artist of the statistical genomics world.