医学院的石头 / 生物信息学 / RNA-Seq分析|RPKM, FPKM, TPM, 傻傻分不清...

0 0

   

RNA-Seq分析|RPKM, FPKM, TPM, 傻傻分不清楚?

2018-01-12  医学院的...

生信草堂



在RNA-Seq的分析中,对基因或转录本的read counts数目进行标准化(normalization)是一个极其重要的步骤,因为落在一个基因区域内的read counts数目取决于基因长度和测序深度。

很容易理解,一个基因越长,测序深度越高,落在其内部的read counts数目就会相对越多。

当我们进行基因差异表达的分析时,往往是在多个样本中比较不同基因的表达量,如果不进行数据标准化,比较结果是没有意义的

因此,我们需要标准化的两个关键因素就是基因长度和测序深度,常常用RPKM (Reads Per Kilobase Million), FPKM (Fragments Per Kilobase Million) 和 TPM (Transcripts Per Million)作为标准化数值。

那么,这三者计算原理是什么,有何区别呢?


下面做详细介绍

为了更清楚的展示计算过程,我们用三个样本的4个基因的read counts矩阵做例子(来源于YouTube)。如表1:

Gene Name

Sample1 Counts

Sample2 Counts

Sample3 Counts

A (2kb)

10

12

30

B (4kb)

20

25

60

C (1kb)

5

8

15

D (10kb)

0

0

1


大家可以清楚地看到,样本3的4个基因read counts数目明显多于其他两个样本,说明其测序深度较高,基因B的长度的基因A的两倍,也使得其read counts在三个样本中都高于A。


接下来我们要做就是对这个矩阵进行标准化,分别计算RPKM, FPKM和TPM,    请睁大你的眼睛(为了使数值可读性更好,下面的计算中我们用10代表million)。


我们先来说说RPKM怎么算。


第一步先将测序深度标准化,计算方法很简单,先分别计算出每个样本的总reads数(这里以10为单位),然后将表中数据分别除以总reads数即可,这样就得到了reads per million. 如下表2:


Gene Name

Sample1   Counts

Sample2 Counts

Sample3   Counts

A (2kb)

2.86

2.67

2.83

B (4kb)

5.71

5.56

5.66

C (1kb)

1.43

1.78

1.42

D (10kb)

0

0

0.09


第二步即是基因长度的标准化了。将表2的read per million直接除以基因长度即可,如表3:


Gene Name

Sample1 Counts

Sample2 Counts

Sample3 Counts

A (2kb)

1.43

1.33

1.42

B (4kb)

1.43

1.39

1.42

C (1kb)

1.43

1.78

1.42

D (10kb)

0

0

0.009


到这里,我们即得到了传说中的RPKM。


FPKM和RPKM的定义是相同的,唯一的区别是FPKM适用于双端测序文库,而RPKM适用于单端测序文库。FPKM会将配对比对到一个片段(fragment)上的两个reads计算一次,接下来的计算过程跟RPKM一样。


下面,终于轮到TPM登场了。虽然同样是标准化测序深度和基因长度,TPM的不同在于它的处理顺序是不同的。即先考虑基因长度,再是测序深度。我们仍以表1的那个例子来说明TPM是计算过程。


第一步直接除以基因长度,得到reads per kilobase,如表4:


Gene Name

Sample1   Counts

Sample2   Counts

Sample3   Counts

A (2kb)

5

6

15

B (4kb)

5

6.25

15

C (1kb)

5

8

15

D (10kb)

0

0

0.1


第二步标准化测序深度时,总的reads数要用第一步中除过基因长度的数值。即第一样本除以15,第二个样本除以20.25,第三个样本除以45.1 (别忘了我们的单位是10哦)。表5就是你们想要的TPM了。


Gene Name

Sample1   Counts

Sample2   Counts

Sample3   Counts

A (2kb)

3.33

2.96

3.326

B (4kb)

3.33

3.09

3.326

C (1kb)

3.33

3.95

3.326

D (10kb)

0

0

0.02


下面,是考验你们数学功底的时候了,有没有看出来TPM分分钟完虐FPKM/RPKM?其实,只要我们在表3和表5下面多加一行你就能很轻松地看到区别了。


RPKM

Gene Name

Sample1   Counts

Sample2   Counts

Sample3   Counts

A (2kb)

1.43

1.33

1.42

B (4kb)

1.43

1.39

1.42

C (1kb)

1.43

1.78

1.42

D (10kb)

0

0

0.009

Total

4.29

4.5

4.25


TPM

Gene Name

Sample1   Counts

Sample2   Counts

Sample3   Counts

A (2kb)

3.33

2.96

3.326

B (4kb)

3.33

3.09

3.326

C (1kb)

3.33

3.95

3.326

D (10kb)

0

0

0.02

Total

10

10

10


我们看到每个样本的TPM的总和是相同的,这就意味着TPM数值能体现出比对上某个基因的reads的比例,使得该数值可以直接进行样本间的比较。


看到这里,相信大家已经完全理解了RNA-Seq数据标准化的流程了。


虽然现在有很多计算差异表达的软件是直接支持read counts作为输入,并且自已完成标准化过程,如DESeq2,但作为生信人,知道这些中间量的计算过程还是很有必要的。


最后,奉上YouTube上的视频链接https://www.youtube.com/watch?v=TTUrtCY2k-w,可能需要FanQiang才能观看



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话:4000070609 与我们联系。

    猜你喜欢

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多