Le test exact de Fisher est largement utilisé en bioinformatique. Il est d’ailleurs à la base d’un grand nombre d’outils recherchant des enrichissements pour des ensembles de gènes ou des voies biologiques. Je n’introduirai pas le test en tant que tel dans cet article car plusieurs l’ont déjà fait (commencez ici!). Je vais plutôt me concentrer sur l’incompatibilité qui existe parfois entre ce que calcule le test et ce qui est requis par les biologistes.

Dans le test exact de Fisher, l’hypothèse nulle est qu’il n’y a pas d’enrichissement entre les variables étudiées. Lorsqu’on utilise ce test avec des nombres élevés (comme le nombre de gènes dans le génome humain ou le nombre de catégories disponibles dans Gene Ontology), il est assez fréquent de trouver de légers enrichissements désignés comme très significatifs. Dans ces cas-là, le résultat du test devient très difficile à interpréter. En effet, que faire avec un enrichissement de 2% retournant une p-value de 0.0001?

Il existe une variante du test qui change l’hypothèse nulle en posant que l’enrichissement est plus petit qu’une valeur donnée. Cette variante utilise la distribution hypergéométrique non-centrale de Fisher (Fisher’s non-central hypergeometric distribution) et est disponible dans R. Le paramètre "or", passé à la fonction fisher.test, permet d’utiliser ce test. Cette variante permet de vérifier si les données supportent un enrichissement significativement supérieur à une valeur seuil pré-définie (préférablement choisie en fonction de sa signification biologique). Vous trouverez la documentation concernant la fonction en R ici.

Les deux tests ont été appliqués à l’exemple fictif suivant :

> data 
     [,1] [,2]
[1,] 1100 8900
[2,] 1000 9000

> fisher.test (data, alt="greater")

	Fisher's Exact Test for Count Data

data:  data
p-value = 0.01119
alternative hypothesis: true odds ratio is greater than 1
95 percent confidence interval:
 1.029899      Inf
sample estimates:
odds ratio 
  1.112353 

> fisher.test (data, or=1.25, alt="greater")

	Fisher's Exact Test for Count Data

data:  data
p-value = 0.9946
alternative hypothesis: true odds ratio is greater than 1.25
95 percent confidence interval:
 1.029899      Inf
sample estimates:
odds ratio 
  1.112353 

Ce type de test avec seuil offre une réponse intéressante au problème énoncé récemment dans mon article intitulé « Dois-je calculer une p-value? ».