本文总结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。
以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。
计算公式:
长度以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关系
5. 各种标准化方法对比
参考: