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

工具统计分析

多重检验校正在线计算:BH (FDR)、BY 与 Bonferroni

粘贴一列 p 值,一次得到 BH 的 q 值、BY 与 Bonferroni 校正值,三者并列对照。

同时做几万次检验时,光看 p < 0.05 必然产生大量假阳性:做 20000 次检验, 即使全是零假设,也会有约 1000 个「显著」结果。所以差异表达、GWAS、富集分析都必须做多重检验校正。

Bonferroni 最保守:把阈值除以检验次数,p_adj = p × n。 它控制的是 FWER(至少出现一个假阳性的概率),代价是几乎把所有真信号也一起杀掉。

Benjamini–Hochberg (BH) 控制的是 FDR(在你宣称显著的结果里,假阳性所占的期望比例)。 算法是:

  1. 把 n 个 p 值从小到大排序,第 i 个记作 p₍ᵢ₎;
  2. 计算 q₍ᵢ₎ = p₍ᵢ₎ × n / i
  3. 从最大的 i 往回取累积最小值,保证 q 单调不减;
  4. 截断到 1。

怎么理解 q = 0.05: 不是「这个结果有 95% 概率是真的」,而是 「如果我把所有 q ≤ 0.05 的结果都当作阳性,这批结果里平均有 5% 是假阳性」。 FDR 是对一批结果的陈述,不是对单个结果的陈述——这是最常被讲错的一点。

BH 的前提是各检验相互独立或正相关。强负相关的情形要用 Benjamini–Yekutieli(BY),本页第三列就是它。BY = BH × C(n),C(n) = 1 + 1/2 + … + 1/n,在任意相关结构下都成立,代价是更保守——n = 10 时 C(n) ≈ 2.93,n = 1000 时约 7.49,检验越多惩罚越重。

常见问题

q = 0.03 是什么意思?

它是 FDR 的估计:把所有 q ≤ 0.03 的结果都判为阳性时,这批阳性里平均约 3% 是假的。它描述的是一批结果,不是单个结果的真假概率。

BH 和 Bonferroni 选哪个?

探索性分析(差异表达、富集)通常用 BH,需要容忍一定假阳性换取灵敏度;确证性检验或安全性判断偏向 Bonferroni。

p 值里有 0 会怎样?

p = 0 校正后仍是 0。实际数据中的 0 往往是下溢,建议保留原始高精度 p 值。

相关工具

qPCR 2^-ΔΔCt 相对定量在线计算

粘贴 Ct 表,自动算 ΔCt、ΔΔCt、相对表达倍数与组内离散度。

基因列表交集并集差集在线计算(Venn 集合运算)

粘贴 2–3 组基因/ID 列表,一键得到交集、并集、各自独有,含去重与大小写归一。

log2FC 与倍数变化 (Fold Change) 在线互转

log2FC ↔ 倍数、上调下调百分比,附常用阈值对照表。

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