很久以前就有人问过这个问题啦,虽然目前主流还是用RPKM/FPKM来形容一个基因的表达量。但是既然大家都说TPM更好,我也来探究一下吧!
我不喜欢看公式,直接说事情,我有一个基因A,它在这个样本的转录组数据中被测序而且mapping到基因组了 5000个的reads,而这个基因A长度是10K,我们总测序文库是50M,所以这个基因A的RPKM值是 5000除以10,再除以50,为10. 就是把基因的reads数量根据基因长度和样本测序文库来normalization 。
那么它的TPM值是多少呢? 这个时候这些信息已经不够了,需要知道该样本其它基因的RPKM值是多少,加上该样本有3个基因,另外两个基因的RPKM值是5和35,那么我们的基因A的RPKM值为10需要换算成TPM值就是 1,000,000 *10/(5+10+35)=200,000,看起来是不是有点大呀,其实主要是因为我们假设的基因太少了,一般个体里面都有两万多个基因的,总和会大大的增加,这样TPM值跟RPKM值差别不会这么恐怖的。
TPM值就是RPKM的百分比!!!
TPM值就是RPKM的百分比!!!
TPM值就是RPKM的百分比!!!
大家肯定想问,TPM的优点是什么呢?很明显,所有基因的TPM值加起来肯定是1M,因为百分比的总和就是1嘛,与样本无关,各个样本都可以保证TPM库是一样的,这样比较更有意义!!!
我这里没有讲FPKM,大家自己搜索学习吧,没什么意思
最后还是贴上公式吧!
一大波我懒得看的参考资料: