3. 原始数据质量评估与常见问题

测序仪下机得到的 FASTQ 文件,是后续所有分析的地基。地基里混进什么,下游就会放大什么。原始数据质量评估的目标,不是给数据打一个"好/坏"的分数,而是把 FASTQ 中隐藏的几类典型缺陷定位到具体的读段位置、具体的样本、具体的批次,从而决定是"直接进入比对"、"先修剪再比对",还是"整批重测"。本节围绕低质量碱基、接头污染、重复序列、批次效应四类问题,讲清它们的信号特征、FastQC 的解读方式,以及从报告到处置的完整判断链。

FASTQ 里到底有什么可评估的

一条 FASTQ 记录由四行组成:以 @ 开头的序列标识、碱基序列、以 + 开头的分隔行、以及对应的质量字符串。质量字符是 Phred 质量值 Q 加上 33 后的 ASCII 码,Q 与错误率 p 的关系为 Q = -10·log₁₀(p)。Q20 对应 1% 错误率,Q30 对应 0.1%,Q40 对应 0.01%。FastQC 的"Per base sequence quality"图,横轴是读段上的碱基位置(1…150),纵轴是质量分箱,绿色区间为 Q28–Q36 附近的高质量区,黄色为 Q20–Q28 的警告区,红色为 Q20 以下的失败区。判断时不要只看中位数,要看下四分位线:如果第 100 位之后下四分位掉进黄色甚至红色,说明读段尾端已经不可靠。

一个常见的 Illumina 双端 150 bp 示例(以下数值为教学示例,非实测):前 20 位中位质量 Q36,第 120 位降到 Q30,第 145 位下四分位跌到 Q18。这种"尾端衰减"通常来自测序试剂的消耗和荧光信号的累积衰减,属于可预期的物理现象,处置方式是按质量修剪而非丢弃整条读段。

四类典型问题的信号与识别

低质量碱基:表现为质量曲线随位置下滑,或在特定位置出现尖峰式塌陷。后者往往不是化学问题,而是测序仪在该循环的聚焦或流动池局部异常,需要结合 tile 级信息判断。

接头污染:当插入片段长度小于读长时,读段 3' 端会读穿插入片段进入接头序列。FastQC 的 "Adapter Content" 模块会给出 Illumina Universal Adapter(AGATCGGAAGAGC)等序列随位置的累积比例。若第 130 位后接头比例超过 5%,说明该文库插入片段偏短,必须做接头修剪,否则这些碱基会被比对工具当作错配或软剪切处理,降低有效比对率。

重复序列:FastQC 的 "Sequence Duplication Levels" 给出不同重复次数序列的占比。需要区分两类:一类是 PCR 扩增引入的重复,属于文库构建缺陷,会虚高表达量差异的假阳性;另一类是基因组本身的高覆盖区域(如 rRNA、线粒体),属于生物学真实信号。判断依据是重复序列的序列组成——若重复序列高度集中在少数几条,更可能是 PCR 重复。

批次效应:这是唯一无法从单个 FastQC 报告看出的问题。它需要把多个样本的 FastQC 指标横向排列:如果第 2 批次的 6 个样本接头含量普遍高于第 1 批次,或某批次整体 GC 含量偏移 3% 以上,就提示建库或测序批次引入了系统性偏差。批次效应必须在实验设计阶段记录样本的建库日期、操作人员、测序 lane,否则事后无法归因。

原始数据质量评估:从 FASTQ 信号到处置决策 FASTQ 原始读段 @read_1 ACGT…AGATCGGAAGAGC + IIII…##$%&'()*+ ① 低质量碱基 尾端 Q 值下滑 / 局部塌陷 看下四分位线,非中位数 Q<20 区域需修剪 Per base quality 模块 ② 接头污染 插入片段 < 读长时读穿 AGATCGGAAGAGC 累积 末端 >5% 即需修剪 Adapter Content 模块 ③ 重复序列 PCR 重复 vs 基因组高覆盖 看重复序列的组成集中度 虚高差异表达假阳性 Duplication Levels 模块 ④ 批次效应 单样本报告看不出 需横向比较多样本 接头/GC 整体偏移 依赖建库/测序元数据 处置决策 直接比对 质量+接头修剪 去重 / 标记 批次校正或重测 FastQC 报告解读 绿/黄/红 = 通过/警告/失败 警告不等于必须处理 结合实验背景判断 多模块交叉验证

