Entering edit mode
peibo_xu
▴
10
@peibo_xu-15153
Last seen 6.6 years ago
Hi, I am using results by results() function from DESeq2 package to do volcano plot.
I found after I did lfcShrink function, I got many zero pvalues, but not before lfcShrink, even though I set independentFiltering=FALSE,cooksCutoff=FALSE.
How should I solve this? Any suggestion which one I should represent for a publication-ready plot?

Hi Michael, the user had posted a similar question as an issue to my EnhancedVolcano Bioconductor package: https://github.com/kevinblighe/EnhancedVolcano/issues/14
I forwarded them here in relation to their query about lfcshrink.
Also see this other question wrt zero pvalues
https://support.bioconductor.org/p/119574/#119575
Hi Michael, Thanks for helping. First, I should re-edit the issue, I before
lfcShrink, I can see volcano plot is more flat(some pvalues are large), but afterlfcShrink, many gene points are on the middle part of plot(very small pvaluse but about zero fold changes).After checking with https://support.bioconductor.org/p/119574/#119575 this question, and the answer posted by Kevin, I guess zero pvalues may be due to
lfcShrinkandmachine-specific lowest valueset byEnhancedVolcanoHere is the code I run
So for me, shrunken LFC looks better, but I do not how to deal with gene points very small pvaluse but about zero fold changes, is this a 'volcano plot' related issue?
Sorry for the confusion at the first time.
Hey peibo_xu, just to confirm the steps:
if EnhancedVolcano detects a p-value equal to 0, it will automatically convert these to the value of
.Machine$double.xmin. On my computer, this value is:Obviously, this is necessary because one cannot plot the negative log10 of 0:
You have the option of converting these p-values of 0 to something else, prior to using EnhancedVolcano. For example, you may simply convert them (just for plotting) to a magnitude of 10 lower than the lowest non-zero p-value, as this quick example shows:
Now convert (impute) the p-values of 0:
The LFC shrinkage tends to be more “strict” about evidence on the LFC than the null hypothesis test. You can use svalues instead of adjusted pvalues which will give a consistent picture, by setting svalue=TRUE. See the apeglm paper for motivation and details.