Algorithms used by Cellxgene
October 18, 2021 ยท View on GitHub
Differential expression
We're actively working on how to improve differential expression. The current implementation assumes normally distributed values on a linear scale.
Cellxgene's differential expression uses a Welch's t-test, which assumes that the two populations are normally distributed, but may have unequal variance. We use a two-sided t-test against the null hypothesis that the two populations have equal means. P-values are adjusted with the Bonferroni corrrection.
To help avoid spurious results, we only return genes with log fold change greater than 0.01:
|log2( mean(set1) / mean(set2) )| > 0.01
The log fold change threshold can be configured on cellxgene Desktop with the --diffexp-lfc-cutoff command. We then sort genes by their associated |t value| and return the top 15 genes.