3. 测序技术基础:Illumina短读长与PacBio/Nanopore长读长的原理及数据特点

做宏基因组研究,说白了就是跟测序数据打交道。你拿到的原始数据质量怎么样,直接决定了后面物种分类、基因预测甚至通路分析的结果。

我刚开始做宏基因组时,拿到的是Illumina的双端数据,后来接触了PacBio和Nanopore的长读长。这两种技术各有各的脾气。今天我们把这俩祖宗掰扯清楚。

3.1 Illumina 短读长:高通量时代的奠基石

Illumina是目前最主流的测序平台,也是我接触最早的平台。它的核心原理是“边合成边测序”(SBS)。

3.1.1 测序流程

  1. 文库构建:打断DNA,加接头,桥式PCR扩增形成簇。
  2. 测序反应:加入带荧光标记的可逆终止子dNTP,每合成一个碱基就拍一张照。
  3. 信号读取:通过激光激发荧光,相机捕捉信号。
  4. 碱基识别:软件把荧光信号转成碱基和对应的质量值。

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%准确率
错误模式 主要为插入错误和缺失错误
典型应用 完整基因组组装、复杂结构变异检测、甲基化分析
我个人建议:在宏基因组项目中,如果预算允许,先用PacBio HiFi做长读长组装,再用Illumina短读长做polishing和定量。这是目前最稳的“双平台”策略。

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的话,光运送样本就花了一周。这就是实时测序的魅力。

我曾经掉过的坑: Nanopore的碱基识别质量对甲基化比较敏感。如果样本含有高水平的甲基化(比如细菌DNA CM5CG位点),会导致某些碱基(尤其是G)被错误识别为其他碱基。建议对甲基化样本使用最新的碱基识别模型(如Dorado的5mC/5hmC模型)进行校正。

3.4 两种技术路线的对比与选择

我大概梳理了一个决策逻辑图,帮你快速选择:

测序技术选择决策逻辑 宏基因组样本与预算 预算充足 + 高准确度需求 预算有限 / 实时性需求 PacBio HiFi + Illumina Nanopore + Illumina 只用 Nanopore(最低预算) 只用 Illumina(最传统) 个人推荐策略 1. 高通量定量 + 简单组装 → Illumina单平台 2. 完整基因组 / 复杂变异 → PacBio HiFi + Illumina 3. 快速诊断 / field部署 → Nanopore + 可选 Illumina polishing

这张图帮你理清了一个核心问题:你到底需要多长的读长、多高的准确度、多少通量,以及你有多少预算。说实话,我每次接项目前都会先花半小时想清楚这个决策树,而不是直接上手测序。

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就行。如果要做完整菌株基因组,那还得上长读长。两者结合是目前业界公认的最佳方案。