碱基日读 每天读完真实文献,只讲有用的那一段

工具统计分析

富集显著性检验在线计算(超几何分布 / Fisher 精确检验)

输入背景基因数、通路基因数、列表长度与重叠数,算出 p 值、富集倍数与期望重叠。

做完差异表达,拿到一串基因,接下来总要问一句:这串基因里富集了某条通路, 是真的,还是随机就能碰上?

回答这个问题用的是超几何分布。设:

N = 背景基因总数
K = 背景里属于该通路的基因数
n = 你的基因列表长度
k = 列表里落在该通路里的基因数(重叠)

随机抽 n 个基因,恰好抽中 i 个通路基因的概率是

P(X = i) = C(K, i) × C(N−K, n−i) / C(N, n)

p 值是「至少这么多」的概率,也就是把 i 从 k 加到头:P(X ≥ k)

期望重叠n × K / N富集倍数是实际重叠除以期望重叠。 富集倍数告诉你效应有多大,p 值只告诉你它有多不像随机——两个都要看。

单尾 Fisher 精确检验(alternative = greater)算出来和超几何 p 值完全相同, 它们是同一个分布的两种说法。工具把两者一起给出,方便你和论文里的写法对上。

背景基因数选错,是这里最常见的错误

N 不是”人类全部基因约两万个”,而是你这次实验实际检测到、且有通路注释的基因数

N 填大会系统性地高估显著性——分母越大,随机撞上的概率越低,p 值就越漂亮。 这是富集分析里最容易被审稿人抓住的地方。

还有两件事

一条通路算完不算完。 你通常一次检验几百上千条通路,必须做多重检验校正。 本站的多重检验校正工具可以把一列 p 值批量转成 BH 校正后的 q 值。

重叠数太小时 p 值不稳。 重叠只有 1–2 个基因时,多一个少一个都会让 p 值差出一个数量级。 这种结果不要单独拿出来讲。

常见问题

背景基因数 N 该填多少?

填本次实验实际检测到、且在通路数据库里有注释的基因数。用 1.2 万基因的芯片就填 1.2 万,RNA-seq 做过低表达过滤就填过滤后的数量。填成「人类约两万个基因」会系统性高估显著性。

超几何检验和 Fisher 精确检验有什么区别?

单尾情况下没有区别,算出来是同一个数——它们是同一个分布的两种表述。双尾 Fisher 会把另一侧也算进去,用于检验「重叠异常多或异常少」。

p 值很小就说明这条通路重要吗?

不一定。p 值只说明不像随机,富集倍数才说明效应大小。背景基因多时,一个 1.2 倍的富集也可能给出很小的 p 值。两个数要一起看。

为什么我算的和 DAVID / clusterProfiler 不一样?

多半是背景不同。这些工具默认用数据库全集作背景,而你的实验只测了其中一部分。另外它们默认输出的是校正后的 q 值,不是原始 p 值。

相关工具

qPCR 扩增效率与 Pfaffl 相对定量在线计算(标准曲线斜率求 E)

用系列稀释的 Ct 拟合标准曲线,算扩增效率 E 与 R²;再按 Pfaffl 公式做效率校正的相对定量。

RNA-seq 表达量归一化在线计算:RPKM / FPKM / TPM 互算

粘贴基因的 read 数与长度,一次算出 RPKM / FPKM 与 TPM,并直接看出 TPM 合计为 100 万而 RPKM 不是。

t 检验在线计算:独立样本 / 配对样本 / 单样本(含 Welch 校正)

粘贴两组数即可算出 t 值、自由度、双尾 p 值、均值差置信区间与 Cohen's d,默认用 Welch 校正。

没有广告,不收集数据,每个公式都验算过。维护它需要持续投入——如果帮你省了时间,请杯咖啡。
请杯咖啡 了解更多 →