1、NGS批次质控概述:为什么要做批次质控?
大家好,欢迎来到这门实战课。
做NGS生信分析,我接触过不少团队。大家最常犯的错误是什么?是盯着单个样本的质控报告看半天,却从没把同一批上机的样本放在一起对比过。
说实话,很多隐蔽的问题,只看单个样本根本看不出来。混合污染、文库批次效应、Index hopping(标签跳跃)……这些坑,我几乎每个项目都见过。
什么才是真正的“批次质控”?
简单讲,批次质控就是把同一批测序的样本放在一起看。看它们的整体趋势是否一致,有没有样本明显“掉队”。
你想想看,一个batch里突然有个样本的duplication rate(重复率)飙到90%,而其他都是30-40%。这肯定不对劲。可能是文库扩增过度了,也可能是PCR循环数设错了。
# 典型的多样本汇总命令
multiqc /path/to/fastqc_results/ -o /path/to/multiqc_report/
为什么单样本质控不够用?
单样本质控,说白了就是给每个样本体检。看看它的测序质量、GC含量、接头污染……这些指标。
但它有个致命短板:没有比较对象。
举个例子:某个样本的Q30(质量值≥30的碱基占比)是85%。单看这个数字,你觉得还行吧?但如果同批次的其他样本都稳定在92%以上呢?
这时候,85%就成了一个危险信号:
- 可能是文库浓度偏低,导致簇密度不够
- 可能是样本降解了,RNA或DNA质量不行
- 也可能是某个试剂孔位加错了
| 质控维度 | 单样本质控 | 批次质控 |
|---|---|---|
| Q30 分布 | 报告单一数值 | 对比样本间波动范围 |
| GC 含量 | 只报平均值 | 检测异常偏离样本 |
| Duplication Rate | 单一值,难判断 | 快速识别PCR过度样本 |
| 接头比例 | 看是否超标 | 发现批次的系统污染 |
我把批次质控的核心价值总结为三层
第一层:消除批次效应(Batch Effect)
这是我做大规模项目时最头疼的事。每次换试剂盒批次、换操作人员、甚至换一台仪器,数据都可能出现系统性偏移。
我之前有个项目,送了三批样本去做RNA-seq。结果做完差异表达分析,发现差异基因全是批次导致的假阳性。把True Positive全埋了。
怎么做?批次运行MultiQC报告,对比不同batch的median CV(变异系数)。如果批次间CV远大于批次内CV,赶紧排查吧。
第二层:区分“生物学变异”和“技术噪音”
做生信的人都知道,组学数据既有真实的生物学变异,也有系统性的技术噪音。混在一起,你没法判断差异是“治疗有效”还是“实验做错了”。
批次质控,就是帮我们把这两层拆开来看:
- 如果变异只出现在一个batch里——很可能是技术噪音。检查文库制备、上机操作等环节。
- 如果变异跨batch一致出现——那可能是真的生物学信号,值得深入分析。
第三层:抓住上机前的硬伤
不知道大家有没有遇到过这种事:测完几千块钱的数据,跑了个QC发现全是低质量reads。很心痛。
但批次质控可以在正式分析前就预警。比如:某个lane的cluster密度异常高,或者index序列出现交叉污染。
我记得有一次,一个同事上完样才发现多加了5个Index样本,导致Index分配冲突。如果不做批次质控,等到去重后才发现,样本早就混在一起了。
早发现,至少还能重新测序。晚了,连补救的机会都没有。
哪些数据需要纳入批次视角?
- 测序质量(Q20/Q30/Q40 分布、碱基比例、GC偏差)
- 比对统计(比对率、唯一比对率、链特异性)
- 表达/覆盖数据(基因覆盖均匀度、3' bias)
- 重复率与复杂性(Duplication rate、library complexity)
- 污染水平(接头、rRNA/globin contamination、外源物种污染)
到底该怎么执行批次质控?
我把常用流程画了一张图。你会看到,从FastQ拿到手,到最终确定是否能用,整个链条都需要批次维度的对比。
一个真实案例,看看批次质控多重要
之前有个项目,样本量400例,分8个批次上机。我让分析团队把MultiQC跑出来,发现第5批次的Median CV(中位变异系数)高达68%,其他批次都在30%以下。
我立刻让实验同事去查第5批次的操作记录。结果发现,当天做文库时,实验员用的PCR酶是新批次,而且手滑多加了2个循环。
多加了2个循环,听起来不是什么大事吧?但对结果影响很大。重复文库(Duplicates)暴增,有效数据量直接少了一半。
嗯,这就是批次质控存在的意义。它不是锦上添花,它是你项目成功的底线。后面的章节,我会带你一步步排查各种批次问题。今天就先到这里。