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

工具统计分析

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

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

把 RNA-seq 的原始 read 计数换算成 RPKM、FPKM 或 TPM。 粘贴「基因名 read数 长度」三列即可,TPM 需要全部基因才能算,所以尽量整张表一起贴。

三个量分别在做什么

原始 read 数不能直接比较,因为它同时受两件事影响:基因越长,落上去的 read 越多测序越深,所有基因的 read 都越多。三种归一化都是在依次除掉这两个因素, 区别只在除的顺序。

RPK  = read数 ÷ (基因长度 / 1000)          先除长度
RPKM = RPK ÷ (总read数 / 1e6)              再除深度
TPM  = RPK ÷ Σ(所有基因的 RPK) × 1e6       先除长度,再按长度归一化后的总量归一

FPKM 与 RPKM 公式完全相同,只是把 read(单端)换成 fragment(双端)。 双端测序里一对 read 属于同一个片段,只应计一次——这就是两个名字的全部区别。

为什么 TPM 更适合跨样本比较

TPM 在每个样本里必定加总为 100 万,RPKM 不是。 这不是巧合,是定义决定的: TPM 是先把长度效应除掉、再对除完之后的总量做归一,所以分母对样本内所有基因是同一个数。 RPKM 的分母是总 read 数,它在不同样本里对应的「长度归一化后总量」并不相同。

后果是:同一个基因在两个样本里 RPKM 相等,真实的转录本占比却可能不同。 Wagner、Kin 与 Lynch 在 Theory Biosci. (2012) 就是以此指出 RPKM 在样本间不一致, 并提出了 TPM。

上面的计算框会同时给出两者的合计,可以直接看到这个差别。

一个必须说清楚的边界

TPM 更适合跨样本比较,不等于它适合做差异表达。 它们都是组成型数据 (一个样本内加总为常数),少数高表达基因的变化会挤压其余所有基因的数值。 做差异表达要用 DESeq2、edgeR 这类基于原始计数的方法,它们估计的是文库大小因子, 不是简单地除以总数。这一点在《Misuse of RPKM or TPM normalization when comparing across samples》(RNA, 2020)里讲得很直接。

RPKM / TPM 的正当用途是:同一样本内不同基因之间比高低,或者做热图、聚类这类 需要可比尺度的展示。

常见问题

RPKM 和 FPKM 有什么区别?

公式完全相同,区别只在计数单位:RPKM 数 read(单端),FPKM 数 fragment(双端)。双端测序里一对 read 来自同一个片段,只应计一次。用双端数据却按 read 计数,结果会偏大约一倍。

为什么 TPM 一定加总为 100 万?

因为它的分母是「样本内所有基因长度归一化后的总量」,对样本内每个基因都是同一个数。把所有基因的 TPM 相加,分子刚好等于分母,比值为 1,再乘 1e6 就是 100 万。RPKM 的分母是总 read 数,与长度归一化后的总量并不成固定比例,所以合计不是常数。

我只贴了几个基因,结果准吗?

TPM 准不准取决于你想表达什么——它的分母就是你贴进来的这些基因,所以只贴一部分时,得到的是「在这几个基因里的相对占比」,不是全转录组 TPM。RPKM 更敏感:它的分母应该是全部比对 read 数,只贴部分基因又不手动填总数,会系统性偏大。

能直接拿 TPM 做差异表达吗?

不能。TPM 和 RPKM 都是组成型数据,样本内加总为常数,少数高表达基因的变化会挤压其余所有基因。DESeq2、edgeR 从原始计数出发估计文库大小因子,并对计数的离散性建模,这是它们和「除以总数」的根本区别。

相关工具

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

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

单因素方差分析在线计算(含两两比较与多重校正)

三组及以上均值比较,给出 F 值、方差分析表、p 值与 η²,并可做两两比较(Bonferroni 或 BH 校正)。

Mann-Whitney U 与 Wilcoxon 符号秩检验在线计算

偏态数据或等级资料的两组比较,给出 U/W 统计量、精确或近似 p 值、效应量,并提示该样本量下最小可能的 p。

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