示例
| 差异基因 | 背景基因 | ||
|---|---|---|---|
| 在背景中有该Term的基因数 | 在背景中的差异基因总数 | 包含该Term的基因数 | 背景基因总数 | 
| k | n | m | N | 
P值及校正
R语言
pvalue = phyper(k-1, m, N-m, n, lower.tail=F)# 多重检验,针对所有行,而不是当前行pvalues = c(p1, p2, p3, ...)bonferroni = p.adjust(pvalues, method='bonferroni', n=length(pvalues))fdr = p.adjust(pvalues, 'fdr')# pAdjustMethod:# one of "holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr", "none"# =========# qvalue计算# =========library(qvalue)qvalue(pvalue, lambda=0.05, pi0.method="bootstrap")$qvalues
Python
import scipy.statspvalue = scipy.stats.hypergeom.sf(k-1, N, m, n)
