一文掌握FastQC使用及结果解读
一文掌握FastQC使用及结果解读
FastQC是由Babraham Bioinformatics团队开发的一款用于生成高通量测序原始数据可交互式质控报告的工具。它支持多种测序类型(如基因组测序、ChIP-Seq、RNA-Seq、BS-Seq等),并且可以在Windows、MacOS和Linux系统中使用。FastQC的主要功能包括输入BAM、SAM、FastQ文件,快速提供数据质量概况,生成评估数据的图表,输出HTML格式的报告,以及支持脱机自动化处理。
代码
FastQC的使用非常简单,可以通过Conda进行安装和使用:
# 安装FastQC
conda install fastqc
# 调用FastQC
fastqc -t 12 -o out_path sample1_1.fq sample1_2.fq
以上命令中各参数的含义如下:
fastqc
:调用FastQC程序的方式。-t 12
:指定FastQC将并行使用的线程数为12。-o out_path
:指定输出结果的目录。sample1_1.fq sample1_2.fq
:输入的测序数据文件,通常代表一个样本的双端测序数据。
运行结果示例及解读
一份完整的FastQC结果包含多个模块,每个模块都有其特定的含义和解读方式:
图1. FastQC结果模块概览
1. Per base sequence quality
这个模块显示了每个碱基位置的质量分布。正常的结果应该显示碱基质量全在Q30以上,而质量低的结果则包含大量Q30以下的序列,且质量随着读长增加而下降。
图2. 正常的碱基质量分布
图3. 低质量的碱基质量分布
对于三代测序(如PacBio)来说,测序质量通常较低:
图4. PacBio测序的碱基质量分布
2. Per tile sequence quality
这个模块显示了每个tile的测序质量。横轴表示碱基位置,纵轴表示tile的index编号。蓝色表示测序质量很高,暖色表示测序质量不高。这个图主要是为了防止在测序过程中某些tile受到不可控因素的影响而出现测序质量偏低。
图5. 正常的tile质量分布
3. Per sequence quality scores
这个模块显示了每个reads的平均质量分布。低质量结果会在Q30以下的部位出现一些杂峰,而高质量结果的峰值在Q30以上且无杂峰。
图6. 高质量的reads质量分布
图7. 低质量的reads质量分布
4. Per base sequence content
这个模块显示了reads中对应位置上的平均碱基比例。由于样本、扩增、建库、测序的偏好性,四种碱基的含量未必严格遵循25%,但不应随读长的增加而剧烈改变。好的结果曲线相对平滑,而坏的测序结果显示各曲线存在抖动的情况。
图8. 正常的碱基含量分布
图9. 异常的碱基含量分布
5. Per sequence GC content
这个模块显示了各个序列的GC分布情况。正常情况下,这个分布应该近似正态分布。低质量测序会偏离理论曲线。一般来说,基因组测序的GC含量较为稳定,一般在45%~55%,而RNA-Seq有时会显得很离谱。并且无论与正态分布相比偏移多少,都应只出现一个峰,若出现多个峰则可能有其他物种的污染。
图10. 正常的GC含量分布
图11. 异常的GC含量分布
6. Per base N content
这个模块显示了N碱基的含量分布。显然任何序列、任何位置下N的出现都不是一个好信号,这个值应该越低越好。
图12. 正常的N碱基含量分布
图13. 异常的N碱基含量分布
7. Sequence Length Distribution
这个模块显示了序列长度的分布。在正常情况下,序列长度应该是一致的。
图14. 正常的序列长度分布
图15. 异常的序列长度分布
8. Sequence Duplication level
这个模块显示了序列的重复水平。正常情况下很少会出现一模一样的read,如果出现大量重复的read(count大于0.1%)会被认定为异常重复序列,可能是由技术序列或特殊的生物序列引入的。RNA-Seq数据中会存在由大量线粒体mRNA所引入的重复序列,这也会导致其他指标如GC含量的波动。
图16. 正常的序列重复水平
图17. 异常的序列重复水平
9. Adaptor Content
这个模块显示了reads对应位置的测序接头含量。未修剪的reads会在两端存在接头,而修剪后的reads接头含量应该趋近于零。
图18. 未修剪的接头含量
图19. 已修剪的接头含量
参考资料
- FastQC官方教程:https://www.bioinformatics.babraham.ac.uk/projects/fastqc/
- Babraham Bioinformatics培训资源:https://www.bioinformatics.babraham.ac.uk/training.html