Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MultiQC对FastQC结果的解读

MultiQC对FastQC结果的解读

作者头像
小汪Waud
发布于 2023-02-16 08:01:19
发布于 2023-02-16 08:01:19
2.9K0
举报
文章被收录于专栏:小汪Waud小汪Waud

正文共5498字,预计阅读时间为14分钟。

本期解读转录组上游分析中MultiQC对质控软件FastQC处理后的结果。

FastQC是一款能够对高通量测序数据进行质量评估的软件,对每一个样本生成一个报告。

https://www.bioinformatics.babraham.ac.uk/projects/fastqc/

我们通常使用FastQC对raw_data和clean_data做质控,拿到的结果大致相同,我们这里以clean_data为栗子。

除了我们经常使用的用浏览器打开fastqc报告,它同样具有针对不同系统的桌面版本

正如前面所说,每一个样本都有一个对应的html报告,报告内容如下

FastQC Report Content

当我们想综合所有的样本时,我们就需要MultiQC的帮助。

MultiQC

MultiQC的报告分为General Stats和FastQC两部分,其中FastQC又分为11个小部分,接下来我们依次解读。

MultiQC Content

General Stats

在这里我们能看到各个样本的概况或基本信息

点击左侧的Configure Columns可以自定义展示列参数

Configure Columns

共有五个参数,分别是:

  • %Dups:Duplicate Reads Percent,重复reads的比例
  • %GC:Average %GC Content,平均GC含量百分比
  • Length:Average Sequence Length,平均序列长度
  • %Failed:Percentage of modules failed in FastQC report,报告中不合格数据的百分比
  • M Seqs:Total Sequences,总测序量

FastQC

Sequence Counts

该部分对每个样本序列进行了计数,横坐标为总的reads数(和General Stats中的M seqs一致),纵坐标为不同样本(此处还包含了同一样本的两端测序数据)。

Sequence Quality Histograms

此部分为reads中每个位置(从0到150bp)的平均质量值,横坐标为位置,需要注意的是X轴并不是均匀的;纵坐标为质量分数,计算公式为

所以当质量分数为40的时候,p就是0.0001。

图中绿色表示合格(通过),黄色代表警告,红色则代表失败(不合格)。

不仅仅是这部分,其他部分也都有这样的标志,但FastQC的作者也说过了 “具有'WARN'或'FAIL'标志的模块结果并不一定意味着序列运行失败。'警告'和'失败'标志意味着研究人员必须停下来,考虑在特定样本和所运行的测序类型的背景下,结果意味着什么。”

Researchers should be very cautious about relying on these flags when assessing sequence data. The thresholds used to assign these flags are based on a very specific set of assumptions that are applicable to a very specific type of sequence data. The thresholds used to assign these flags are based on a very specific set of assumptions that are applicable to a very specific type of sequence data. Specifically, they are tuned for good quality whole genome shotgun DNA sequencing. They are less reliable with other types of sequencing, for example mRNA-Seq, small RNA-Seq, methyl-seq, targeted sequence capture and targeted amplicon sequencing. Therefore, a module result that has a “Warn” or “Fail” flag does not necessarily mean that the sequence run failed. “Warn” and “Fail” flags mean that the researcher must stop and consider what that results mean in the context of that particular sample and the type of sequencing that was run.

MultiQC报告的结果

fastqc报告的结果(和上图不是同一数据)

Per Sequence Quality Scores

该部分为reads次数和平均质量分数之间的关系,可以理解为reads质量的分布情况,当质量小于27时报“警告”,小于20时报“失败”

由图中可以看出来,峰值越靠右代表高质量的reads越多,数据也就越好。

good vs bad

Per Base Sequence Content

该部分展现了reads每一个位置的ATCG四种碱基的分布情况。

fastqc报告的结果

fastqc报告中,横轴为位置,纵轴为碱基含量,正常情况下每个位置每种碱基出现的概率是相近的,四条线应该平行且相近。当部分位置碱基的比例出现bias时,即四条线在某些位置纷乱交织,往往提示我们有污染。上右图的前10bp,碱基频率有明显的差别,说明有污染。

