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,否则事后无法归因。
用 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 的测序引物结合效率存在问题。
从报告到处置的判断链
评估的终点是处置决策,而不是报告本身。可以按以下顺序推进:
- 质量修剪:用 Trimmomatic 或 fastp 按滑动窗口修剪。例如
SLIDINGWINDOW:4:20表示 4 bp 窗口平均质量低于 Q20 就切断;LEADING:3 TRAILING:3修剪首尾质量低于 Q3 的碱基。修剪后读长会缩短,需确认最短读长仍满足比对要求(一般 ≥36 bp)。 - 接头去除:fastp 默认开启接头检测,也可用
--adapter_sequence AGATCGGAAGAGC显式指定。修剪后重跑 FastQC,确认 Adapter Content 降到 1% 以下。 - 重复处理:对 PCR 重复,可在比对后用 Picard MarkDuplicates 标记;对 UMI 文库,应在比对前按 UMI 去重。注意:去重会降低有效深度,需在实验设计时预留余量。
- 批次效应:若确认存在批次偏差,可在表达矩阵层面用 ComBat 或 limma removeBatchEffect 校正,但校正不能替代实验设计。若某批次质量整体不可接受,重测比事后校正更可靠。
一份可复用的评估记录表
为了让评估结果可追溯、可比较,建议每个项目维护一份原始数据质量记录表。字段不必多,但必须覆盖"样本—批次—指标—处置"四要素:
| 样本 | 批次 | Q30 比例 | 接头含量 | 重复率 | 处置 |
|---|---|---|---|---|---|
| S1_R1 | B1 | 92% | 0.3% | 8% | 直接比对 |
| S2_R1 | B1 | 88% | 6.2% | 12% | 接头修剪+质量修剪 |
| S3_R1 | B2 | 76% | 1.1% | 35% | 质量修剪+标记重复 |
| S4_R1 | B2 | 90% | 0.5% | 9% | 直接比对 |
表中 S3 的 Q30 仅 76%、重复率 35%,提示该样本建库复杂度偏低,若其差异表达结果出现异常,应优先怀疑重复带来的假阳性。S2 的接头含量 6.2% 超过 5% 阈值,必须修剪。把这张表和 FastQC 报告一起归档,后续任何分析异常都可以回溯到原始数据层面,而不是在结果阶段反复猜测。
原始数据质量评估的核心,是把"数据看起来还行"变成"我知道哪一位碱基、哪一条读段、哪一个批次有问题,并且已经做了对应处置"。做到这一点,下游的比对、定量和差异分析才有可靠的前提。