<p>I would suggest using a likelihood ratio test for differential expression using logistic regression with batch as a latent variable. In Seurat you can do:</p>

<p><code>markers &lt;- FindAllMarkers(object, test.use = 'LR', latent.vars = 'batch')</code></p>

<p>(change "object" and "batch" accordingly)</p>

<p>See <a href="https://www.biorxiv.org/content/early/2018/02/14/258566" rel="nofollow noreferrer">https://www.biorxiv.org/content/early/2018/02/14/258566</a> from Lior Pachter's group for some more info on the LR test.</p>

CC BY-SA 4.0
2018-12-29T01:25:32.290Z
Thanks, Tim. I was considering to use Seurat. Do I need to normalise the data before doing this or does the ScaleData function take care of that for you?
Tom Kelly ケリー・トム
CC BY-SA 4.0
2018-12-31T00:59:49.037Z
You will need to log-normalize the UMI counts, you don't need to run ScaleData if you've already found your clusters using the batch-corrected data
TimStuart
CC BY-SA 4.0
2018-12-28T15:21:21.613Z
2018-12-28T15:21:21.613Z
TimStuart
<p>I wish to perform differential expression analysis for cluster-specific gene expression in single-cell data (with a tool such as MAST or SCDE).</p>

<p>I have data for 3 biological replicates. I performed analysis on 10x data with cellranger and have filtered out cells with low UMIs. I have corrected for batch effects and identified clusters by performing graph-based clustering on the UMAP projections.</p>

<p>As I understand it, the components from batch effect correction algorithms are <em>only</em> intended to be used for the purpose of plotting and clustering. They are <em>not</em> to be used for analysis of individual gene expression or differential expression. This has been stated unequivocally by the original authors of MNN and CCA batch correction algorithms.</p>

<p>I have derived a UMI count matrix for each sample which corrects for amplification bias. Differences between the cells and samples still persist in the raw data. These are obvious from the mean UMI counts to the UMAP of uncorrected data. The number of UMIs differs considerably between samples (batches) and individual cells within a sample (the total UMI per cell). The amount of data from each of the cells varies considerably. The read-depth between samples is also different. Therefore, I need a simple approach to correct for differences in read-depth, total UMI or sensitivity between cells.</p>

<p>Is it possible to normalise UMI counts between cells? Should UMI count data be treated differently to reads per transcript in bulk RNA-Seq? Would it be more appropriate to do so at the level of individual cells or for batches across samples?</p>

<scrnaseq><differential-expression><single-cell><normalization><10x-genomics>
How to normalise scRNASeq data for differential expression analysis
# How to normalise scRNASeq data for differential expression analysis

(Asked by: username_0 on 2018-12-28)

I wish to perform differential expression analysis for cluster-specific gene expression in single-cell data (with a tool such as MAST or SCDE).

I have data for 3 biological replicates. I performed analysis on 10x data with cellranger and have filtered out cells with low UMIs. I have corrected for batch effects and identified clusters by performing graph-based clustering on the UMAP projections.

As I understand it, the components from batch effect correction algorithms are *only* intended to be used for the purpose of plotting and clustering. They are *not* to be used for analysis of individual gene expression or differential expression. This has been stated unequivocally by the original authors of MNN and CCA batch correction algorithms.

I have derived a UMI count matrix for each sample which corrects for amplification bias. Differences between the cells and samples still persist in the raw data. These are obvious from the mean UMI counts to the UMAP of uncorrected data. The number of UMIs differs considerably between samples (batches) and individual cells within a sample (the total UMI per cell). The amount of data from each of the cells varies considerably. The read-depth between samples is also different. Therefore, I need a simple approach to correct for differences in read-depth, total UMI or sensitivity between cells.

Is it possible to normalise UMI counts between cells? Should UMI count data be treated differently to reads per transcript in bulk RNA-Seq? Would it be more appropriate to do so at the level of individual cells or for batches across samples?

**Tags:** scrnaseq, differential-expression, single-cell, normalization, 10x-genomics

---

## 1 answers

### Answer by username_1 on 2018-12-28. Score: 3

I would suggest using a likelihood ratio test for differential expression using logistic regression with batch as a latent variable. In Seurat you can do:

`markers <- FindAllMarkers(object, test.use = 'LR', latent.vars = 'batch')`

(change "object" and "batch" accordingly)

See <https://www.biorxiv.org/content/early/2018/02/14/258566> from Lior Pachter's group for some more info on the LR test.

> **Comments:**
> **username_0**: Thanks, Tim. I was considering to use Seurat. Do I need to normalise the data before doing this or does the ScaleData function take care of that for you?  
> **username_1**: You will need to log-normalize the UMI counts, you don't need to run ScaleData if you've already found your clusters using the batch-corrected data  

---