当任一位置的A/T比例与G/C比例相差超过10%,报"WARN";当任一位置的A/T比例与G/C比例相差超过20%,报"FAIL"。

MultiQC报告的结果

MultiQC报告中,能很直观的看到哪些样本是“WARN”,哪些是“FAIL”。当把鼠标放到图上时,还能清楚的看到每一个位置碱基的分布情况。

在大多数RNAseq文库制备方法中,前10-15bp碱基分布明显不均匀,这是正常的,具体取决于使用的文库试剂盒的类型。即使序列完全正确,这种碱基组成不均匀的数据也会被认为是不合格。

Per Sequence GC Content

该部分展现了reads的平均GC含量,我们能看到有8个“正常”,4个“警告”。

MultiQC报告的结果

对于全基因组鸟枪测序,期望所有读数的GC含量应该形成正态分布。如果观测到的分布偏离理论太远,FastQC将称为“失败”。

下图的fastqc报告来自非常高质量的RNAseq数据,但FastQC仍然认定为“警告”,因为它比理论曲线窄。这种情况非常正常,因此可以忽略。

fastqc报告的结果

如果出现了异常的双峰或多峰,可以看一下健明老师之前的推文

RNA-seq的fastq文件里面为什么有gc含量的双峰

Per Base N Content

该部分展现了不同样本不同位置N的比例。当测序仪器不能辨别某条reads的某个位置到底是什么碱基时,就会产生“N”正常情况下,N值非常小。当任意位置的N的比例超过5%,报"WARN";当任意位置的N的比例超过20%,报"FAIL"。

MultiQC报告的结果

Sequence Length Distribution

该部分为reads的长度分布,当reads长度不一致时报"WARN";当有长度为0的reads时报“FAIL”。

MultiQC报告的结果

Sequence Duplication Levels

该部分展现了不同拷贝数的reads的频率。横坐标是duplication的次数(level),纵坐标是Deduplicated reads的百分比,以unique reads的总数作为100%。当非unique的reads占总数的比例大于20%时,报"WARN";当非unique的reads占总数的比例大于50%时,报"FAIL“。

通常有两种重复reads的来源,PCR重复即biased PCR富集和真正高表达的序列。前者会错误的反映样本序列中的真实比例,后者是正常情况。测序深度越高,越容易产生一定程度的duplication;但如果duplication的程度很高,就提示我们可能有bias的存在。

MultiQC报告的结果 12个都为FAIL

fastqc报告的结果

在左图表头下方有一行小字"Percent of seqs remaining if deduplicated 99.31%",意思是去重复后还剩下的序列为99.31%。

关于图中的红蓝两条线,知乎大佬对其的解释会更为简单,原文我放在参考资料的3,需要的请自行查看,我在这里概括一下。

蓝线代表总reads的重复情况,红线代表Deduplicated reads(去重复reads)的重复情况(有点类似于R中的unique函数),代表所有不同的reads。

蓝线表示total reads中出现1次、2次、3次...n次的reads占total reads的比例,红线表示deduplicated reads中出现1次、2次、3次...n次的reads占deduplicated reads的比例。

图源知乎媛子

举两个栗子,

  • 🌰1:共有20条reads,10条出现1次,5条出现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:有20条reads,10条出现1次,1条出现10次,其生成的图如上图的下部分所示。此时Total reads=20,deduplicated reads=10+1=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%。计算结果与图中一致。

同时大佬还给了具体例子解释如何根据deuplicated图来查看数据的重复情况

  • 🌰1:图1表头说该数据的deduplicated percentage=95.09%,说明重复率特别低。观察蓝色和红色折线发现两者几乎重叠,而且有95%以上reads只出现1次,低于5%的reads重复数目大于10。因此,该数据重复度特别低。

