0%

FPKM、RPKM、CPM、TPM计算方式

本文总结CPM、RPKM、FPKM、TMP、RPM的计算。

1. RPM/CPM

Reads/Counts per million mapped reads。

计算方式:
RPM=ExonMappedReads*10^6/TotalMappedReads

  • 只对文库大小测序深度进行了normalize,没有考虑基因长度的影响。
  • 适用于reads不受基因长度影响的测序,如miRNA测序等。
  • 可以用于比较同一个基因在不同样品间的差异,不能用于比较不同基因之间的表达差异。

2. RPKM/FPKM

Reads per kilobase(kb) per million mapped reads。

alt 图标
alt 图标

以RPKM为例,计算公式:
长度以kb为单位:
ExonMappedReads*10^6/(TotalMappedReads*ExonLength)
长度以bp为单位:
ExonMappedReads*10^3*10^6/(TotalMappedReads*ExonLength)

  • 对基因长度和测序深度都进行了归一化。
  • RPKM适用于单端测序,一条read就是一个count。
  • FPKM适用于双端测序,双端测序时一条read测了两遍,因此两条同样的read只能count一次,称为fragment。

3. TPM

Transcript per kilobase(kb) per million mapped reads。

alt 图标

计算公式:
长度以KB为单位:
TPM=(Ni/Li)*10^6/sum(Ni/Li+……..+ Rm/Lm)
长度以bp为单位:
TPM=(Ni/Li)*10^6*10^3/sum(Ni/Li+……..+ Rm/Lm)

  • 每项意义:
    • Ni:mapping到基因i上的read数;
    • Li:基因i的外显子长度的总和;
    • Li的单位是kb,如果是bp,分子需要再除以1000;
  • 分子*Ni/(Li(bp)/1000)*是根据基因/转录本的长度校正count值;
  • 分母*sum(Ni/Li+……..+ Rm/Lm)*是根据基因/转录本长度校正之后的count值总和;
  • TPM先对基因长度进行标准化,再对测序深度进行标准化。

4. RPKM和TPM关系

alt 图标

5. 各种标准化方法对比

alt 图标

参考:

  1. https://www.jianshu.com/p/1940c5954c81
  2. https://zhuanlan.zhihu.com/p/580665520