MultiQC简介
NGS技术的进步催生了新的实验设计、分析类型和极高通量测序数据的生成。对于这些数据的质量评估,每一步分析结果的评估是后续结果可信度的衡量和保障。不少生信工具都可以给样品生成一个评估结果,如FastQC等许多生信软件。
但是这时又出现了一个难题,那就是几乎所有的质控工具都是针对单个样本生成一个报告,这就要求用户自己去逐一查找各个QC结果,这无疑是个十分耗时、重复又复杂的事,而且还不能快速看出所有样本的异同。
那能否把所有质控结果整合在一起呢?答案是可以的
一个基于Python的小工具:MultiQC,很好地解决了这个繁琐的事情
其强大的功能主要体现在以下三个方面:
- 能将测序数据的多个QC结果整合成一个HTLM网页交互式报告,同时也能导出pdf文件;
- 支持多种分析类型的质控结果查看,如:
RNAseq、Whole-Genome Seq、Bisulfite Seq、Hi-C和MultiQC_NGI; - 支持整合68种软件分析的结果,而且支持的软件还在持续增加
一、 MultiQC的安装
关于MultiQC的安装,可查看MultiQC的官网MultiQC,官网上提供了三种安装方式,如下所示(建议使用第二种)
- pip
pip install multiqc # Install
multiqc . # Run
- conda
conda install -c bioconda -c conda-forge multiqc # Install
multiqc . # Run
- manual
git clone https://github.com/ewels/MultiQC.git
python setup.py install
multiqc .
建议使用第二种
conda安装方式
选择conda安装MultiQC的前提是需要先安装Anaconda或Miniconda
Anaconda的安装
Anaconda的安装可参考下面的文章
安装MultiQC
在已安装Anaconda或Miniconda的linux系统中输入以下命令
conda install -c bioconda -c conda-forge multiqc
按<y>键同意
安装完成
二、 MultiQC的使用
1. 下载SRA序列
- 在NCBI的SRA数据库挑选几个感兴趣的SRR文件进行下载
- 挑选了一些小一点的文件,如下
- 使用
prefetch命令下载上述SRR文件(前提要先安装SRA-tools,安装教程可参考SRA-tools的安装)
下载SRA文件的方法有很多,比如
aspera等软件,这里以SRA-tools的prefetch命令下载SRR文件为例
prefetch SRR17009175
prefetch SRR15971013
prefetch SRR15971001
prefetch SRR15971005
- 下载完成之后,将下载的SRA文件复制(
cp)或移动(rm)到指定文件夹(SRA)下
2. 解压SRA文件为fastq格式
解压SRA文件有两种方法,分别为逐个解压和批量解压
- 逐个解压
fastq-dump --gzip --split-files SRR15971001.sra
fastq-dump --gzip --split-files SRR15971005.sra
fastq-dump --gzip --split-files SRR15971013.sra
fastq-dump --gzip --split-files SRR17009175.sra
这里--gzip参数是为了生成压缩为gz格式的fastq文件,以节省磁盘空间
- 批量解压
- 新建脚本文件
vi fqdump.sh
- 输入以下代码
#!/bin/sh
for i in *sra
do
echo $i
fastq-dump --gzip --split-files $i
done
保存并退出:wq
- 运行脚本
sh fqdump.sh
这里使用批量解压的方式解压SRA文件
- 解压后如下图所示
因为是双端测序,所以每个样本有正向和反向两个文件
3. 用FastQC进行数据质量测评
- 安装
FastQC - 执行下列命令
fastqc SRR15971001_1.fastq.gz
fastqc SRR15971001_2.fastq.gz
fastqc SRR15971005_1.fastq.gz
fastqc SRR15971005_2.fastq.gz
fastqc SRR15971013_1.fastq.gz
fastqc SRR15971013_2.fastq.gz
fastqc SRR17009175_1.fastq.gz
fastqc SRR17009175_2.fastq.gz
得到fastqc.zip和fastqc.html文件
4. 使用MultiQC整合多个质控结果
- 在当前路径输入以下命令
multiqc .
结果如下
-
生成了两个文件,1个
html报告和1个multiqc_data的文件夹,前者直接网页打开就可以查看,后者包含一些数据基本的统计信息和日志文档 -
可以把
multiqc_report.html下载到本地,用windows的浏览器打开,也可以直接在图形界面打开查看
这里以Ubuntu的图形界面打开查看为例
firefox multiqc_report.html &
三、 结果分析
1. General Statistics
所有样本数据基本情况统计
%Dups——重复reads的比例
%GC——GC含量占总碱基的比例,比例越小越好
M Seqs——总测序量(单位:millions)
2. Sequence Counts
序列计数
这里可以看到重复reads,我找的这八个序列中前六个重复reads比例都偏高,说明这些样本的序列中有用的reads数目较少
3. Sequence Quality Histograms
每个read各位置碱基的平均测序质量
绿色区间——质量很好
橙色区间——质量合理
红色区间——质量不好
此处可以看出我的8个样本均落在绿色区间,测序质量还不错
4. Per Sequence Quality Scores
具有平均质量分数的reads的数量
绿色区间——质量很好
橙色区间——质量合理
红色区间——质量不好
可以看出这八个序列的整体测序质量还是很不错的,所有的都在绿色区域
5. Per Base Sequence Content
每个read各位置碱基ATCG的比例
结果显示八个序列都报错,说明每个位置每种碱基出现的概率差别很大,可能有过表达序列的污染
6. Per Sequence GC Content
reads的平均GC含量
正常的样本的GC含量曲线会趋近于正态分布曲线,曲线形状的偏差往往是由于文库的污染或是部分reads构成的子集有偏差(overrepresented reads)。形状接近正态但偏离理论分布的情况提示我们可能有系统偏差
这里结果显示部分序列被报错,从形状上来看曲线和正态曲线相差甚远,可能是由于文库的污染或是部分reads构成的子集有偏差造成的
7. Per Base N Content
每条reads各位置N碱基含量比例
当测序仪器不能辨别某条reads的某个位置到底是什么碱基时,就会产生“N”,统计N的比率,正常情况下,N值非常小
说明测序仪器能辨别这八个序列中每条reads的每个位置的碱基
8. Sequence Length Distribution
序列长度分布
对于这八个序列,每次测序仪测出来的长度主要都在75bp
9. Sequence Duplication Levels
每个序列的相对重复水平
测序深度越高,越容易产生一定程度的duplication,这是正常的现象,但如果duplication的程度很高,就提示我们可能有bias的存在
八个序列中其中六个的重复reads的程度都超过了范围,unique reads比例偏少
10. Overrepresented sequences
文库中过表达序列的比例
这八个序列中有四个过表达的序列的比例都远远超过1%,这种情况,可能是这种转录本巨量表达,或者是样品被污染
11. Adapter Content
接头含量
SRR17009175的两个序列接头含量比较多,含量接近50%,可能是因为序列太短导致的
总的来说这些样本测序质量还可以,但重复序列有点多,GC含量有点不太正常,很有可能存在样品被污染的情况,也可能是与挑选样本随机性影响有关