fastqc_report解释

本文介绍如何使用FastQC工具评估二代测序原始数据的质量,包括各项指标的意义及阈值设定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当二代测序的原始数据拿到手之后,第一步要做的就是看一看原始reads的质量。常用的工具就是fastqc (http://www.bioinformatics.babraham.ac.uk/projects/fastqc/)。fastqc的详细使用说明:http://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/

我们在服务器上用命令行来运行fastqc:
fastqc [-o output dir] [--(no)extract] [-f fastq|bam|sam] [-c contaminant file] seqfile1 .. seqfileN
-o用来指定输出文件的所在目录,注意是不能自动新建目录的。输出的结果是.zip文件,默认自动解压缩,命令里加上--noextract则不解压缩。-f用来强制指定输入文件格式,默认会自动检测。-c用来指定一个contaminant文件,fastqc会把overrepresented sequences往这个
contaminant文件里搜索。contaminant文件的格式是"Name\tSequences",#开头的行是注释。加上 -q 会进入沉默模式,即不出现下面的提示:
Started analysis of target.fq
Approx 5% complete for 
target.fq
Approx 10% complete for 
target.fq

如果输入的fastq文件名是target.fq,fastqc的输出的压缩文件将是target.fq_fastqc.zip。解压后,查看html格式的结果报告。结果分为如下几项:

[转载]fastqc结果解释
结果分为绿色的"PASS",黄色的"WARN"和红色的"FAIL"。“You should treat the summary evaluations therefore as pointers to where you should concentrate your attention and understand why your library may not look random and diverse. ”

1 Basic statistics
如下面例子所示:
[转载]fastqc结果解释

2 Per base sequence quality
quality就是Fred值,-10*log10(p),p为测错的概率。所以一条reads某位置出错概率为0.01时,其quality就是20。图像如下面例子:
[转载]fastqc结果解释

横轴代表位置,纵轴quality。红色表示中位数,黄色是25%-75%区间,触须是10%-90%区间,蓝线是平均数。
若任一位置的下四分位数低于10或中位数低于25,报"WARN";若任一位置的下四分位数低于5或中位数低于20,报"FAIL".

[转载]fastqc结果解释

3 Per Sequence Quality Scores
每条reads的quality的均值的分布:

[转载]fastqc结果解释

横轴为quality,纵轴是reads数目。当出现上图的情况时,我们就会知道有一部分reads具有比较差的质量。
当峰值小于27(错误率0.2%)时报"WARN",当峰值小于20(错误率1%)时报"FAIL"。

4 Per Base Sequence Content
对所有reads的每一个位置,统计ATCG四种碱基(正常情况)的分布:

[转载]fastqc结果解释

横轴为位置,纵轴为百分比。正常情况下四种碱基的出现频率应该是接近的,而且没有位置差异。因此好的样本中四条线应该平行且接近。当部分位置碱基的比例出现bias时,即四条线在某些位置纷乱交织,往往提示我们有overrepresented sequence的污染。当所有位置的碱基比例一致的表现出bias时,即四条线平行但分开,往往代表文库有bias (建库过程或本身特点),或者是测序中的系统误差。
当任一位置的A/T比例与G/C比例相差超过10%,报"WARN";当任一位置的A/T比例与G/C比例相差超过20%,报"FAIL"。

Per Sequence GC Content
统计reads的平均GC含量的分布。

[转载]fastqc结果解释

红线是实际情况,蓝线是理论分布(正态分布,均值不一定在50%,而是由平均GC含量推断的)。曲线形状的偏差往往是由于文库的污染或是部分reads构成的子集有偏差(overrepresented reads)。形状接近正态但偏离理论分布的情况提示我们可能有系统偏差。
偏离理论分布的reads超过15%时,报"WARN";偏离理论分布的reads超过30%时,报"FAIL"。

Per Base N Content
当测序仪器不能辨别某条reads的某个位置到底是什么碱基时,就会产生“N”。对所有reads的每个位置,统计N的比率:

用FastQC检查二代测序原始数据的质量 - 静渊 - 静渊的学习日志正常情况下N的比例是很小的,所以图上常常看到一条直线,但放大Y轴之后会发现还是有N的存在,这不算问题。当Y轴在0%-100%的范围内也能看到“鼓包”时,说明测序系统出了问题。当任意位置的N的比例超过5%,报"WARN";当任意位置的N的比例超过20%,报"FAIL"。

Sequence Length Distribution
reads长度的分布。

[转载]fastqc结果解释

当reads长度不一致时报"WARN";当有长度为0的read时报“FAIL”。

Duplicate Sequences
统计序列完全一样的reads的频率。测序深度越高,越容易产生一定程度的duplication,这是正常的现象,但如果duplication的程度很高,就提示我们可能有bias的存在(如建库过程中的PCR duplication)。

[转载]fastqc结果解释

横坐标是duplication的次数,纵坐标是duplicated reads的数目,以unique reads的总数作为100%。上图的情况中,相当于unique reads数目~20%的reads是观察到两个重复的,~7%是观察到三次重复的,依此类推。
可以想象,如果原始数据很大(事实往往如此),做这样的统计将非常慢,所以fastqc中用fq数据的前200,000条reads统计其在全部数据中的重复情况。重复数目大于等于10的reads被合并统计,这也是为什么我们看到上图的最右侧略有上扬。大于75bp的reads只取50bp(不知道怎么选的)进行比较。但由于reads越长越不容易完全相同(由测序错误导致),所以其重复程度仍有可能被低估。
当非unique的reads占总数的比例大于20%时,报"WARN";当非unique的reads占总数的比例大于50%时,报"FAIL“。

9 Overrepresented Sequences
如果有某个序列大量出现,就叫做over-represented。fastqc的标准是占全部reads的0.1%以上。和上面的duplicate analysis一样,为了计算方便,只取了fq数据的前200,000条reads进行统计,所以有可能over-represented reads不在里面。而且大于75bp的reads也是只取50bp。如果命令行中加入了-c contaminant file出现的over-represented sequence会从contaminant_file里面找匹配的hit(至少20bp且最多一个mismatch),可以给我们一些线索。
当发现超过总reads数0.1%的reads时报”WARN“,当发现超过总reads数1%的reads时报”FAIL“。

[转载]fastqc结果解释


10 adapter

 
[转载]fastqc结果解释
11 Kmer content
[转载]fastqc结果解释
[转载]fastqc结果解释
TrimmomaticPE: Started with arguments: -threads 4 -phred33 /public/home/xiaoshunpeng/00-mergeRawFq/P-T-H-K16-2/P-T-H-K16-2_raw_1.fq.gz /public/home/xiaoshunpeng/00-mergeRawFq/P-T-H-K16-2/P-T-H-K16-2_raw_2.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_trimmed_1.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_unpaired_1.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_trimmed_2.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_unpaired_2.fq.gz ILLUMINACLIP:/public/home/xiaoshunpeng/miniconda3/envs/chip-seq/share/trimmomatic-0.39-2/adapters/TruSeq3-PE.fa LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 at org.usadellab.trimmomatic.trim.IlluminaClippingTrimmer.makeIlluminaClippingTrimmer(IlluminaClippingTrimmer.java:54) at org.usadellab.trimmomatic.trim.TrimmerFactory.makeTrimmer(TrimmerFactory.java:32) at org.usadellab.trimmomatic.Trimmomatic.createTrimmers(Trimmomatic.java:59) at org.usadellab.trimmomatic.TrimmomaticPE.run(TrimmomaticPE.java:552) at org.usadellab.trimmomatic.Trimmomatic.main(Trimmomatic.java:80) 我的代码:java -jar /public/home/xiaoshunpeng/miniconda3/envs/chip-seq/share/trimmomatic-0.39-2/trimmomatic.jar PE -threads 4 -phred33 \ /public/home/xiaoshunpeng/00-mergeRawFq/P-T-H-K16-2/P-T-H-K16-2_raw_1.fq.gz /public/home/xiaoshunpeng/00-mergeRawFq/P-T-H-K16-2/P-T-H-K16-2_raw_2.fq.gz \ /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_trimmed_1.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_unpaired_1.fq.gz \ /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_trimmed_2.fq.gz /public/home/xiaoshunpeng/chip_fastqc/P-T-H-K16-2_report/fastqc/trimmed/P-T-H-K16-2_unpaired_2.fq.gz \ ILLUMINACLIP:/public/home/xiaoshunpeng/miniconda3/envs/chip-seq/share/trimmomatic-0.39-2/adapters/TruSeq3-PE.fa \ LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36
07-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值