标准化进行时
今天是生信星球陪你的第162天
你想找辆共享单车,发现满街都是别家车,没有一辆你能骑。
你想学点生信,搜了“初学者教程”,满眼尽是高大上,没有一句能看懂。
终于你跨越茫茫宇宙,来到生信星球,发现了初学者的新大陆!
豆豆写于18.10.19 今天看一看转录组的定量相关术语,简单了解一下吧
statquest 视频回复“fpkm”获得哦,视频也很有帮助哦另外,欢迎报名第8期培训班哦😎花花和豆豆等你
. 首先看概念
-
我们做转录组很大程度上是为了看基因表达量差异的,那么什么是表达量?
它肯定是用来看两组之间不同的一个标准,但这个标准怎么定义呢?
一个细胞中或者一定含量的RNA中,含有转录本的数目就是表达量
-
进行差异分析之前,我们必须要先知道每个基因各自在不同样本中有多少,也就是raw counts。当然有的软件可以直接用raw counts进行比较,(例如DeSeq2就要求表达量矩阵是整数组成的、未经下游标准化的)。但是还有一些是需要标准化以后才能用的比如edgeR,那么什么是标准化?
我们赛跑都要讲求公平吧,比较基因表达量也是如此。表达量受到测序深度和基因长度的影响
同一个基因在不同样本中,样本测序深度越高,也就相当于抽样的次数越多,当然抽到落在该基因的reads数就越多;
同一个样本中的不同基因,基因越长,被打断后得到的片段就越多,会有越多的reads会落在它上面;
为了让不同样本的基因或者不同基因在同一样本中进行比较,需要把它们放在统一的起跑线上
于是要把原始的表达量统计值转换成RPKM/FPKM/TPM等,来消除测序深度和基因长度的影响
-
过去一般使用RPKM(Reads Per Kilobase Million)或者FPKM(Fragments Per Kilobase Million)
好吧,不得不说这个命名让人很迷惑
深入了解一下:首先,M和K都是放在分母上的,
其次,上面的M也就是Million,用来排除测序的深度的影响;K也就是Kilobase排除是基因的长度的影响
最后,公式的意思也就清楚啦:就是用reads原始统计值处以总reads数和基因长度
-
TPM(Transcripts per million)是更为推荐的
. 理解标准化
假如一开始得到的raw counts是这样的:一个样本3个重复,检测了4个基因
基因名 | 样本1.1 | 样本1.2 | 样本1.3 |
---|---|---|---|
A(2kb) | 10 | 12 | 30 |
B(4kb) | 20 | 25 | 60 |
C(1kb) | 5 | 8 | 15 |
D(10kb) | 0 | 0 | 1 |
很明显,样本1.3中每个基因的值都明显高于1.1和1.2,另外B在所有样本中表达量都是A的2倍,当然,这些都是需要进行标准化的。看看标准化后是什么样子
-
利用RPKM
-
首先,将测序深度进行标准化:计算每列的总和然后除以1,000,000【当然这里由于是编的数据,就使用10进行整除】
RPKM对深度标准化 -
然后,将基因长度标准化,就是将上一步数据再中心化(scale函数可以做到)
RPKM对长度标准化 -
最后得到的就是这样啦
RPKM前后对比
2 . RPKM vs FPKM
只要知道:RPKM是单端数据使用,双端测序使用FPKM更合适
3 . TPM
先对每个基因的reads数用基因长度校正,然后用校正后的reads数除以所有reads总和,因此每个样本中的TPM的总和都是一样的,而FPKM则不相等

. 结论
RPKM及TPM的都考虑了基因长度,但基因长度对RNA-Seq差异比较结果并无极大影响。单一样本中TPM与RPKM的结果基本上是一致的,同一物种不同的样本FPKM标准化会相对弱一些(也就是相对粗放一些),不同物种的就不能比较啦。
更推荐使用TPM进行标准化,但现实情况是:FPKM使用仍然比较广泛
点击底部的“阅读原文”,获得更好的阅读体验哦😻
原版视频后台回复“fpkm”🤒
初学生信,很荣幸带你迈出第一步。
我们是生信星球,一个不拽术语、通俗易懂的生信知识平台。需要帮助或提出意见请后台留言、联系微信或发送邮件到Bioplanet520@outlook.com
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!