fast_qc是一款用于测序数据质量分析的java软件,它的使用非常简单,这篇文章只简单记录fast_qc的使用方法,以及如何读懂fast_qc的图形化报告。
fastqc [-o output dir] [--(no)extract] [-f fastq|bam|sam] [-c contaminant file] seqfile1...seqfileN
-o --outdir #fast_qc生成的报告文件的储存路径
--extract #fast_qc在运行时默认会将生成的所有文件打包到1个压缩文件里(使用该参数便不再打包)
-t --threads #选择程序运行的线程数(每个线程占用250M内存)
-f #强制指定输入文件格式(可以是fastq or bam or sam)
-c --contaminants #污染物选项,输入为文件(文件格式"Name\tSequences",fastqc计算时会评估污染的情况并统计分析)
-a --adapter #接头选项,输入为文件(文件格式"Name\tSequences",储存adapter序列信息,如果没有使用该选项,fastqc会默认使用通用引物序列评估adapter污染)
1. Basic statistics
有效信息:
- 总序列数量
- 被标记为低质量序列的数目
- 测序长度
-
GC含量
base statistics
2. Per base sequence quality
这张图可以清晰得展示测序数据的质量值分布:
涉及fastq文件中“碱基质量值Q”的理解(参考:https://www.jianshu.com/p/39115d21ee17)
图中各项元素的统计学意义:
- 横轴:测序序列的第1个-第150个碱基(图中只取到99)
- 纵轴:碱基质量值Q(Q越大,质量越好)
- 每1个boxplot都是该位置所有序列的碱基Q值的统计:
上面的bar是90%分位数;
箱子的上边是75%分位数;
箱子中的横线是50%分位数;
箱子的下边是25%分位数;
下面的bar是10%分位数 - 蓝色的细线是各个位置的平均值的连线
我们通常取用Q>20的碱基用于后续分析,图中可以看到90bp之后,碱基质量值Q的10%分位数便始终低于20,因此可以把90bp之后的序列切除。

3. Per sequence quality scores
- 横轴:平均测序质量值(Q)
- 纵轴:reads的数目
该图绝大多数reads的平均测序质量Q值在35以上

4. per tile sequence quality
分析flowcell上不同的物理位置的测序质量分布情况,观察是否存在系统误差(fastq文件的第一行通常记录有tile编号)
- 横轴:测序序列的第1个-第150个碱基
- 纵轴:flowcell上tile的编号
- 蓝色代表质量分数较好,绿色代表质量分数差
图中可以看到,刚开始测序时每个tile的测序质量都很好,随着读长的增加,一些个别的tile(如1201)很早便出现测序质量降低的情况

5. Per base sequence content
- 横轴:测序序列的第1个-第150个碱基
- 纵轴:AGCT碱基在每个位置上的百分含量
理论上讲,A与T相等,C与G相等,但是测序刚刚开始时由于仪器不稳定,很可能出现图中所示的情况。因此,即使测序质量很高,也需要切掉开始的部分序列信息。

6. Per sequence GC content
- 横轴:平均GC含量百分比
- 纵轴:序列数量
- 蓝色的线:是程序根据经验分布给出的理论值
- 红色的线:测序数据的真实GC含量分布
因为不同物种的核酸中,GC含量不同,因此如果红色的线出现双峰,很有可能数据中混入其他物种的DNA序列

7.Sequence Length Distribution
- 横轴:测序长度(单位为bp)
- 纵轴:测序序列的数目
理论上讲,测序仪读出的reads长度应该是完全相等的,但是总有一些偏差。不过偏差通常都在1bp之内,不会影响后续分析。如果偏差较大,则说明仪器在此次run中存在问题。

8. Adapter content
- 横轴:测序序列的第1个-第150个碱基
- 纵轴:adapter碱基的含量
这张图中,最后30多bp碱基中存在一定比例的adapter序列,通常是由于建库过程中,部分插入片段过短造成的 (低于读长150bp)。
这种情况,需要在后续分析的时候需要先使用cutadapt软件进行去接头

9.Sequence Duplication Levels
- 横轴:重复次数
- 纵轴:百分比
- 蓝色线:描述总测序序列的重复率
- 红色线:描述重复序列的重复率
从图中的蓝线可以看出,60%的测序序列是uniq序列(只有一条),20%的测序序列存在2条相同的序列,10%左右的测序序列存在3条相同的序列;从红线可以看出,80%的重复序列重复出现2次,15%的重复序列出现3次,3%的重复序列出现4次

实验层面如何减少duplication?
- 提高原始DNA含量(减少多次PCR产生的PCR bias)
- 建库时DNA片段长度尽可能均一
分析层面如何减少duplication?
- GATK/Picard: MarkDuplicates
- Samtools: rmdup
- Opengen: gencore
网友评论