Question: Strange lfcShrink plot when running DESeq2 workflow
gravatar for Ben
13 months ago by
United States
Ben0 wrote:

Hi everybody,

I am producing right now a strange plot while running the DESeq2 workflow when running the command lfcShrink on the DESeqDataSet object (after running the DESeq function).

I assume right now that there is an error within my workflow but I can not figure out what the problem. In a nutshell this is what I was running on the dataset:

  1. import of dataset using tximport (RSEM result files),
  2. creation of design matrix using limma,
  3. creation of DESeqDataSet using the tximport object and the design matrix,
  4. pre-filtering for low-expressed genes,
  5. running DESeq function on DESeqDataSet,
  6. creation of contrast matrix,
  7. running lfcShrink on the DESeq processed DESeqDataSet.

I can update the code of course but maybe someone has some ideas just based on the plot itself.

Thanks much in advance!

left plot showing results(object=dds,...), right plot showing lfcShrink(dds_calc,...)

Both plots plotted using DESeq2::plotMA(...)​.


rnaseq deseq deseq2 rna-seq • 298 views
ADD COMMENTlink modified 13 months ago • written 13 months ago by Ben0
Answer: Strange lfcShrink plot when running DESeq2 workflow
gravatar for Michael Love
13 months ago by
Michael Love26k
United States
Michael Love26k wrote:

I've seen this before when users are plotting the intercept.

dds <- makeExampleDESeqDataSet()
dds <- DESeq(dds)
res <- lfcShrink(dds, "Intercept")
ADD COMMENTlink written 13 months ago by Michael Love26k

Hey... Thanks for your quick response...

But no... I do not plot the intercept... (below part of my output)

> show(dds_design)
   DF_4 DF_9 DHF_4 DHF_9
1     0    1     0     0
2     1    0     0     0
3     0    1     0     0
4     1    0     0     0
5     0    1     0     0
6     0    0     1     0
7     0    0     0     1
8     0    0     0     1
9     0    0     1     0
10    0    0     0     1
11    0    0     0     1
> resultsNames(dds_calc)
[1] "DF_4"  "DF_9"  "DHF_4" "DHF_9"
> resLFC=lfcShrink(dds_calc,coef=2,type="normal")
> resNoLFC=results(object=dds_calc,contrast=contMatrix[,2])
> graphics::par(mfrow=c(1,2))
> DESeq2::plotMA(object=resNoLFC)
> DESeq2::plotMA(object=resLFC)
ADD REPLYlink modified 13 months ago • written 13 months ago by Ben0

This design should not be used with LFC shrinkage. The coefficients represent the base level for each group, and you don't want to shrink these to zero. It's essentially shrinking the intercept (each group has its own intercept). You should only use LFC shrinkage on coefficients representing differences between groups.

ADD REPLYlink written 13 months ago by Michael Love26k
Please log in to add an answer.


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