如何读懂FastQC报告的duplicate模块

参考Revisiting the FastQC read duplication report以及A new way to look at duplication in FastQC v0.11。我之前一直不太明白duplicate模块,今天看了这两个帖子,感觉一下子就明白了,下面用自己的语言翻译一下,加深自己的理解,也希望能帮助到一些需要的人。

在FastQC报告中,duplicate模块有两条折线(如图1),蓝线代表总reads的重复情况,红色线代表Deduplicated reads的重复情况。这里的deduplicated reads并不是代表只出现一次的reads,它是代表所有不同的reads。比如说有20条reads,其中有10条出现1次,有5条分别出现2次,这里有15条reads是各不相同的,则total reads为20,deduplicated reads为15。因此deduplicated reads可以认为是出现1次的reads的数目+出现2次的reads的数目+出现3次的reads的数目+...(以此类推)。

图1的表头的deduplicated percentage=deduplicated reads/total reads * 100%。下面的蓝色折线的意思是:total reads中出现1次,2次,3次...的reads分别占total reads的比例;红色折线的意思是:deduplicated reads中出现1次,2次,3次...的reads分别占deduplicated reads的比例。

图1

下面以两个简单的例子也说明如何计算:

例子1:有20条reads,10条出现1次,5条出现2次,其生成的图如图2上面截图所示。此时Total reads=20,deduplicated reads=10+5=15,deduplicated percentage= 15/20=75%;当出现次数为1时,%total reads=10/20=50%,%deplicated sequences=10/15=66%;当出现次数为2时,%total sequences=10/20=50%;%deplicated sequences=5/15=33%。计算结果跟图2上面的截图展示一致。

例子2:有20条reads,10条出现1次,1条出现10次,其生产的图如图2下面截图所示。此时Total reads=20,deduplicated reads=10+5=11,deduplicated percentage=11/20=55%;当出现次数为1时,%total sequences=10/20=50%,%deplicated sequences=10/11= 91%;当出现次数为10时,%total sequences=10/20=50%,%deplicated sequences=1/11=9%。计算结果跟图2下面的截图展示一致。

图2

如何根据deuplicated图来查看数据的重复情况呢?下面给出三个例子的说明:

例子1:从图3表头可以看到该数据的deduplicated percentage=95.09%,说明重复率特别低。观察蓝色和红色折线发现两者几乎重叠,而且有95%以上reads只出现1次,低于5%的reads重复数目大于10。总体而言,该数据重复度特别低。

图3


例子2:图4是一个RNA-seq数据的评估结果。从图中知道该数据的deduplicated reads=49.38%,即有一半可能存在重复。但在RNA-seq数据中,可能存在某些转录本较短,表达水平很高,导致在随机打断后被重复抽到测序的概率大大增加。因此对于RNA-seq数据来说,重复性较高的序列不一定就是PCR重复。紧接着,观察两条折线知道,大部分序列的重复性在2-9次,它们极可能覆盖了一些“normal”基因;部分序列的重复性在10-100次,它们可能覆盖在rRNA或一些重复序列上;只有极少数序列的重复度超过100。因此,总体而言,该RNA-Seq数据可以代表一个多样性较丰富的文库。

图4


例子3:图5则代表有高度的重复。首先该数据的deduplicated reads非常低,观察折线发现当出现次数为1时,%Deduplicated sequences高达80%,而%Total sequences则低于10%;当出现次数大于1k时,%Deduplicated sequences在1%左右,而%Total sequences则在20%以上。这些数据说明了有极少数序列重复出现了上1千次,导致整个文库的重复率特别高,这少数部分的序列应该是PCR重复。

图5

FastQC deduplicated模块大致的内容就这些,有兴趣可以自己写代码实现,测试一下自己的脚本画出来的图是否与FastQC的结果一致。

发布于 2018-09-19 16:25