3. 参考基因组与比对策略
长读长结构变异检测的第一步,不是测序,而是把读段(reads)放到一个可信的坐标参照系上。这个参照系就是参考基因组,而把读段映射到参考上的过程就是比对。参考选错、比对参数不当,后续无论用 Sniffles、cuteSV 还是 SVIM,都会得到大量假阳性或漏检。本章围绕三件事展开:参考基因组的选择与预处理、长读长比对算法的原理、以及比对参数调优与结果评估。
一、参考基因组的选择与预处理
参考基因组的选择要匹配样本的物种、亚种和倍性。以人类为例,GRCh38 与 T2T-CHM13 是当前两个主流选择。GRCh38 生态成熟、注释完善、与大量公共数据集兼容;T2T-CHM13 补齐了着丝粒、近端着丝粒短臂等约 8% 此前缺失的区域,对检测这些区域的结构变异更有利,但部分工具链和注释资源仍在适配。若研究对象是特定族群,还应考虑是否使用带 alternate contig 或族群特异组装的参考,避免把族群特异序列误判为变异。
预处理的核心是建立索引并屏蔽干扰区域。以 minimap2 为例,常用命令如下:
# 为 GRCh38 建立 minimap2 索引(-d 输出 .mmi)
minimap2 -d GRCh38.mmi GRCh38.fa
# 建立 faidx 索引,供后续工具按坐标取序列
samtools faidx GRCh38.fa
# 生成 .dict,供 GATK 等工具使用
gatk CreateSequenceDictionary -R GRCh38.fa
此外,应准备 BED 文件屏蔽高重复、低可比对区域(如 ENCODE blacklist),并在结果评估时排除这些区域,否则着丝粒、端粒附近的比对堆积会制造大量假 SV。参考序列中的 N 碱基比例、contig 命名一致性(chr1 与 1 混用)也需提前统一,否则会导致坐标错位。
二、长读长比对算法原理
长读长比对与短读长比对有本质差异。短读长依赖精确 k-mer 种子,而长读长(PacBio HiFi、ONT)错误率虽已降至 0.1%~5%,但读段长达数千至数十 kb,且含插入、缺失,因此需要能容忍错误的种子与链化策略。
minimap2 采用“minimizer 种子 + 链化 + 碱基级比对”三段式。它先在参考和读段上取 minimizer(局部最小的 k-mer),用哈希表找到匹配种子;再对种子做链化(chaining),把共线性的种子连成锚链;最后对锚链之间的空隙做动态规划比对。minimap2 提供多种预设:-ax map-ont 用于 ONT 读段,-ax map-hifi 用于 HiFi,-ax asm5/asm10/asm20 用于组装比对。其优势是速度快、内存低,适合大规模样本。
NGMLR 则针对结构变异检测做了优化。它使用“种子—链化—局部比对”流程,但在链化阶段采用更宽松的 gap 惩罚,并引入“SV-aware”的比对模型,使跨越 SV 断点的读段更容易被正确比对,而不是被切成软剪切(soft clip)。因此 NGMLR 在检测大片段插入、缺失时召回率往往更高,但速度慢于 minimap2。实际工程中常见策略是:用 minimap2 做快速初筛和覆盖度评估,用 NGMLR 对候选区域或全样本做精细比对。
三、比对参数调优
参数调优的目标是让真实 SV 信号在比对结果中保留,同时抑制重复区域的假信号。以下参数最值得关注:
-x预设:决定 k-mer 长度、gap 惩罚等基础参数。ONT 用map-ont,HiFi 用map-hifi,切勿混用。-k/-w:k-mer 长度与 minimizer 窗口。k 越大越特异,但低复杂度区域种子越少;w 越小种子越密、越慢。-a:输出 SAM/BAM,SV 检测必须加。--MD:在 BAM 中保留 MD 标签,便于后续工具还原错配。-t:线程数,影响速度不影响结果。-R:读组标签,多样本合并时用于区分来源。
一个典型的 ONT 比对命令如下:
minimap2 -ax map-ont -t 16 --MD \
-R '@RG\tID:sample1\tSM:sample1' \
GRCh38.mmi sample1.fastq.gz \
| samtools sort -@ 8 -o sample1.sorted.bam
samtools index sample1.sorted.bam
若发现某区域覆盖度异常低或 soft clip 比例异常高,可尝试降低 -k 或增大 -w 的密度,或改用 NGMLR 重比对。对于已知的高重复区域,应结合 BED 屏蔽,而不是一味调参。
四、比对结果评估
比对完成后,不能直接进入 SV calling,必须先评估质量。关键指标包括:
| 指标 | 含义 | 合理范围(示例) | 异常处理 |
|---|---|---|---|
| 比对率 | 成功比对读段占比 | ONT ≥ 90%,HiFi ≥ 98% | 过低检查参考版本、污染 |
| 平均覆盖度 | 有效比对碱基数 / 基因组长度 | SV 检测建议 ≥ 15× | 不足则补测序 |
| MAPQ 分布 | 比对质量值分布 | MAPQ≥20 占比高 | 低 MAPQ 多提示重复区 |
| soft clip 比例 | 被剪切碱基占比 | 通常 < 10% | 过高提示 SV 或参考缺失 |
| 插入片段长度 | 读段比对跨度 | 与文库一致 | 异常提示嵌合或结构变异 |
可用 samtools flagstat、samtools stats 和 mosdepth 快速获得上述指标:
samtools flagstat sample1.sorted.bam
samtools stats sample1.sorted.bam | grep ^SN
mosdepth -t 4 -b blacklist.bed sample1 sample1.sorted.bam
总结来说,参考基因组决定坐标基准,比对算法决定信号保留程度,参数调优决定信噪比,结果评估决定是否值得继续。四者环环相扣,任何一环失守,后续 SV 检测都会事倍功半。建议在正式 calling 前,先用一个已知 SV 的阳性样本(如 NA12878 或 HG002)跑通全流程,确认比对指标和 SV 召回率符合预期,再进入大规模样本分析。