I performed a differential genes-expression analysis, and found 100 genes being differentially expressed between the cases and controls. The un-corrected P-values are in the range of 0.015 - 0.05 (significant per alpha 0.05). Now when I apply Benjamini–Hochberg correction, there are few (<10) differentially expressed genes left with corrected-P <0.05 (or FDR<0.05). Theoretically, the FDR is applied to control/minimize the falsely discovered un-corrected Ps (which may be by chance, given the alpha 0.05). And after applying a correction, only 5% or so Ps should filter out. In my case, about 90% Ps are dropped after applying the correction.

Can anybody please explain the reason behind this. Or should I go with some other less stringent method to drop minimum Ps.

Thank you.

Eh... I am sorry, it doesn't work like this! It is expected that an important proportion of significant pvalues, especially those not strongly significant (e.g. in the range 0.015 - 0.05) will become not significant after correcting for multiple testing. I am not a statistician and I don't feel prepared to explain in detail why, but I can refer you to this interesting page for a general overview on the topic.

Hi, you will find reading my blog post helpful https://divingintogeneticsandgenomics.rbind.io/post/understanding-p-value-multiple-comparisons-fdr-and-q-value/ , please also plot a histogram for the raw p-values too, you should see a spike around 0 for healthy p-values http://varianceexplained.org/statistics/interpreting-pvalue-histogram/