Question: Differential Expression Analysis with monocle and batch effect correction
gravatar for Poorya Parvizi
20 months ago by
The University of Edinburgh
Poorya Parvizi40 wrote:


I would like to run differential expression analysis on my single-cell data. My data contains of 5 groups which sequenced in 3 batches. Each batch contains all of the groups. Before the differential expression analysis with monocle (I should run it with monocle) I have tried to eliminate batch effect from the data. I used Seurat's ScaleData function ( argument) to regress out the batch effect. However, the output of this function is in scale format which contains negative values in it.

Can I use scale values in differential expression analysis, specifically monocle?

I also tried limma's removeBatchEffect function, which also gives negative values. What is the best way to regress out the batch effect before the monocle differential expression?

ADD COMMENTlink modified 20 months ago by Kevin Blighe53k • written 20 months ago by Poorya Parvizi40
gravatar for Kevin Blighe
20 months ago by
Kevin Blighe53k
Kevin Blighe53k wrote:

I do not believe negative values will help differential expression analysis in any way. Monocle actually provides functionality for dealing with things like batch. In many of the functions, there is a parameter called residualModelFormulaStr, which allow you to list any covariates for which the statistical modelling should be adjusted.


A model formula string specify effects you want to exclude when testing for cell type dependent expression

So, for example, for a differential expression analysis, use:

differentialGeneTest(cds, fullModelFormulaStr = " ~ condition + batch",
reducedModelFormulaStr = " ~ batch", relative_expr=TRUE, cores=4)

Take a look at the Manual and Tutorial.


ADD COMMENTlink modified 4 months ago • written 20 months ago by Kevin Blighe53k

Thank you Kevin. I will try it.

ADD REPLYlink written 20 months ago by Poorya Parvizi40

I believe it should be

differentialGeneTest(cds, fullModelFormulaStr = " ~ condition + Batch", reducedModelFormulaStr = " ~ Batch", relative_expr=TRUE, cores=4)

according to here: Multi-Factorial Differential Expression Analysis

ADD REPLYlink modified 4 months ago • written 4 months ago by zhangguoqiang860

Thank you - I have edited the answer.

ADD REPLYlink written 4 months ago by Kevin Blighe53k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1676 users visited in the last hour