Je ne connais rien aux études sur l'expression des gènes, mais j'ai un certain intérêt pour les inférences multiples, je vais donc risquer une réponse sur cette partie de la question de toute façon.
Personnellement, je n'aborderais pas le problème de cette façon. Je voudrais ajuster le niveau d'erreur dans les études originales, calculer le nouveau chevauchement et laisser le test à la fin seul. Si le nombre de gènes exprimés différentiellement (et tout autre résultat que vous utilisez) est déjà basé sur des tests ajustés, je dirais que vous n'avez rien à faire.
Si vous ne pouvez pas revenir aux données d'origine et que vous voulez vraiment ajuster la valeur de p , vous pouvez en effet la multiplier par le nombre de tests mais je ne vois pas pourquoi cela devrait avoir quelque chose à voir avec la taille de list2. Il serait plus logique d'ajuster le nombre total de tests effectués dans les deux études (c'est-à-dire deux fois la population). Cela va être brutal, cependant.
Pour ajuster les valeurs de p dans R, vous pouvez utiliser p.adjust(p)
, où p
est un vecteur de valeurs de p .
p.adjust(p, method="bonferroni") # Bonferroni method, simple multiplication
p.adjust(p, method="holm") # Holm-Bonferroni method, more powerful than Bonferroni
p.adjust(p, method="BH") # Benjamini-Hochberg
Comme indiqué dans le fichier d'aide, il n'y a aucune raison de ne pas utiliser Holm-Bonferroni sur Bonferroni car il fournit également un contrôle fort du taux d'erreur par famille dans tous les cas mais est plus puissant. Benjamini-Hochberg contrôle le taux de fausses découvertes, qui est un critère moins strict.
Modifié après le commentaire ci-dessous:
Plus je pense au problème, plus je pense qu'une correction pour les comparaisons multiples est inutile et inappropriée dans cette situation. C'est là que la notion de «famille» d'hypothèses entre en jeu. Votre dernier test n'est pas tout à fait comparable à tous les tests précédents, il n'y a aucun risque de «capitaliser sur le hasard» ou de sélectionner des résultats significatifs, il n'y en a qu'un test d'intérêt et il est légitime d'utiliser le niveau d'erreur ordinaire pour celui-ci.
Même si vous corrigez agressivement les nombreux tests effectués auparavant, vous ne répondriez pas directement à la principale préoccupation, à savoir le fait que certains des gènes des deux listes auraient pu être détectés à tort comme exprimés différentiellement. Les résultats des tests antérieurs restent «valables» et si vous souhaitez interpréter ces résultats tout en contrôlant le taux d'erreur familial, vous devez également tous les corriger.
Mais si l'hypothèse nulle est vraiment vraie pour tous les gènes, tout résultat significatif serait un faux positif et vous ne vous attendriez pas à ce que le même gène soit à nouveau signalé dans l'échantillon suivant. Le chevauchement entre les deux listes ne se produirait donc que par hasard et c'est exactement ce que le test basé sur la distribution hypergéométrique teste. Donc, même si les listes de gènes sont inutiles, le résultat de ce dernier test est sûr. Intuitivement, il semble que tout ce qui se trouve entre les deux (un mélange d'hypothèses vraies et fausses) devrait également convenir.
Peut-être que quelqu'un ayant plus d'expérience dans ce domaine pourrait peser, mais je pense qu'un ajustement ne deviendrait nécessaire que si vous voulez comparer le nombre total de gènes détectés ou savoir lesquels sont exprimés de manière différentielle, c'est-à-dire si vous voulez interpréter les milliers d'individus tests effectués dans chaque étude.