I used DEseq to find differentially expressed genes between two samples, for each sample i have 3 replicates, for the DEseq result, i got exactly same padj value for a lot of genes but their p-values are different as attached, is this normal ?
I used DEseq to find differentially expressed genes between two samples, for each sample i have 3 replicates, for the DEseq result, i got exactly same padj value for a lot of genes but their p-values are different as attached, is this normal ?
To expand on German's answer, this is due to how adjust p-values are calculated with the default (Benjamini-Hochberg) adjustment procedure in R. In short, the p-values are ranked from smallest to largest, and those ranks become part of the calculation.
This Stats SE post explains it nicely, but in short, each unadjusted p-value is multiplied by the number of tests and then divided by its rank order. When p-values are particularly close to each other, this can lead to a more lowly ranked unadjusted p-value ending up with a smaller adjusted p-value than the one before it. In these cases where the resulting sequence is non-decreasing, the preceding p-value is changed to the subsequent one such that they are the same. This is what you're observing in your results, and it's normal.
Yup, this is fine. FDR shows the expected proportion of false discoveries at this threshold and sometimes for different p-values the expected FP proportion is the same for different p-values.
Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
if you want the really short, terribly oversimplified way I think of this, it's, "FDR is rank based, which introduces quantization"
In this case, should I still use the adjusted p-values, or I need to switch to the p-values for the filtering instead?
The adjusted p-values are still perfectly valid, and I would not recommend filtering on un-adjusted p-values for DE analyses.