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

工具›统计分析计算器

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

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


差异表达结果里给的是 log2FC,但讲结果时大家习惯说「上调几倍」。两者的关系是:

FC = 2 ^ log2FC          log2FC = log2(FC)

为什么要取 log2? 因为原始倍数是不对称的:上调 2 倍是 2,下调 2 倍是 0.5。 在 0 到 1 之间挤着所有下调基因,在 1 到无穷之间铺开所有上调基因, 无论画图还是做统计都很别扭。取 log2 之后,上调 2 倍是 +1,下调 2 倍是 −1,围绕 0 对称。

常见阈值对照:

log2FC 倍数 含义
0.585 1.5× 较宽松,常用于样本量小、效应弱的实验
1 2× 最常用的默认阈值
1.585 3× 较严格
2 4× 只保留强效应

必须提醒的是: log2FC 阈值和显著性(p / q 值)是两个独立的筛选条件, 必须同时用。只卡倍数不卡 q 值,低表达基因的随机噪声会产生大量假的高倍数; 只卡 q 值不卡倍数,高表达基因的微小变化也会显著但没有生物学意义。

低表达基因的高倍数是假象

log2FC 只看比值,不看绝对量。下面三种情况给出的数字完全一样或很接近:

对照 → 处理(counts) FC log2FC
2 → 8 4.0× 2.000
200 → 800 4.0× 2.000

两行的 log2FC 一模一样,可信度却天差地别。 第一行只差 6 条 read, 测序深度稍有波动就可能变成 3 → 6 或 1 → 9;第二行差 600 条,稳定得多。

这就是为什么只按 |log2FC| 排序挑基因几乎必然踩坑: 排在最前面的往往是低表达噪声。 必须同时卡显著性, 而显著性检验(DESeq2、edgeR)正是把计数的离散性建模进去, 低表达基因的 p 值自然上不去。

为什么差异表达软件给的 log2FC 和手算不一样

DESeq2 等工具默认会做收缩估计(shrinkage):低表达、高方差的基因, 其 log2FC 会被向 0 拉近;表达量高、证据充分的基因基本不动。 这样排序时不会被噪声基因霸榜。

所以用软件输出的 shrunken log2FC 反算倍数, 会比直接用原始计数算出来的倍数保守——这是设计如此,不是算错。 本工具做的是纯粹的数学换算,输入什么就换算什么。

阈值该怎么定

没有普适答案,但有两条实际原则:

先定生物学意义,再定阈值。 转录因子变化 1.5 倍可能已有显著下游效应, 而结构蛋白变化 2 倍可能什么也不说明。

阈值要在看数据之前定好。 试几个阈值再挑结果最好看的那个, 本质上是在做未校正的多重比较。

常见问题

log2FC = -1 是下调多少?

下调到原来的 0.5 倍,也就是减少 50%,习惯说法是「下调 2 倍」。

只卡 log2FC > 1 可以吗?

不建议。必须同时卡校正后的 q 值,否则低表达基因的噪声会伪装成高倍数变化。

log2FC = 0 是什么意思?

倍数为 1,即处理组与对照组表达量相同。log2FC 的符号表示方向、绝对值表示幅度:+1 是上调 2 倍,−1 是下调 2 倍,围绕 0 对称。这种对称性正是取 log2 的目的。

能不能把多个样本的 FC 直接平均?

不能直接平均倍数,应该在 log 尺度上平均。倍数是乘性的:上调 2 倍和下调 2 倍(0.5)的算术平均是 1.25,看起来像整体上调,这显然不对;而 log2 后是 +1 与 −1,平均为 0,正确反映了「无净变化」。

相关解读

相关工具

标准曲线线性回归与未知样本反算(BCA / Bradford / ELISA)

粘贴标准品浓度与读数,得到斜率、截距、R²,并反算未知样本浓度。

测序深度与数据量在线计算(Lander-Waterman)

在测序深度、reads 数、数据量与基因组大小之间双向换算。

两组比较样本量估算(t 检验 / 比例检验)

按效应量、显著性水平与把握度,估算每组需要多少样本。

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