Question: Pvalue equals 0 in DESeq2 & fixing for volcano plot
0
8 weeks ago by
algejohnson0 wrote:

Hi All,

I am having a bit of trouble interpreting a result after running DESeq2 on an RNA-seq dataset with 6 biological replicates for multiple conditions (comparing a parental cell line and multiple independent gene KOs). In particular, for a couple genes I am observing Pvalues of 0, which I interpret as them being even smaller than the closest numeric Pvalue listed of "2.18E-269" (I know, incredibly small). I have independent validation that these genes with Pvalues of 0 are real changes, so it seems logical that I'd be able to plot them in a traditional volcano plot after -log10 transformations, but this transformation obviously doesn't work when the Pvalue=0.

I have seen similar topics discussed in other forums, but haven't seen an exact solution to this problem. Should I re-run the analysis with different parameters so that I have more believable Pvalues? Or should I be imputing values in place of the 0?

Thanks, Alex

deseq2 • 83 views
modified 8 weeks ago by Michael Love23k • written 8 weeks ago by algejohnson0
Answer: Pvalue equals 0 in DESeq2 & fixing for volcano plot
1
8 weeks ago by
Michael Love23k
United States
Michael Love23k wrote:

I don’t really see this as an issue, you can put some arbitrary small pvalue that’s less than alll other pvalues for plotting. I’m only concerned with forming FDR sets, and genes with counts that lead to trivial rejection of the null and have minuscule pvalues will make it into such sets.

1

Indeed, that is what I do in EnhancedVolcano. I set these to the machine-specific lowest value with:

 if (min(toptable[,y], na.rm=TRUE) == 0) {
warning(paste("One or more P values is 0.",
"Converting to minimum possible value..."),
call. = FALSE)
toptable[which(toptable[,y] == 0), y] <- .Machine\$double.xmin
}


Great! Many thanks for the quick response and useful advice Michael and Kevin. I think this should solve my problem and I'll try out the method in EnhancedVolcano.

Alex