Distance-to-median | R Documentation |
Compute the distance-to-median statistic for the CV2 residuals of all genes
DM(mean, cv2, win.size=51)
mean |
A numeric vector of average counts for each gene. |
cv2 |
A numeric vector of squared coefficients of variation for each gene. |
win.size |
An integer scalar specifying the window size for median-based smoothing. This should be odd or will be incremented by 1. |
This function will compute the distance-to-median (DM) statistic described by Kolodziejczyk et al. (2015).
Briefly, a median-based trend is fitted to the log-transformed cv2
against the log-transformed mean
using runmed
.
The DM is defined as the residual from the trend for each gene.
This statistic is a measure of the relative variability of each gene, after accounting for the empirical mean-variance relationship.
Highly variable genes can then be identified as those with high DM values.
A numeric vector of DM statistics for all genes.
Jong Kyoung Kim, with modifications by Aaron Lun
Kolodziejczyk AA, Kim JK, Tsang JCH et al. (2015). Single cell RNA-sequencing of pluripotent states unlocks modular transcriptional variation. Cell Stem Cell 17(4), 471–85.
# Mocking up some data
ngenes <- 1000
ncells <- 100
gene.means <- 2^runif(ngenes, 0, 10)
dispersions <- 1/gene.means + 0.2
counts <- matrix(rnbinom(ngenes*ncells, mu=gene.means, size=1/dispersions), nrow=ngenes)
# Computing the DM.
means <- rowMeans(counts)
cv2 <- apply(counts, 1, var)/means^2
dm.stat <- DM(means, cv2)
head(dm.stat)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.