Weird results after lfc command (shrinkage)
Entering edit mode
nico • 0
Last seen 6 days ago

Hi everybody, 

I performed a DeSeq2 analysis and after I performed the lfcshrinkage command, I obtained very small log2fold changes for some of my results. As a consequence, my enhanced volcano plot looks very weird. These are the values for the results before I performed lfcshrinkage:

Gene log2fold change ENSG00000184330 -9.582811812

ENSG00000244057 -19.21921435

ENSG00000166535 -6.860621849

ENSG00000105388 -7.784157629

ENSG00000188505 -5.89005343

These are the outputs after I performed the lfc shrinkage command:


ENSG00000244057 -3.39E-07

ENSG00000166535 -2.13E-05

ENSG00000105388 -1.90E-06

ENSG00000188505 -5.646991067

As well, I have attached the two volcano plots: The first one is performed before lfcshrinkage and the 2nd plot contains the results after lfcshrinkage was performed

Only DESeq2 was performed

after lfc shrinkage was performed

Has anybody obtained similiar results like this?

Thank you very much for any help.

lfcshrinkage DESeq2 • 177 views
Entering edit mode
Last seen 2 days ago
United States

The result from lfcShrink is often more conservative than from the Wald p-values. If you want the volcanco to agree more you can switch to s-values by setting svalue=TRUE in lfcShrink (see vignette for details).

What can happen that results in a discrepancy is if there are one or two samples driving a large un-moderated LFC. It can be the case that these are not detected by outlier filtering and so the gene gets a small p-value from results, but this will often be moderated by lfcShrink, producing a LFC close to zero and an s-value close to 1.

Entering edit mode

Thank you very much Michael for the quick answer.

My only concern was does it make sense, that the lower plot has this huge bar in the middle or can that happen due to the LFCshrinkage?

Best wishes,


Entering edit mode

Yes that makes sense. Those are genes where, according to the LFC shrinkage, there is not evidence of an LFC != 0. You might want to investigate some of these by eye with plotCounts.

Entering edit mode

Hi Michael,

thank you very much for your answer. I performed plotcounts and I still have a question: I attached 2 plotcounts. One with a "normal" FC and one that has a super small FC (-3.4E-07). My question is:Why is the LFC=0 for the system for that gene, because some counts are pretty high for the negative group.

ENSG00000188505 has a "normal" FC

ENSG00000244057 has a FC of -3.4E-07

Entering edit mode

The LFC for the second one is hard to define because you have bimodal data that is not consistent with a NB distribution. You have a large majority of samples with 0 and then some with very large counts.

In the apeglm paper we also implement apeglm for ZINB data, where you get posterior estimates of LFC for the positive part of the distribution.

But then here you would have group=neg with some samples with positive count, and group=pos with no samples with positive count, so the LFC is hard to define. But the shrunken LFC in that case (if you use the ZINB pipeline) should be non-zero.

If you are interested there is code on how to combine ZINB with apeglm. I'll update it and post a comment.

Entering edit mode

OK thank you. Yes if you could provide the code that would be great.

Entering edit mode

Sure, here is code for running zinbwave + apeglm, I just checked to make sure it works with recent release of Bioc:


Login before adding your answer.

Similar Posts
Loading Similar Posts
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.3