3. 测序技术基础:Illumina短读长与PacBio/Nanopore长读长的原理及数据特点
做宏基因组研究,说白了就是跟测序数据打交道。你拿到的原始数据质量怎么样,直接决定了后面物种分类、基因预测甚至通路分析的结果。
我刚开始做宏基因组时,拿到的是Illumina的双端数据,后来接触了PacBio和Nanopore的长读长。这两种技术各有各的脾气。今天我们把这俩祖宗掰扯清楚。
3.1 Illumina 短读长:高通量时代的奠基石
Illumina是目前最主流的测序平台,也是我接触最早的平台。它的核心原理是“边合成边测序”(SBS)。
3.1.1 测序流程
- 文库构建:打断DNA,加接头,桥式PCR扩增形成簇。
- 测序反应:加入带荧光标记的可逆终止子dNTP,每合成一个碱基就拍一张照。
- 信号读取:通过激光激发荧光,相机捕捉信号。
- 碱基识别:软件把荧光信号转成碱基和对应的质量值。
3.1.2 数据特点
| 指标 | 说明 |
|---|---|
| 读长 | 通常150~300 bp(双端测序合并后约300~600 bp) |
| 通量 | 一次运行可产出数百Gb~数Tb数据 |
| 错误率 | ~0.1% ~ 1%,主要为替换错误 |
| 成本 | 低,目前最便宜的测序方案之一 |
| 典型应用 | 宏基因组组装、扩增子(16S/ITS)分析、单核苷酸变异检测 |
我有个经验分享给你:Illumina的碱基质量值(Q-score)很关键。Q30以上才算高质量。我在一个16S项目里,用了Q20的reads去OTU聚类,结果多出了30%的假阳性OTU。后来我养成了习惯——先跑FastQC,对质量不好的尾巴直接过滤。
fastp -i R1.fastq -I R2.fastq \
-o R1.clean.fastq -O R2.clean.fastq \
-q 20 -l 100 --cut_front --cut_tail
其中 -q 20 表示保留Q20以上的碱基,-l 100 表示丢弃长度不足100 bp的reads。
3.2 PacBio 长读长:单分子实时测序
如果你做过细菌完整基因组组装,十有八九用过PacBio。它的原理是“单分子实时(SMRT)测序”。
3.2.1 核心原理
PacBio靠的是零点几微米级的零模波导孔(ZMW)。每个ZMW底部固定一个DNA聚合酶,DNA链在上面滚圈复制。聚合酶每加一个荧光标记的dNTP,就释放一次荧光信号——实时拍下来。
我刚开始接触PacBio时,被它的“环形一致性测序”(CCS)惊艳到了。同一个分子来回测很多遍,折算出一条高精度的HiFi reads。
3.2.2 数据特点
| 指标 | 说明 |
|---|---|
| 读长 | 典型10~20 kb,可达30 kb以上 |
| 通量 | 每张SMRT细胞约50~100 Gb |
| 错误率 | 单次pass ~15%,但CCS后可达99.9%准确率 |
| 错误模式 | 主要为插入错误和缺失错误 |
| 典型应用 | 完整基因组组装、复杂结构变异检测、甲基化分析 |
3.3 Nanopore 长读长:便携实惠的实时测序
Nanopore跟Illumina和PacBio完全不是一个路子。它不需要光学检测,不需要聚合酶,本质上就是让DNA穿过一个小孔,根据电流变化读碱基。
3.3.1 测序原理
把DNA单链穿过去——纳米级蛋白质孔道。每个碱基通过时,会导致通过小孔的电离电流发生变化。检测芯片每秒采集上千次电流值,软件实时解析成碱基序列。
嗯,这里要注意:Nanopore的信号检测是连续的,不像Illumina那样拍照片。所以理论上读长能做多长?取决于DNA分子本身的长度和断裂程度。我见过最长的记录是2.3 Mb左右——没错,是兆碱基级别。
3.3.2 数据特点
| 指标 | 说明 |
|---|---|
| 读长 | 典型10~50 kb,极限可达Mb级 |
| 通量 | 每张Flow Cell约10~50 Gb,新型号可达100+ Gb |
| 错误率 | 单次读取~5~15%,最新试剂盒+碱基识别算法可达~1% |
| 错误模式 | 主要为插入缺失(Indels),且碱基识别有偏好(如均聚物区域出错多) |
| 实时性 | 边测序边输出数据,随时可以停止或调整 |
| 典型应用 | field测序、快速病原鉴定、超长读长组装、结构变异 |
讲个真实案例:我上次帮一个野外项目做环境水体病原菌检测。项目组只有一台MinION USB设备,条件很艰苦。但你猜怎么着?用Nanopore实时测了6小时,就准确鉴定了产毒霍乱弧菌。用Illumina的话,光运送样本就花了一周。这就是实时测序的魅力。
3.4 两种技术路线的对比与选择
我大概梳理了一个决策逻辑图,帮你快速选择:
这张图帮你理清了一个核心问题:你到底需要多长的读长、多高的准确度、多少通量,以及你有多少预算。说实话,我每次接项目前都会先花半小时想清楚这个决策树,而不是直接上手测序。
3.5 数据格式与质量评估
无论用什么平台,最终数据基本都是FASTQ格式。但注意——PacBio和Nanopore产出的原始格式有区别。
Illumina: 双端FASTQ(R1和R2),质量值用Phred+33编码。
PacBio: HiFi reads输出为BAM(内含序列和质量值)或直接FASTQ。原始CCS reads很干净,不需要太多trimming。
Nanopore: 原始信号是pod5/fast5格式,必须经过碱基识别(basecalling)才变成FASTQ。常用工具包括Guppy、Dorado、Bonito。命令示例:
dorado basecaller \
--models dna_r10.4.1_e8.2_400bps_hac@v4.1.0 \
--recursive \
/path/to/pod5/ \
> output.bam
碱基识别后记得做质量评估:
- Illumina:用FastQC、MultiQC + fastp
- PacBio:用pbvalidate、pbmarkdup直接评估
- Nanopore:用NanoPlot、pycoQC
# Illumina
fastqc R1.fastq R2.fastq -o qc_report/
# Nanopore
NanoPlot --fastq reads.fastq --outdir nanoQc/
我有个习惯:不管是哪种数据,先跑FastQC + MultiQC做快速概览。因为后面所有分析(组装、比对、binning)的质量都依赖于原始数据。数据不好,后面所有的结果都是垃圾。
3.6 小结:两条路子,一个目标
Illumina是定量和变异的利器,读长短但准确、便宜、通量高。PacBio和Nanopore是“长读长阵营”的两种方案——PacBio稳、准、贵;Nanopore便宜、灵活、快、但精度稍差。
你要根据项目需求选对工具。如果你要做大规模微生物群落定量,用Illumina就行。如果要做完整菌株基因组,那还得上长读长。两者结合是目前业界公认的最佳方案。