图1

  • 🌰2:图2为RNAseq数据的评估结果。从图中知道该数据的deduplicated reads=49.38%,即有一半可能存在重复。但在RNAseq数据中,可能存在某些转录本较短,表达水平很高,导致在随机打断后被重复抽到测序的概率大大增加。因此对于RNAseq数据来说,重复性较高的序列不一定就是PCR重复。折线显示大部分序列的重复性在2-9次,它们极可能覆盖了一些“normal”基因;部分序列的重复性在10-100次,它们可能覆盖在rRNA或一些重复序列上;只有极少数序列的重复度超过100。因此,该RNASeq数据是一个多样性较丰富的文库。
  • 🌰3:图3的deduplicated reads非常低,观察折线发现当出现次数为1时,%Deduplicated sequences高达80%,而%Total sequences则低于10%;当出现次数大于1k时,%Deduplicated sequences在1%左右,而%Total sequences则在20%以上。这些数据说明了有极少数序列重复出现了上1千次,导致整个文库的重复率特别高,这少数部分的序列应该是PCR重复。

图3

Overrepresented sequences

该部分会展现超过预期数量的序列,参考意义不大。

A sequence is considered overrepresented if it accounts for ≥ 0.1% of the total reads.

MultiQC报告的结果 3个通过9个警告

在DNA-Seq数据中,任何单一序列都不应该以足够高的频率出现而被列出。对于RNA-Seq数据,可能有一些转录本非常丰富,以至于它们被认为是过度表达的序列。

Adapter Content

该部分展现了接头含量。

MultiQC报告的结果

理想情况下,Illumina序列数据不应存在任何接头序列,然而,当使用较长的读取长度时,一些文库插入可能比读取长度短,从而导致在read的3'末端读取到接头。这更有可能发生在RNASeq文库中,其中文库插入大小的分布更加多样,并且可能包括一些短插入。

下面的例子来自高质量的RNASeq文库,该文库的一小部分具有小于150bp的插入片段。

fastqc报告的结果

Status Checks

该部分只存在于MultiQC的报告中,我们可以非常直观的看到不同样本的不同指数的情况。

以上。

