FastQC可以对测序数据进行质控来评估测序质量的好坏。
本期将演示如何使用FastQC对二代测序数据进行质控以及对质控报告进行全方位的解读。
http://www.bioinformatics.babraham.ac.uk/projects/fastqc
## conda安装
conda install -y fastqc
## 编译安装
# 下载软件
wget https://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.9.zip
# 解压软件
unzip fastqc_v0.11.9.zip
# 进入软件目录
cd FastQC/
# 赋予软件可执行权限
chmod 755 fastqc
# 将软件添加到环境变量
vim ~/.bashc
PATH=/opt/biosoft/FastQC:$PATH
source ~/.bashrc
Tips:①wget无法下载时建议用浏览器下载后自行传入服务器;②手动安装软件时建议统一归入到一个文件夹便于管理;③将软件添加到环境变量时需要根据自己软件安装位置进行添加。
# 创建data文件夹后进入,下载测试数据
mkdir data;cd data
wget https://sra-download.ncbi.nlm.nih.gov/traces/sra60/SRR/019431/SRR19897777
wget https://sra-download.ncbi.nlm.nih.gov/traces/sra72/SRR/019431/SRR19897633
若后续地址更新,原链接无法下载,建议自行到NCBI搜索下载
# 将下载的测序文件添加.sra后缀,以便让fastq-dump识别
ls | while read i ;do mv $i $i.sra;done
# 将sra文件转化为fastq文件
fastq-dump --split-files SRR19897*
Tips:①wget下载的数据没有后缀,直接用fastq-dump处理会报错,因此需要对其重命名加上".sra"后缀;②"SRR19897*"中的"*"是正则表达式,表示"*"前面的元字符出现任意次数或不出现。在示例中表示SRR19897777.sra和SRR19897633.sra两个文件。③fastq-dump会将sra格式转化成fastq格式,示例SRR19897777.sra会被转化为SRR19897777_1.fastq和SRR19897777_2.fastq;SRR19897633.sra会被转化为SRR19897633_1.fastq和SRR19897633_2.fastq
-o : 将输出文件存放在此文件夹中。此文件夹需要提前建立,否则不会生成结果文件。不设置此参数,默认将结果文件输出到输入文件所在文件夹;
-f : 指定输入文件的格式。格式有:bam,sam,bam_mapped,sam_mapped,fastq;
-t : 并行计算最大任务数。
mkdir fastqc_out
fastqc -t 2 -f fastq -o fastqc_out/ SRR19897*
# FastQC主要结果文件
SRR19897633_1_fastqc.html
SRR19897633_2_fastqc.html
SRR19897777_1_fastqc.html
SRR19897777_2_fastqc.html
FastQC会为每个输入文件生成一个以html为后缀的网页型结果,下面将以SRR19897633_1_fastqc.html为例带大家对质控结果进行解读
质检报告提供了以下信息(绿勾合格,黄色叹号警告,红叉不合格):①Basic Statistics、②Per base sequence quality、③Per sequence quality scores、④Per base sequence content、⑤Per sequence GC content、⑥Per base N content、⑦Sequence Length Distribution、⑧Sequence Duplication Levels、⑨Overrepresented sequences、⑩Adapter Content
Basic Statistics:包括Filename(文件名)、File type(文件类型)、Encoding(测序平台)、Total Sequences(总序列数)、Sequences flagged as poor quality(低质量测序碱基数)、Sequence length(序列长度,给出最短和最长的序列长度,若是所有序列长度一致,则只给出一个值)和%GC(所有序列总的GC含量)。
Per base sequence quality:序列每个位点对应的碱基质量分布。x轴是测序reads的位点,y轴是碱基质量;红线表示中位数;蓝线代表平均质量。
示例数据中,序列碱基质量分布主要集中在绿色区域,表明测序质量很好。
Per sequence quality scores:序列平均质量频数。x轴是平均碱基质量值,y轴是平均碱基质量值对应的reads数。如果频数最大的平均碱基质量值低于27,则统计结果为Warning;如果频数最大的平均碱基质量值低于20,则统计结果为Failure。
示例数据中,频数最大的平均碱基质量值在37左右的位置,表明测序质量很好。
Per base sequence content:统计序列每个位点的碱基(ATGC)含量。如果有位点的A和T、或G和C的含量差异高于10%,则统计结果为Warning;如果有位点的A和T、或G和C的含量差异高于20%,则统计结果为Failure。
示例数据中,起始位置碱基波动严重,后续分析需要对该区间进行过滤。
Per sequence GC content:统计每个序列GC含量的频数。红色线是实际值,蓝色线是理论值。峰值位点对应着总体GC含量。红色线条的值和蓝色线条的值相比得到偏差值,所有位点偏差总和如果超出所有reads的15%,则统计结果为Warning;如果超出30%,则统计结果为Failure。
示例数据中测序数据GC含量和理论值差异较大,可能是由于测序偏向性(某特定区域会被反复测序)造成的。
Per base N content:每个位点的N含量。如果有位点的N含量>5%,则统计结果为Waming;N含量>20%,则统计结果为Failure。
示例数据中N含量几乎为0,表明测序质量很好。
Sequence length distribution:序列长度分布。如果所有的序列不是一样长度,则结果为Warning;如果有序列的长度为0,则为Failure。
示例数据中未见明显小片段reads,表明测序质量较好(Warning为正常现象)。
Sequence Duplication Levels :统计重复序列的含量。图中x轴为reads重复的次数: y轴为重复指次数对应的reads占unique reads的比例。序列重复比例越高,则表明实际有用的序列越少。如果序列重复水平值大于20%,则结果为Warning;重复水平值大于50%,则为Failure。
示例数据中重复序列水平值小于20%,测序质量很好。
Ovrrepesented sequences:统计过表达的序列。某一条序列占总序列的 0.1%,则被鉴定为过表达序列。
示例数据中无过表达序列。
Adapter Content:接头序列(adapter sequence)比例。x轴是测序reads的位点,纵坐标表示该位置的碱基为测序接头序列碱基的百分比。
示例数据中接头序列已基本去除。