NGS数据分析实践:05. 测序数据的基本质控 [2] - MultiQC
NGS数据分析实践:05. 测序数据的基本质控 [2] - MultiQC 目录
2. MultiQC
2.1 帮助信息及运行代码
2.2 报告解读
2.3 小结
文接上篇:NGS数据分析实践:05. 测序数据的基本质控 [1] - FastQC
2. MultiQC
NGS技术的进步催生了新的实验设计、分析类型和极高通量测序数据的生成。对于这些数据的质量评估,每一步分析结果的评估是后续结果可信度的衡量和保障。不少生信工具都可以给样品生成一个评估结果,如FastQC、Qualimap 和RSeQC等。但是这时又出现了一个难题,那就是几乎所有的质控工具都是针对单个样本生成一个报告,这就要求用户自己去逐一查找各个QC结果,这无疑是个十分耗时、重复又复杂的事,而且还不能快速看出所有样本的异同。
MultiQC 是基于Python的小工具,能很好地解决这个问题,其强大的功能主要体现在以下三个方面:
(1) 能将测序数据的多个QC结果整合成一个HTLM网页交互式报告,同时也能导出pdf文件;
(2) 支持多种分析类型的质控结果查看,如:RNAseq
、Whole-Genome Seq
、Bisulfite Seq
、Hi-C
和MultiQC_NGI
;
(3) 目前支持整合111种软件分析的结果,而且支持的软件还在持续增加,也可以自己写一个插件。
2.1 帮助信息及运行代码
multiqc --help
# Usage: multiqc [OPTIONS] <analysis directory>
# -n/--name # 更改输出文件的名称,默认输出文件名:multiqc_data、multiqc_report.html
# -o/-outdir # 在指定的输出目录中创建报告 #若数据在当前目录下输入multiqc . 即可
# --ignore忽略掉某些文件 #multiqc . --ignore */run_three/*/fastqc/*_R2.zip
代码如下:
cd fastqc_out_Raw/
multiqc . -n multiqc_Rawdata -o fastqc_out_Raw/
cd fastqc_out_Clean/
multiqc . -n multiqc_Cleandata -o fastqc_out_Clean/
2.2 报告解读
MultiQC将fastqc工具分析得到的10个结果分别整合成一个模块,集中查看。
(1) General Statistics
每一个样本reads数量、比对层面的质量评估整合统计表,点击Configure Columns可以选择显示或不显示某些项。点击Plot可以绘图。
点击Configure Columns选择展示哪些项:
点击Plot可以对任意两种属性的评估结果做交互式二维图,若各样本均一性好,散点会比较集中,反之会出现某些离散的点,这样方便查看某些指标异常的离群样本。
默认情况下,当一个表≥500行时,MultiQC开始使用beeswarm图。若各样本均一性好,散点会比较集中,反之会出现某些离散的点,这样方便查看某些指标异常的离群样本。
(2) Sequence Counts:序列计数
这里可以看到重复reads,可以看一下样品中重复unique reads和Dupliaccte reads各自的占比。
只有在每个文件的前100,000个序列中最先出现的序列才会被分析。重复检测需要在整个序列长度上进行精确的序列匹配。对于这个分析,任何长度超过75bp的读取都被截断为50bp。
(3) Sequence Quality Histograms :每个read各位置碱基的平均测序质量
绿色区间——质量很好;橙色区间——质量合理;红色区间——质量不好;可以看出这几个样品序列的整体测序质量还是很不错,所有的都在绿色区域。
(4) Per Sequence Quality Scores:具有平均质量分数的reads的数量
绿色区间——质量很好、橙色区间——质量合理、红色区间——质量不好。
(5) Per Base Sequence Content :每个read各位置碱基ATCG的比列
为了使多个样品能够显示在一个plot中,碱基组成数据以热图的形式显示。颜色代表了四个基色之间的平衡:一个均匀的分布应该给一个均匀的浑浊的棕色。将鼠标悬停在图上,查看光标下四个碱基的百分比。结果显示除了开头几bp序列ATCG比例差别较大,其他位置的序列ATCG比例均衡。值得注意的是,某些类型的文库总是会产生有偏倚的序列组合,通常是在测序的开始。
(6) Per Sequence GC Content:reads的平均GC含量
如果 reads GC含量在40%左右,且近似呈正态曲线,则表明GC含量基本正常。下图高亮了fail的两个样本。
(7) Per Base N Content:每条reads各位置N碱基含量比例
序列中各个位点的N含量,越小越好;正常情况下N的比例很小,所以图上常常看到一条直线。下图说明测序仪器能辨别这四个序列中每条reads的几乎每个位置的碱基。
(8) Sequence Length Distribution:序列长度分布
(9) Sequence Duplication Levels:每个序列的相对重复水平
下图显示了文库中每个序列的重复程度:不同重复程度的序列的相对数量。在不同的文库中,大多数序列只会在最终集合中出现一次。低水平的重复可能表明目标序列的覆盖水平非常高,但高水平的重复更可能表明某种富集偏倚 (如PCR过度扩增)。
这该怎么理解呢?假设一个基因组有A、B两个片段,经过PCR后得到1500A和1000B,那么多出来的500条A是重复数据,这就是大家常说的PCR bias。PCR后得到无论多少条reads,比如n条A和m条B,在数据分析的时候,都只保留1条A和1条B(unique reads)用于组装,而去掉(n-1)条A和(m-1)条B。共有(n-1)条A和(m-1)条B被当成duplicated reads看待,尽管它们是正常PCR的正常产物。所以, 目前的算法其实是一个简化的处理方案,把所有重复的reads都去掉了,留下完全不重复的reads。算法没有能力区分“假重复”(人为造成的重复序列方面的bias)和“真重复”(天然存在的重复序列)。
NGS数据的Duplication问题 这篇文章对该问题进行了讨论,对于这一部分我还是有一些疑问的,因此暂时不进行扩展。
(10) Overrepresented sequences:文库中过表达序列的比例
当有某个序列大量出现时,超过总reads数的0.1%时报WARN,超过1%时报FAIL。
Help: FastQC calculates and lists overrepresented sequences in FastQ files. It would not be possible to show this for all samples in a MultiQC report, so instead this plot shows the number of sequences categorized as over represented.
Sometimes, a single sequence may account for a large number of reads in a dataset. To show this, the bars are split into two: the first shows the overrepresented reads that come from the single most common sequence. The second shows the total count from all remaining overrepresented sequences.
(11) Adapter Content:接头含量
Note that only samples with ≥ 0.1% adapter contamination are shown.
There may be several lines per sample, as one is shown for each adapter detected in the file.
From the FastQC Help:
The plot shows a cumulative percentage count of the proportion of your library which has seen each of the adapter sequences at each position. Once a sequence has been seen in a read it is counted as being present right through to the end of the read so the percentages you see will only increase as the read length goes on.
Clean data的接头含量:
原始下机数据的接头含量图如下:
(12) Status Checks
在这个热图中,将所有这些归纳为一个单一的热图,以快速总结。注意,并不是所有的FastQC部分在MultiQC报告中都有图,但是所有的状态检查都显示在这个热图中。每个FastQC部分的状态显示结果为:是否完全正常(绿色),轻微异常(橙色)或非常不正常(红色)。
2.3 小结
注意:尽管分析结果似乎给出了一个pass/fail的结果,但这些评估必须结合特定的研究设计、文库构建方案等进行。在FastQC看来,一个“正常”的样品是随机和多样的。有些实验可能会产生某些特定方面有偏倚(bias)的库。因此,需结合评估结果,理解为什么文库看起来不是随机和多样化的。
参考阅读:
整合QC质控结果的利器——MultiQC
生信技能树,lncRNA组装流程的软件介绍之MultiQC
从零开始完整学习全基因组测序数据分析:第3节 数据质控
从零开始完整学习全基因组测序数据分析: Trimmomatic、SOAPnuke、sickle和seqtk的比较
从零开始完整学习全基因组测序数据分析:第4节 构建WGS主流程
NGS数据的Duplication问题:http://blog.sina.com.cn/s/blog_8de3399d0102wy3f.html