RNA测序数据分析:Counts、FPKM和TPM的区别与应用

生信学长
2024年11月06日
差异表达分析
RNA测序数据分析:Counts、FPKM和TPM的区别与应用

在 RNA 测序数据分析中, counts FPKM TPM 是我们经常听到的概念。它们有什么区别?为什么我们不仅要用 counts ,还要用到 FPKM TPM 呢?今天我们就来侃侃这些表达量的计算和区别。


Counts 值

首先来说说 counts 。在 RNA 测序中, counts 是最原始的表达数据。我们把测序后比对到基因上的 reads 数量直接统计出来,这些数值就叫做 counts。简单来说, counts 代表了每个基因在每个样本中的原始测序读数。 counts 值越高,说明这个基因在样本中表达越活跃。

我们看一下下面三个基因(Gene A、Gene B、Gene C)和两个样本(Sample 1、Sample 2)的计数矩阵, counts 表格如下:


  • Sample 1 Counts Sample 2 Counts 表示的是原始的 reads 计数值。
  • 基因长度表示的是每个基因的长度(以千碱基为单位,kb)。

有了Counts为什么还需要 FPKM 和 TPM?

counts 虽然是最原始的数值,但它的缺陷也很明显——受 基因长度 测序深度 的影响。比如,一个基因很长,那么它捕获到的 reads 数可能会更多,这样的 counts 值会偏高;而另一个基因虽然短但表达很强,反而可能因为长度原因捕获到的 reads 数比较少。这就让 counts 值不能直接反映基因的实际表达水平。

另外,测序深度也会影响 counts 值。不同样本的测序深度可能不一样,测得多的样本总 counts 值更高,看起来表达也会“虚高”。为了消除这些影响,才提出了 FPKM TPM 这些标准化的方法,让我们能够更公平地比较基因的表达水平。


FPKM 的计算方式

FPKM(Fragments Per Kilobase of transcript per Million mapped reads)是一种校正方法,它的意思是“每千碱基的转录本在每百万 reads 中的片段数”。

FPKM 的计算公式如下:

通过这个公式,FPKM 值先考虑了基因的长度,把 counts 除以基因的长度(以千碱基为单位),这样能让不同长度的基因具有可比性。接着,FPKM 值又除以样本的总 counts(以百万为单位),来控制测序深度的影响。因此,FPKM 能在一定程度上消除基因长度和测序深度的影响,适合用于同一个样本内的基因表达比较。

Sample 1 的总 counts 为 100 + 200 + 50 = 350 ,Sample 2 的总 counts 为 150 + 180 + 120 = 450

我们可以计算出每个基因在两个样本中的 FPKM 值,结果如下:


为什么还需要 TPM

虽然 FPKM 校正了基因长度和测序深度的影响,但它并不适合用于不同样本间的比较。比如,两个样本各自的 FPKM 值并不完全反映真实的相对表达水平。因此,为了更精确地比较不同样本之间的基因表达,我们需要用到 TPM(Transcripts Per Million)。

TPM 其实和 FPKM 的思路类似,但计算方式稍有不同。它首先对每个基因做长度归一化,然后再把所有基因的标准化值相加,使总数为一百万。这样得到的 TPM 可以更好地在不同样本之间进行比较。


TPM 的计算方式

TPM(Transcripts Per Million) 是指“每百万个转录本中的某基因的转录本数”。它的计算方式分为两步:

  1. 基因长度归一化 :先将每个基因的 counts 除以基因长度(以千碱基为单位),得到一个标准化的 counts 值。
  2. 总标准化值归一化 :将所有基因的标准化值相加,得到总标准化值。然后将每个基因的标准化值除以这个总值,并乘以一百万,得到 TPM 值。

公式如下:

这样计算的 TPM 可以保证所有基因的 TPM 之和在每个样本中都是一百万,因此更适合不同样本之间的直接比较。


最后总结一下

  • Counts :原始的 reads 计数值,受基因长度和测序深度影响,无法直接比较。
  • FPKM :每千碱基的转录本在每百万 reads 中的片段数,校正了基因长度和测序深度,但不适合不同样本间的比较。
  • TPM :每百万转录本中的某基因转录本数,校正了长度后标准化,使得不同样本之间的表达量可以直接比较。

在实际分析中,如果是比较不同基因的相对表达量,可以使用 FPKM;如果需要比较不同样本之间的表达情况,我们一般会选择TPM。

写作不易,欢迎关注