RNA-seq的标准化方法罗列

RNA-seq的标准化方法

对于RNA-seq而言,由于 技术误差测序深度不同基因长度不同,为了能够比较不同的样本,比较不同的基因的表达量,以及使表达水品分布符合统计方法的基本假设,就需要对原始数据进行标准化。

对于一个新兴的领域,通常会有50多种算法,但是最后常用的,其实也就那么几个。在RNA-seq标准化这个领域也是如此,目前用的最多也就是, RPKM/FPKM, TPM,但是注意,有些时候一个方法出现的多,单纯是因为公司没有修改他们的分析流程。

为了方便理解,假设目前你在一次测序中(即剔除批次效应)检测了一个物种的3个样本,A,B,C,这个物种有三个基因G1,G2,G3, 基因长度分别为100, 500, 1000. 通过前期数据预处理,你得到了尚未标准化的表达量矩阵,如下所示。

事先声明,以下数字完全是我瞎编,方便用于后续的计算,如有雷同,留个微信,线下交友。

基因/样本 样本A 样本B 样本C
G1(100) 300 400 500
G2(500) 700 750 800
G3(1000) 1000 1300 1800

基因表达量矩阵

基因/样本 样本A 样本B 样本C
G1(100) 300 400 500
G2(500) 700 750 800
G3(1000) 1000 1300 1800

先说三个简单的策略,也就是最容易想到的方法

  • Total Count, TC, 每个基因计数除以总比对数, 即文库大小, 然后乘以不同样本的总比对数的均值
  • Upper Quartile, UQ, 和TC方法相似, 即用上四分位数替代总比对数
  • Median, Med, 和TC方法相似, 用中位数代替总比对数

上面方法都相似,考虑到我的例子只有三个基因,所以只展示TC方法的结果. 可以发现,原本比其他组观测值的A-G2,目前反而是最高。

TC处理后 A B C
G1 370 402.7 418.1
G2 863.3 744.1 543.5
G3 1233.3 1308.8 1505.1

如果省去TC中的 "乘以不同样本的总比对数的均值" 这一步,那么差不多就是CPM (counts per million)的策略,也就是根据直接根据深度对每个样本单独进行标准化. 在edgeR和limma/voom里面都有出现过。

CPM

TMM(trimmed mean of M value)方法出现在2010年,比TC、 UQ、Med, CPM方法高级一点,基本假设是绝大数的基因不是差异表达基因.计算方法有点复杂,简单的说就是移除一定百分比的数据后,计算平均值作为缩放因子,对样本进行标准化。这次我们用R/edgeR来算. 和之前不同,A组的G2基因标准化后还是最低,这就是trim所引起。

> library(edgeR)
> expr <- matrix(c(300,400,500,700,750,650,1000,1300,1800),nrow = 3,byrow = TRUE)
> f <- calcNormFactors(expr, method = "TMM")
> mt_norm <- t(t(mt) /f )
> mt_norm
          [,1]      [,2]      [,3]
[1,]  303.0164  402.5300  491.9114
[2,]  707.0382  754.7438  787.0583
[3,] 1010.0545 1308.2226 1770.8811

DESeq2/DESeq有自己专门的计算缩放因子(scaling factor)的策略,它的基本假设就是绝大部分的基因表达在处理前后不会有显著性差异,表达量应该相似,据此计算每个基因在所有样本中的几何平均值(geometri mean), 每个样本的各个基因和对应的几何平均数的比值的中位数就是缩放因子(scaling factor). 这里仅仅提到思想,不做计算。

上述方法都是对样本整体进行标准化,标准化的结果只能比较不同样本之间的同一个基因的表达水平。如果要同时比较不同样本不同基因之间的表达量差异,就得考虑到每个基因的转录本长度未必相同,毕竟转录本越长,打算成片段后被观察到的概率会高一点。最长尝试解决这个问题,应该是单端测序时代的RPKM(双端则是FPKM), 全称为Reads Per Kilobase Million, 其中K象征的是转录本长度, M象征的是测序量.

RPKM

对于A-G1而言,他的表达量就是300*1000 / (2000 x 100) = 1.5, 其中系数10e6在这里不需要使用。你可以认为它是先对文库大小进行标准化,然后再根据基因长度标准化

RPKM处理后 A B C
G1 1.5 1.63 1.61
G2 0.7 0.61 0.52
G3 0.5 0.53 0.58

一波操作下来,感觉数值就有点可比性了。

下面介绍TPM(transcript per million), 计算公式如下,其中X表示比对到基因上的read数,l表示基因的长度。

TPM

如果手动计算的话,那就是先进行 长度标准化

长度标准化 A B C
G1 3 4 5
G2 1.4 1.5 1.6
G3 1 1.3 1.8

然后进行文库标准化,即每一列各个数值除以每一列的和

长度标准化 A B C
G1 0.56 0.59 0.60
G2 0.26 0.22 0.19
G3 0.18 0.19 0.21
列和 1 1 1

目前还有一种技术叫做UMI,可以进行转录本的绝对定量,一个转录本有多少特异的UMI,就一定程度上代表了它的表达量。

一些看法

RNA-seq数据标准化其实要分为两种,样本间标准化和样本内标准化。

对于差异表达分析而言,样本内对不同转录本长度进行标准化 毫无必要,是的,真的是没啥意义,粗略比较同一个基因在两个样本间是否有差异,只要处理好测序深度这个问题就行,任何要求用RPKM/FPKM而不是raw count作为差异表达分析的原始数据的分析方法都需要被淘汰掉,而沿用这种分析策略的公司都已经很久没有更新自己流程了。

此外,如果你要比较不同样本内的基因表达情况,那么目前更推荐用TPM。 因为在它的计算方法中,能更有效的标准化不同转录本组成上的差异,而不是简单除以文库大小。

题外话,我最近看到一篇发在Nature上ATAC-seq文章,Method部分提到他用RPKM这个方法对每个bin的read count进行标准化。考虑到每个bin的大小都一样,我觉得这个标准化的方法从定义上更接近CPM。

Correcting for gene length is not necessary when comparing changes in gene expression within the same gene across samples, but it is necessary for correctly ranking gene expression levels within the sample to account for the fact that longer genes accumulate more reads.

对于差异表达分析而言,标准化不但要考虑测序深度的问题,还要考虑到某些表达量超高或者极显著差异表达的基因导致count的分布出现偏倚, 推荐用TMM, DESeq方法进行标准化。

参考文献

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,492评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,048评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,927评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,293评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,309评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,024评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,638评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,546评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,073评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,188评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,321评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,998评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,678评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,186评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,303评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,663评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,330评论 2 358