用 FastQC 跑出报告并读懂它

FastQC 的基本用法是逐文件或批量运行:

fastqc -t 4 -o ./qc_raw/ sample1_R1.fastq.gz sample1_R2.fastq.gz
# 批量
fastqc -t 8 -o ./qc_raw/ ./*.fastq.gz

输出为每个样本一个 HTML 报告和一个 zip 压缩包。报告顶部是 Summary 表,列出 12 个模块的通过状态。解读时遵循三条原则:第一,先看失败项,再看警告项,通过项可以快速略过;第二,警告不等于必须处理,例如 RNA-seq 中 "Per sequence GC content" 出现警告,若样本本身 GC 分布就宽,属于正常;第三,多模块交叉验证,接头污染会同时推高 Adapter Content 和 Overrepresented sequences,两者一致才可确认。

对于双端数据,还要注意 R1 和 R2 的质量曲线往往不对称。R2 通常整体质量略低,因为它的测序在 R1 之后进行,试剂消耗更多。如果 R2 的 Q30 比例比 R1 低 5 个百分点以内,属于正常范围;若低 15 个百分点以上,需要检查是否 R2 的测序引物结合效率存在问题。

从报告到处置的判断链

评估的终点是处置决策,而不是报告本身。可以按以下顺序推进:

  1. 质量修剪:用 Trimmomatic 或 fastp 按滑动窗口修剪。例如 SLIDINGWINDOW:4:20 表示 4 bp 窗口平均质量低于 Q20 就切断;LEADING:3 TRAILING:3 修剪首尾质量低于 Q3 的碱基。修剪后读长会缩短,需确认最短读长仍满足比对要求(一般 ≥36 bp)。
  2. 接头去除:fastp 默认开启接头检测,也可用 --adapter_sequence AGATCGGAAGAGC 显式指定。修剪后重跑 FastQC,确认 Adapter Content 降到 1% 以下。
  3. 重复处理:对 PCR 重复,可在比对后用 Picard MarkDuplicates 标记;对 UMI 文库,应在比对前按 UMI 去重。注意:去重会降低有效深度,需在实验设计时预留余量。
  4. 批次效应:若确认存在批次偏差,可在表达矩阵层面用 ComBat 或 limma removeBatchEffect 校正,但校正不能替代实验设计。若某批次质量整体不可接受,重测比事后校正更可靠。
判断阈值不是绝对的。Q30 比例 ≥85%、接头含量 ≤1%、重复率与文库复杂度匹配,是常见的可接受区间,但最终阈值应结合物种基因组大小、测序深度目标和下游分析对错误的敏感度来确定。
不要跳过原始数据评估直接进入比对。接头未去除会导致大量读段软剪切,重复未标记会虚高差异表达,批次未记录会让后续所有统计推断失去可解释性。原始数据评估是成本最低、收益最高的一步。

一份可复用的评估记录表

为了让评估结果可追溯、可比较,建议每个项目维护一份原始数据质量记录表。字段不必多,但必须覆盖"样本—批次—指标—处置"四要素:

样本批次Q30 比例接头含量重复率处置
S1_R1B192%0.3%8%直接比对
S2_R1B188%6.2%12%接头修剪+质量修剪
S3_R1B276%1.1%35%质量修剪+标记重复
S4_R1B290%0.5%9%直接比对

表中 S3 的 Q30 仅 76%、重复率 35%,提示该样本建库复杂度偏低,若其差异表达结果出现异常,应优先怀疑重复带来的假阳性。S2 的接头含量 6.2% 超过 5% 阈值,必须修剪。把这张表和 FastQC 报告一起归档,后续任何分析异常都可以回溯到原始数据层面,而不是在结果阶段反复猜测。

原始数据质量评估的核心,是把"数据看起来还行"变成"我知道哪一位碱基、哪一条读段、哪一个批次有问题,并且已经做了对应处置"。做到这一点,下游的比对、定量和差异分析才有可靠的前提。