引言Introduction
RNA-seq中,原始count不能直接比较。因为它同时受测序深度和基因长度影响。如果不做标准化,长基因更容易“看起来高表达”。 这会直接干扰差异分析、样本对比和结果解释。

1. 什么是RPKM
1.1 RPKM的定义
RPKM是 RNA-seq 中常用的表达量标准化指标。全称是 Reads Per Kilobase of transcript per Million mapped reads。中文常译为“每千碱基每百万比对读数”。
它的核心作用有两个。
- 校正基因长度差异。
- 校正样本测序深度差异。
RPKM适合用于同一样本内不同基因的表达量比较。 这是它最常见的用途。
1.2 为什么不能直接用count比较
count是原始读数。它是非负整数,但不等于真实表达量。原因很明确。
- 基因越长,被reads覆盖的概率越高。
- 测序深度越大,总reads越多。
- 不同样本的文库大小可能不同。
也就是说,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。
计算过程如下。
- 先按测序深度标准化。
- 再按基因长度标准化。
- 得到最终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测到的是转录本相关片段,真正参与计算的通常是外显子区域。
常见做法是:
- 读取GTF注释文件。
- 提取每个基因的外显子区间。
- 去除重叠部分。
- 汇总得到有效长度。
基因长度不准确,RPKM就不可靠。
5.2 样本间比较要谨慎
RPKM已经校正了测序深度和长度,但它并不总是最适合跨样本比较的指标。尤其在不同样本的组成差异较大时,RPKM的可比性会受到影响。
因此在分析时要区分两件事。
- 同一样本内,比较基因表达。
- 不同样本间,比较表达变化。
这两种需求,并不总是由同一个指标最好满足。
5.3 不同项目要统一口径
如果你的项目中既有count,又有RPKM,又有TPM,就必须统一分析口径。否则会出现解释混乱。
建议遵循以下原则。
- 差异分析优先用count。
- 表达展示可用RPKM或TPM。
- 跨样本比较优先考虑TPM。
- 历史数据整合时,保持同一标准。
最怕的是把不同标准化方式的数据直接混在一起解释。
6. RPKM的实际计算思路
6.1 从count到RPKM的基本流程
如果你手头只有count文件,可以按以下流程处理。
- 准备表达矩阵。
- 获取基因注释文件。
- 计算每个基因的有效长度。
- 统计每个样本的总mapped reads。
- 按公式换算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到表达量标准化的操作负担,可以联系解螺旋获取更专业的支持。

- 引言Introduction
- 1. 什么是RPKM
- 2. RPKM的计算逻辑
- 3. RPKM与FPKM、TPM的关系
- 4. RPKM在基因表达分析中的应用
- 5. 计算RPKM时要注意什么
- 6. RPKM的实际计算思路
- 7. 什么时候该用RPKM
- 8. 结语前的实用建议
- 总结Conclusion






