In this post, Mike Love explained the reasoning for moving LFC shrinkage into its own step using the lfcShrink
function, decoupling testing from shrinkage.
Is there any way to use apeglm
-shrinked LFC to compute p-values (similar to using betaPrior=TRUE
, but with the new estimator)?
I know that you can get significance levels when you use lfcThreshold
with apeglm
. Is there a reason that this is only possible when you incorporate lfcThreshold
into the null hypothesis?
Thanks!
Thank you very much!
Is there a reason you recommend using a stricter threshold for s-values? Is this something you observed empirically?
Also, are there any plans to unify the interface for getting significance levels based on shrunken LFC? Right now, there are two different interfaces:
betaPrior=TRUE
in theDESeq
function.ashr
orapeglm
-shrunken LFCs, they must usebetaPrior=FALSE
in theDESeq
function and then setsvalue=TRUE
inlfcShrink
.Nevertheless, thanks for your help. From what I've seen so for, it seems like
apeglm
is giving me more biologically relevant results.Yes, for example, see here:
https://bioconductor.org/packages/release/bioc/vignettes/apeglm/inst/doc/apeglm.html#specific_coefficients
A very large p-value is 1. A very large s-value is 0.5 (probability of wrong sign is equal to random guessing). In general, they represent fairly distinct conceptual amounts though, so I'd just think about what bound you want on wrong sign LFCs.
Also, along the same lines, no we want be harmonizing these interfaces.
betaPrior=TRUE
is for all intents deprecated. I didn't remove it altogether for backward compatibility. But it is not recommended (e.g. see the performance of the Normal prior vs apeglm and ashr in the apeglm paper).Also, the s-value are the more meaningful statistic than p-values for sets of posterior distributions, of which the shrunken LFC represent the mode.