输出解读:FastQC 报告长什么样

你拿到一份 FastQC 报告,第一眼扫过去——嗯,感觉就是一张网页。

我习惯用最简单的方式来理解它:一页纸,三块内容。说白了,就是顶部有个摘要栏,中间一排圆点图,下面跟着一堆详细的图表。别被那一长串模块名吓到,其实逻辑很清楚。

我个人习惯把报告当成问诊单。每个模块就是一个检查项,绿勾代表健康,黄叹号代表异常,红叉就是需要立即处理。你想想看,这跟体检表没什么两样。

报告的核心模块速查

先快速过一遍:FastQC 报告里到底有哪些“体检项目”?

模块名称 颜色意义 核心指标
Basic Statistics 绿/黄/红 总 reads 数、read 长度、GC 含量
Per base sequence quality 绿/黄/红 每个碱基位置的 Q 值中位数
Per tile sequence quality 绿/黄/红 泳道是否出现局部质量下降
Per sequence quality scores 绿/黄/红 所有 reads 的平均质量分布
Per base sequence content 绿/黄/红 A/T/G/C 在各位点的比例
Per sequence GC content 绿/黄/红 GC 含量分布与理论分布是否吻合
Per base N content 绿/黄/红 每个位点 N 的比例(未知碱基)
Sequence Length Distribution 绿/黄/红 read 长度是否一致
Sequence Duplication Levels 绿/黄/红 重复序列比例
Overrepresented sequences 绿/黄/红 是否出现高丰度异常序列
Adapter Content 绿/黄/红 接头残留比例
Kmer Content 绿/黄/红 常见短序列是否均匀分布

你看这张表,12 个模块,每个都有检视目标。

我的经验是:不要一上来就盯着绿勾看。先扫黄、红两列。如果某个模块标黄,可以稍微关注;标红,那就必须追根究底。我在项目中也因为忽略了 Yellow Flag,结果后续分析花了两倍时间调试。

详细解读核心区域

第一块:基础统计面板

报告最上方就是 Basic Statistics 信息。它不会给你画图,直接给数字。

Filename: sample_R1.fastq
File type: Conventional base calls
Encoding: Sanger / Illumina 1.9
Total Sequences: 5242880
Sequences flagged as poor quality: 0
Sequence length: 150
%GC: 42.5

为什么要看这个?说白了,这是你整个数据的“人口普查”。

总 reads 数决定你后续统计能不能站稳。%GC 如果跟预期物种 GC 差异很大(比如人类 40% 上下,要是突然跳到 70%),那就可能混入了其他生物。我在项目中遇到过一次,看起来 GC 含量正常,但仔细一看 Total Sequences 少了一个数量级——原来是数据被截断了。

第二块:Per base sequence quality

这个图是我个人看得最勤的。它展示每个碱基位点的质量分布。

  • X 轴:碱基位置(1~150)
  • Y 轴:Q 值(0~40)
  • 蓝线:平均质量
  • 红/橙线:中位数
  • 黄线:下四分位
  • 绿线:上四分位

评判标准很简单:

  • 中位数持续处于绿色区域(Q≥28),基本合格。
  • 如果尾巴位置中位数掉到黄色区(Q<28),需要截短。
  • 一旦掉进红色区(Q<20),建议直接丢弃尾部。
一个实用技巧:不要只看平均值。我见过一份报告,平均值看起来不错,但中位数在尾部已经崩了。原因是前段质量很高、后段很低,平均值被前段拉高了。你懂我意思吗?平均值有时会骗人。

第三块:Per tile sequence quality

这个图你平时可能不看,但出问题的时候它简直是大杀器。

它会按照测序芯片的泳道(tile)来展示局部质量。如果某个 tile 整体颜色发红,意味着那片区域的质量有问题。我记得有一次项目跑出来的数据整体都不太对劲,Per tile 图一打开才发现——泳道边缘的 tile 全是红色。结果是我们用了芯片边缘区域跑了测序,质量崩了。

第四块:Adapter Content

接头残留一直是实验员和生信工程师之间的经典纠纷。FastQC 会直接告诉你:哪些位置出现了接头序列。

通常我们会希望这个模块是绿勾。如果出现黄或者红,就意味着有接头污染。

Adapter   Position   % of reads
Illumina Universal Adapter   1-50   4.37%
Small RNA 3' Adapter   1-50   1.21%
Nextera Transposase Sequence   1-50   0.08%

遇到这种情况,我建议先跑一下 cutadapt 或者 Trimmomatic 去接头,再回头用 FastQC 校验。不要抱着侥幸心理——接头残留会在后续组装或比对中引入大量虚假变异。

我曾经踩过坑:有一次项目里数据大部分模块都是绿勾,唯独 Adapter Content 是黄色。我当时觉得就一点点,放弃处理。结果后续变异检测时发现几千个假阳性位点,排查了三天才找到根因——就是那 1% 的接头残留导致 reads 非特异性比对。从那以后,我对 Adapter Content 一律零容忍。
FastQC HTML报告结构 FastQC HTML报告 摘要侧边栏 详细模块列表 基本信息 绿色/黄色/红色警告统计 总体判定 基础统计 Per base quality / Per tile quality Sequence Duplication / Adapter 综合判定流程 扫描警告 → 定位异常模块 → 检查原始图表 → 制定处理策略 🔍 最佳实践: 1. 先看摘要侧边栏的颜色统计,快速定位问题模块 2. 重点关注 Per base quality、Adapter Content 和 Duplication 三组核心 3. 异常模块必须回到 Raw data 确认,不要只看 FastQC 过膝报告

快速定位问题区域的方法

我总结了一个三步走的流程,不绕弯子:

  1. 扫颜色:打开报告,不要看内容,直接看顶部模块的圆点颜色。记下所有黄点和红点。
  2. 对模块:对照上面那张表格,明确每个黄/红点的检查对象。如果是 Per base quality 红了,说明质量衰减严重;如果是 Adapter Content 红了,说明接头未去除。
  3. 看图表:点进对应的详细模块,看原始数据图。比如 Per base quality 会展示箱线图;Adapter Content 展示折线图。图表可以直接告诉你问题的严重程度和模式。
一个常见的陷阱:有的人只看到 Per base quality 黄了,就急着截短。但实际上可能只是前几个碱基读数不稳定,后段质量很好。如果直接截掉前 10bp,反而浪费了高质量数据。所以一定要结合图表细节来判断。

结语

FastQC 的报告结构其实很友好。它先给你一个总览,再层层深入。你只要掌握这张“结构地图”,以后看任何一份报告都不会慌乱。

我个人习惯在每次数据交付前,把报告从头到尾翻一遍。不是走马观花,而是逐个模块确认。说白了,这就是一份数据健康证明。如果不合格,就绝不能进入下游分析。我在一次项目中就因为求快,跳过了检查步骤,结果分析结果总是复现不了——浪费了三周时间。从那以后,我养成了“看报告成了习惯,而不是任务”的节奏。