Algorithm to test for enrichment

The test for enrichment is done using the Fisher's exact test with a multiple-testing extension. 

We use the false discovery rate. For each of the p-value-thresholds alpha, we determine the number of false discoveries (NFD), and the number of total discoveries (NP), i.g. how many factors we see with p-value < alpha. The false discovery rate is then simply given by formula 1:

Now, the NFD can be determined using the hypergeometric distribution, simply by summing all configurations for the Fisher's test:

with the hypergeometric distribution beeing defined by:

If you are further interested in this method, we recommend the following articles:

Blüthgen, N., Kielbasa, S. M and Herzel, H. Inferring combinatorial regulation of transcription in silico. Nucleic Acids Res, 33 (1): 272-9, 2005.

Blüthgen, N., Brand, K., Cajavec, B., Swat, M., Herzel, H. and Beule, D. Biological profiling of gene groups utilizing Gene Ontology. Genome informatics International Conference on Genome Informatics, 16 (1): 106-15, 2005.