引言Introduction

RNA-seq中,原始count不能直接比较。因为它同时受测序深度和基因长度影响。如果不做标准化,长基因更容易“看起来高表达”。 这会直接干扰差异分析、样本对比和结果解释。
RNA-seq表达量比较示意图,左侧为原始count受基因长度和测序深度影响,右侧为RPKM标准化后可比较的表达矩阵

1. 什么是RPKM

1.1 RPKM的定义

RPKM是 RNA-seq 中常用的表达量标准化指标。全称是 Reads Per Kilobase of transcript per Million mapped reads。中文常译为“每千碱基每百万比对读数”。

它的核心作用有两个。

  • 校正基因长度差异。
  • 校正样本测序深度差异。

RPKM适合用于同一样本内不同基因的表达量比较。 这是它最常见的用途。

1.2 为什么不能直接用count比较

count是原始读数。它是非负整数,但不等于真实表达量。原因很明确。

  1. 基因越长,被reads覆盖的概率越高。
  2. 测序深度越大,总reads越多。
  3. 不同样本的文库大小可能不同。

也就是说,count高,不一定代表表达真的高。
例如,一个10 kb的基因和一个1 kb的基因,如果表达水平相近,前者天然更容易获得更多reads。

2. RPKM的计算逻辑

2.1 计算公式

RPKM的经典公式是:

RPKM = mapped reads on gene / (gene length in kb × total mapped reads in million)

拆开理解更直观。

  • 分子是某个基因上比对到的reads数。
  • 分母第一部分是基因长度,单位是kb。
  • 分母第二部分是样本总比对reads数,单位是百万。

本质上,RPKM是在“每千碱基”和“每百万reads”两个维度上同时做归一化。

2.2 一个简化示例

假设某样本中有3个基因,长度分别是2 kb、4 kb和10 kb。某基因的reads数为10,总reads为35万,换算成百万级后为0.35。

计算过程如下。

  1. 先按测序深度标准化。
  2. 再按基因长度标准化。
  3. 得到最终RPKM值。

如果一个基因长度是2 kb,另一个是4 kb,在相同reads数下,前者的RPKM会更高。因为单位长度内的覆盖更密集。

这就是RPKM能反映“单位长度上的表达密度”的原因。

3. RPKM与FPKM、TPM的关系

3.1 RPKM和FPKM的区别

RPKM常用于单端测序。FPKM用于双端测序。二者公式结构几乎一致。

  • RPKM中的R是reads。
  • FPKM中的F是fragments。

在实际表达分析中,FPKM和RPKM常被视作同类的长度标准化指标。
但严格来说,二者对应的测序类型不同。

3.2 RPKM和TPM的差异

TPM的计算顺序不同。它先校正基因长度,再校正样本总量。RPKM则是先按样本总reads标准化,再按基因长度标准化。

这个差异会带来一个结果。

  • RPKM更适合同一样本内的基因比较。
  • TPM更适合不同样本之间的表达量比较。

在多数现代RNA-seq分析中,TPM更便于跨样本解释。
但如果你正在复现旧文献、比对历史数据,RPKM仍然很常见。

4. RPKM在基因表达分析中的应用

4.1 用于样本内基因表达排序

在一个样本中,研究者常用RPKM判断哪些基因表达更高。比如肿瘤样本中,某些信号通路基因、代谢基因或转录因子可能表现出较高RPKM值。

这类分析常用于:

  • 初步筛选高表达基因。
  • 查看特定通路是否活跃。
  • 比较同一样本内不同基因的表达分布。

RPKM最擅长的是“同一张表内的相对比较”。

4.2 用于文献复现和数据库结果读取

很多公开数据库、老文章或项目历史结果仍然提供RPKM数据。对于医学生、医生和科研人员来说,这很重要。

因为你常常会遇到以下场景。

  • 数据库直接给出RPKM矩阵。
  • 论文只报告RPKM,不提供raw count。
  • 历史项目基于RPKM建立分析流程。

在这些情况下,你需要理解RPKM的含义,而不是只会读数字。

4.3 用于与count数据配合分析

实际项目里,count仍然是最基础的数据类型。很多差异分析工具更偏向使用count,因为它保留了原始统计特征。

但在结果展示阶段,RPKM有时仍会被用于:

  • 热图展示。
  • 表达谱可视化。
  • 候选基因优先级排序。

