引言Introduction

在RNA-seq分析里,很多人都会先拿到fpkm表达矩阵 ,却不确定它能不能直接做差异分析、怎么和TPM区分、以及是否适合论文复现。如果你也在处理肿瘤转录组数据,这一步理解错了,后面所有结论都可能偏。
RNA-seq数据分析流程图,突出count、FPKM、TPM和差异分析之间的关系

1. 什么是FPKM表达矩阵

1.1 定义与核心用途

fpkm表达矩阵 本质上是一个基因表达量表。行通常是基因,列通常是样本。矩阵里的数值不是原始read count,而是经过标准化后的表达量。

FPKM的全称是Fragments Per Kilobase of exon model per Million mapped reads。它同时校正了两个因素。一个是测序深度。一个是基因长度。这样做的目的,是让不同基因、不同样本之间更可比。

在实际项目中,FPKM常用于表达展示、热图、聚类和文献复现。但它不是差异分析的主流输入。 这一点很关键。

1.2 与原始counts的区别

主流差异分析包包括 limma、DESeq2 和 edgeR。它们的输入都要求是原始counts ,不能先做长度校正,也不需要先log转换。

原因很简单。差异分析模型需要基于离散计数分布来估计方差和显著性。FPKM表达矩阵已经做过标准化,不适合作为这类模型的原始输入。

因此,如果你的目标是找差异基因,最稳妥的流程是先保留counts,再进入DESeq2或edgeR。FPKM更适合做表达展示,而不是统计检验的起点。

2. FPKM是怎么计算出来的

2.1 先校正测序深度

在FPKM的计算中,第一步是按样本总reads进行标准化。测序深度越高,count自然越大。先做这一步,可以减少不同样本文库大小带来的偏差。

通俗理解就是,先把每个样本放到同一“起跑线”上,再比较基因表达。

2.2 再校正基因长度

第二步是按基因长度修正。因为长基因更容易捕获到reads,如果不校正,长基因会被系统性高估。

这也是FPKM表达矩阵存在的根本原因。 它试图把“读段数量”换算成更接近真实表达水平的数值。

不过要注意,FPKM和RPKM的校正变量相似,真正差别在于定义场景和计算顺序。前者中的F指Fragments,更多用于双端测序。二者在实际论文里经常被混用,但概念上仍应区分。

3. FPKM、TPM和counts到底有什么区别

3.1 FPKM和TPM的顺序不同

很多人容易把FPKM和TPM混在一起。它们都考虑了测序深度和基因长度,但标准化顺序不同

FPKM通常先按测序深度校正,再按基因长度校正。TPM则先按基因长度校正,再做样本总量标准化。这个顺序差异会影响结果解释。

一个重要结论是,TPM更适合做样本间表达量的比例比较。 因为TPM在每个样本内的总和是固定的,更利于横向比较。FPKM则不具备这个性质。

3.2 为什么差异分析更推荐counts

DESeq2、edgeR和limma的模型都更适合使用原始counts。原因有三点。

  1. counts保留了原始离散信息。
  2. 统计模型可以自行估计库大小和离散度。
  3. 过早做标准化可能影响方差建模。

所以,fpkm表达矩阵不应替代counts去做差异分析。 它可以用于展示,但不应作为统计推断的唯一依据。

3.3 什么时候用FPKM更合适

如果你的目的是:

  • 看单个基因在不同样本中的大致表达趋势
  • 画热图或聚类图
  • 复现已有文章的表达矩阵
  • 在缺少counts时做初步展示

FPKM可以作为辅助数据。但如果要发表结果,最好还是优先用counts完成差异分析,再用FPKM或TPM做补充展示。

4. FPKM表达矩阵常见问题

4.1 为什么不同样本的总和不一样

FPKM表达矩阵里,每个样本的总和通常不相同。原因是FPKM经过了长度校正和深度校正,但不是固定总量标准化。

这和TPM不同。TPM在每个样本内的总和更一致,因此更适合做比例比较。如果你看到FPKM样本总量不同,不要误以为矩阵出错。

4.2 为什么低表达基因更容易波动

低表达基因的FPKM值更容易受噪音影响。原因是reads本身就少,轻微波动就会让fold change看起来很大。

这也是很多研究会先做过滤的原因。常见做法包括:

  • 删除均值过低的基因
  • 删除在大多数样本中都接近0的基因
  • 保留方差不为0的基因

过滤的核心目标不是“美化结果”,而是减少无效噪音。

4.3 什么时候不建议直接使用

以下场景不建议直接依赖FPKM表达矩阵:

  • 差异表达统计分析
  • 需要严格复现DESeq2结果
  • 需要进行严谨的组间显著性检验
  • 不清楚矩阵是否来自统一流程

如果表达矩阵来源不一致,样本间可比性会明显下降。尤其是肿瘤样本,批次效应、测序深度、注释版本都可能影响结果。

5. 如何正确使用FPKM表达矩阵

5.1 先确认数据来源

使用FPKM前,先确认数据来源是否一致。常见问题有:

  • 基因注释版本不同
  • 样本是否经过同一比对流程
  • 是否过滤了低质量reads
  • 是否存在基因名重复

一个规范的fpkm表达矩阵,前提是统一的定量流程。

5.2 处理重复基因名

在实际数据里,symbol重复并不少见。常见处理方式是取均值,或者先映射到更稳定的ID,再统一汇总。

如果是教学复现或文献重现,常会先将行名设为基因名,再提取数值列,构建新的数值矩阵。这个过程看似基础,但对后续分析很重要。

5.3 与DESeq2流程配合使用

如果你最终要做差异分析,建议这样走:

  1. 保留原始counts。
  2. 用DESeq2、edgeR或limma做差异分析。
  3. 用FPKM表达矩阵做展示、热图或补充图。

这样既保证统计严谨,也兼顾结果展示。
在肿瘤研究、转录组论文复现和多组学整合中,这种流程更符合E-E-A-T要求,也更容易经得住审稿。

总结Conclusion

FPKM表达矩阵的价值,在于它把测序深度和基因长度都纳入了标准化,便于表达展示和文献复现。但它不是差异分析的最佳输入。真正做统计检验时,原始counts仍然是主流选择。

如果你正在整理转录组结果,建议先确认矩阵类型,再决定分析策略。对于需要更高效率的数据处理、结果复现和标准化流程,可以借助解螺旋 的专业产品与内容体系,少走弯路,把时间更多放在真正有价值的科研问题上。
科研人员查看RNA-seq表达矩阵和差异分析结果的场景,突出规范分析流程与工具支持