Dear folks,
I got stuck about how DESeq2 get inference or calculated test_statistics for differential tests. There is a gene of my interest. I want to dot testing between 2 samples/conditions (no replicates) to see if it is significant differentially expressed. Here is the normalized count for them:
HC HR
131526.61 18307.82
If I did WALD test (with the shrunken LFC), here is the result for the gene of my interest:
Since I expected large fold change for the gene, the shrunken LFC might be appropriate for my case, I turned off it by using betaPrior=FALSE. |
|
|
Here is the result after turning off it:
baseMean | log2FoldChange | lfcSE | stat | pvalue | padj | |
gene_interest | 74917.21411 | 2.844769036 | 2.180265123 | 1.304781242 | 0.191967348 | 0.99987633 |
The LFC is changed like I expected which is equal to the one I calculated manually, but the inference does not change a lot. On my understanding, it is testing if the fold change is 0 or not. Given the big fold change (I believe it is big), I don't know why the inference is not significant. So, I am wondering how DESeq2 calculates the test_statistic/p-value? I also used LRT to test it, but there is not big difference for the inference.
In fact, I also used Cuffdiff pipeline, the fold change is at the same level. But the inference is totally different. In my experience (I did several times comparisons between cuffdiff and DESeq2), DESeq2 is always conservative to detect the signal. I know without replicates, all samples are considered as replicates of a single group for the estimation of dispersion. In this case, overestimation of the variance may be expected and will make the approach conservative. But, it is out of my expectation.
Thank you so much!
Best,
Xiaofei