count适合统计建模,RPKM适合表达解释。
这是很多转录组分析中常见的分工方式。

5. 计算RPKM时要注意什么

5.1 基因长度要准确

RPKM计算中最容易出错的地方,就是基因长度。

如果直接用基因全长,而不是外显子长度,结果会偏差。因为RNA-seq测到的是转录本相关片段,真正参与计算的通常是外显子区域。

常见做法是:

  1. 读取GTF注释文件。
  2. 提取每个基因的外显子区间。
  3. 去除重叠部分。
  4. 汇总得到有效长度。

基因长度不准确,RPKM就不可靠。

5.2 样本间比较要谨慎

RPKM已经校正了测序深度和长度,但它并不总是最适合跨样本比较的指标。尤其在不同样本的组成差异较大时,RPKM的可比性会受到影响。

因此在分析时要区分两件事。

  • 同一样本内,比较基因表达。
  • 不同样本间,比较表达变化。

这两种需求,并不总是由同一个指标最好满足。

5.3 不同项目要统一口径

如果你的项目中既有count,又有RPKM,又有TPM,就必须统一分析口径。否则会出现解释混乱。

建议遵循以下原则。

  • 差异分析优先用count。
  • 表达展示可用RPKM或TPM。
  • 跨样本比较优先考虑TPM。
  • 历史数据整合时,保持同一标准。

最怕的是把不同标准化方式的数据直接混在一起解释。

6. RPKM的实际计算思路

6.1 从count到RPKM的基本流程

如果你手头只有count文件,可以按以下流程处理。

  1. 准备表达矩阵。
  2. 获取基因注释文件。
  3. 计算每个基因的有效长度。
  4. 统计每个样本的总mapped reads。
  5. 按公式换算RPKM。

这个过程看起来复杂,但逻辑很清楚。核心就是两个校正。

  • 按总reads校正样本间测序深度。
  • 按基因长度校正基因间长度差异。

6.2 计算中常见的文件来源

常见输入包括:

  • count矩阵。
  • GTF注释文件。
  • 基因ID与长度对应表。

如果基因ID格式不一致,计算会失败。比如表达矩阵中是Ensembl ID,而注释文件中是基因Symbol,就需要先统一命名。

ID不一致,是转录组下游分析里最常见的技术问题之一。

7. 什么时候该用RPKM

7.1 适合的场景

RPKM适用于以下情况。

  • 你要比较同一样本中不同基因的表达高低。
  • 你在阅读老文献,需要复现其表达量口径。
  • 你手头已有RPKM矩阵,不需要重新建模。
  • 你想快速查看表达分布。

7.2 不适合的场景

RPKM不一定适合以下场景。

  • 严格的差异表达统计建模。
  • 不同样本间直接比较绝对表达量。
  • 与其他归一化体系混用。

如果你的目标是严谨建模,count通常更稳妥。
如果你的目标是解释表达高低,RPKM依然有价值。

8. 结语前的实用建议

8.1 先理解指标,再选择方法

RPKM不是过时概念,它只是有明确适用范围。对医学生、医生和科研人员来说,关键不是记公式,而是理解它解决了什么问题。

它解决的是:

  • 基因长短不同。
  • 测序深度不同。
  • 原始count不可直接比较。

只要记住这一点,就能更准确地读懂RNA-seq结果。

8.2 借助专业工具提高效率

在真实项目中,RPKM的计算涉及注释文件处理、基因长度提取、ID匹配和矩阵转换,步骤多,容易出错。如果你希望更高效地完成RNA-seq表达量标准化和下游分析,可以借助解螺旋的专业生信服务与分析支持。 这能帮助你减少重复操作,把更多时间留给结果解读和文章撰写。

总结Conclusion

RPKM的本质,是对RNA-seq原始count进行长度和测序深度校正。它最适合用于同一样本内的基因表达比较,也常见于数据库和旧文献中。理解RPKM,能帮助你更准确地解读表达矩阵,避免把技术偏差当成生物学差异。 如果你希望进一步提升RNA-seq分析效率,并减少从count到表达量标准化的操作负担,可以联系解螺旋获取更专业的支持。

解螺旋科研助手企业微信二维码,扫码添加免费领取科研资料礼包,包含AI科研提效、SCI投稿技巧、国自然基金、医学科研绘图、科研软件工具等实用资料