参考资料:

  1. https://www.cnblogs.com/adawong/articles/7412764.html
  2. https://rtsf.natsci.msu.edu/genomics/tech-notes/fastqc-tutorial-and-faq/
  3. https://zhuanlan.zhihu.com/p/44914479
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小汪Waud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
AnnotationTransactionAttributeSource is only available on Java 1.5 and higher和windows同时安装jdk7和jdk8
AnnotationTransactionAttributeSource is only available on Java 1.5 and higher和windows同时安装jdk7和jdk8
oktokeep
2024/10/09
620
Java - 怎么通过环境变量来切换jdk版本
我在本地安装了1.7和1.8两个版本的jdk,此时我的JAVA_HOME环境变量配置的是jdk1.8,在cmd窗口输入java -version发现报错如下:
雨临Lewis
2022/01/11
9440
CentOS 7 安装 JDK8
下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
OY
2022/03/17
1.8K0
CentOS 7 安装 JDK8
win7、win10系统JDK环境变量配置
jdk环境变量配置共包括三项:JAVA_HOME、CLASSPATH 、PATH。配置过程如下:
全栈程序员站长
2022/09/13
5880
win7、win10系统JDK环境变量配置
Linux下安装jdk7
这就是跟linux联系的WinSCP,下载安装即可。 链接:http://pan.baidu.com/s/1boLOcAN密码:ltjy
全栈程序员站长
2022/07/19
1.9K0
Linux下安装jdk7
JDK卸载与重装「建议收藏」
发现网上很多博文并没有完整的讲述如何卸载和重装jdk,自己在重装jdk的时候遇到很多问题,搜索很多博文,把内容整合起来,才解决问题,而且还有许多安装jdk,还要配置classpath环境变量,在jdk 1.5版本之后已经不需要配置。本篇博文详细记录重装jdk的过程。
全栈程序员站长
2022/09/07
4.7K0
JDK卸载与重装「建议收藏」
JDK1.8下载、安装和环境配置教程
链接:https://pan.baidu.com/s/1ozCGy53AIeQIHWL6s9oAbw 提取码:04lf
全栈程序员站长
2022/07/01
3.9K0
JDK1.8下载、安装和环境配置教程
闲扯JVM之JVM是个什么东东
做java开发的几乎都知道jvm这个名词,那JVM是个什么东西呢?
热心的大肚皮
2023/02/28
2820
闲扯JVM之JVM是个什么东东
安装多个jdk导致eclipse打不开问题
本来使用的是jdk1.8,由于其他原因需要使用jdk1.6,在安装完jdk1.6后打开eclipse就会报错: Version 1.6.0_43 of the JVM is not suitable for this product.Version:1.7 or greater is required.
布禾
2020/10/29
1.4K0
安装多个jdk导致eclipse打不开问题
centos7配置JDK
列举匹配已安装的java的软件包:yum list installed | grep java
孙晨c
2019/09/10
1.3K0
linux jdk安装步骤(下载安装jdk)
1.linux虚拟机需要先连接互联网 2.命令行下载jdk安装包 3.jdk安装包解压安装及环境配置 4.直接在线安装jdk并配置运行环境。
全栈程序员站长
2022/07/28
8.2K0
linux jdk安装步骤(下载安装jdk)
Linux学习二配置远程执行Java 原
sudo update-alternatives --install /usr/bin/java java /usr/local/jdk1.8/bin/java 60
用户2603479
2018/08/15
4700
JAVA之 JDK安装及环境变量配置
Path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
shirayner
2018/08/10
5590
JAVA之 JDK安装及环境变量配置
Linux安装JDK
修改 vi /etc/profile,在文件最后配置JAVA_HOME、JRE_HOME。
Jacob丶
2020/10/29
8K0
Linux rpm安装jdk1.8
每次需要配置JDK的时候都需要去网上搜一下, 这次专门写下博客以备后用,虽然这个博客实在是太!简!单!了!
全栈程序员站长
2022/06/30
4.7K0
Linux rpm安装jdk1.8
Java JDK安装小谈
我用的是当前最新版jdk-7u10-windows-i586。 安装时有两个需要选择的安装路径,一个是JDK一个是JRE。两个最好安装在同一文件夹下。 jre7即为jre安装文件包。 接着便按步骤来,没什么难得。 最重要的是设置环境变量,网上的各种教程有些混乱,而且大多没讲清楚,这里简单说一下。 配置环境变量只需要配置两个参数:path和classpath。 网上有的教程配置了JAVA_HOME参数,这个就相当于把path和classpath路径名的前面一大长串用一个简单参数JAVA_HOME代
smy
2018/04/03
6990
Java JDK安装小谈
关于安装多个版本jdk之后java -version不正确的问题
问题描述: 今天突然想写一个socket通信的小应用,分别采用BIO、NIO、AIO的方式来实现,来复习前面看的关于TCP/UDP通信的知识。于是乎在原来安装了jdk1.6的机子上重新安装了jdk1.8。结果就出现了一个很蛋疼的问题:我原来的JAVA_HOME配置根本就没有改变,但是在命令行执行 java -version出现的却是1.8版本,而javac -version出现的是正常的1.6版本。 原因分析: 参考 http://www.oschina.net/question/942785_103000
SecondWorld
2018/03/14
1.4K0
JDK安装与环境变量配置「建议收藏」
在配置好环境变量后,可以进入cmd中检查Java是否安装正确,检查的命令为 java -version
全栈程序员站长
2022/08/25
4950
JDK安装与环境变量配置「建议收藏」
win10 64位系统中安装多个jdk版本的切换问题
由于电脑安装了myeclipse2017,同时又安装了idea2017,idea是最新版,必须使用jdk1.8以上,而myeclipse中的项目又需要低版本的jdk,所以在电脑上之前安装配置好了jdk1.8,后来又要安装jdk1.7,可以来回切换,但是过程中遇到了很多问题,总结一下。
黑泽君
2018/12/11
3K0
win10 64位系统中安装多个jdk版本的切换问题
电脑可以同时安装两个版本的jdk吗_jdk重复安装了怎么办
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
1.4K0
相关推荐
AnnotationTransactionAttributeSource is only available on Java 1.5 and higher和windows同时安装jdk7和jdk8
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档