# Which statistical test should be used to test for enrichment of gene lists?

I have performed an experiment to test the cellular sensitivity to a certain DNA damage agent. We have found 270 genes that were specifically sensitive to the drug and the total number of genes analyzed was 3668. 38 out of the 270 sensitive genes are classified as "DNA repair genes". If the number of "DNA repair genes" contained in the genome is 112 and the total number of genes in the genome is 3668, are the sensitive genes enrichment in DNA repair genes? Which statistical test should be used? I would appreciate if you could also tell me some tool to calculate the p-value online.

## 1 Answer

Standard practice to test for enrichment of gene lists is to do a hypergeometric test or, equivalently, a one-sided Fisher's exact test. You have the following $2\times2$ contingency table:

$$\array{& \text{DNA Repair} & \text{Other} \\\text{Sensitive} & 38 & 232 & 270\\\text{Not Sensitive} & 74 & 3324 & 3398 \\ & 112 & 3556}$$

You can carry out the test in R as follows:

fisher.test(matrix(c(38,74,232,3324),nrow=2,ncol=2),alternative="greater")


Which gives a highly significant result:

Fisher's Exact Test for Count Data

data:  matrix(c(38, 74, 232, 3324), nrow = 2, ncol = 2)
p-value < 2.2e-16
alternative hypothesis: true odds ratio is greater than 1
95 percent confidence interval:
5.062107      Inf
sample estimates:
odds ratio
7.34918


Note that as we are testing for over-representation (rather than under-representation) the alternative parameter is set to "greater".

• Thanks a lot for your answer. I also though that Fisher´exact test could be a good method for the analysis. I have not any statistic software to perform the results for other functional classes I would like to test too. Do you know any "online" tool to obtain the pvalues with all the decimals? – Laura Oct 11 '13 at 14:55
• You can download R for free. See r-project.org So having no software is soluble (and thinking that you need a way of calculating online is incorrect). But please do a little searching to find out these things for yourself. See advice at stats.stackexchange.com/help/how-to-ask on asking a good question. – Nick Cox Oct 11 '13 at 15:16
• @Nick Your advice is good, but please do not couch it as a characterization of the poster: such phrasing is all too easily misunderstood as an attack, which I doubt you intended. Therefore I removed the preliminary phrase in your comment (which added no information to it). – whuber Oct 11 '13 at 17:48
• A great online tool for this is: mathcelebrity.com/fishers_exact_test.php – user73423 Apr 13 '15 at 11:15
• Could you please explain additionally, overrepresentation of what exactly is being computed? – sdgaw erzswer May 29 '18 at 13:33