4. 长读长比对到重复与复杂区域的算法选择

长读长测序把读长推到 10–100 kb 量级,但重复序列带来的比对歧义并没有消失,只是从“读长太短跨不过去”变成了“读长够长却不知道该放到哪个拷贝上”。本节讨论 minimap2、Winnowmap、NGMLR、GraphAligner 四类工具在重复与复杂区域中的比对特性、参数调优思路,以及如何评估比对不确定性。

四类算法的核心差异

minimap2 采用 minimizer 种子加动态规划链化,默认对重复 minimizer 做降采样,速度最快,但在高度重复区容易出现“种子被稀释”导致漏比对或错位。Winnowmap 的关键改进是加权 minimizer:先用高频 k-mer 统计出重复权重,再在链化阶段对高重复区域施加惩罚,使种子分布更均匀,因此对节段重复和着丝粒卫星更稳。NGMLR 面向 PacBio/Nanopore 的噪声读长,使用带仿射间隙的局部比对加分段链化,对高错误率读长容忍度好,但速度较慢。GraphAligner 则把参考从线性序列换成变异图,适合已知结构变异或单倍型图场景,能把读长直接比对到图路径上,减少“先比对再判 SV”的二次误差。

重复区域比对:种子策略与链化路径对比 参考序列 唯一区 A 重复单元 R1 唯一区 B 重复单元 R2 唯一区 C 长读长 读长跨越 A — R1 — B — R2 — C,需判断 R1/R2 归属 minimap2 minimizer 种子 + 链化 重复种子降采样 R1/R2 种子被稀释 易错位或漏比 速度最快 Winnowmap 加权 minimizer 高频 k-mer 惩罚 R1/R2 种子更均匀 节段重复更稳 速度接近 minimap2 NGMLR 仿射间隙局部比对 分段链化 容忍高错误率读长 适合 noisy long reads 速度较慢 GraphAligner 比对到变异图 路径而非线性参考 直接判 SV 路径 需先构图 构图质量敏感 比对不确定性评估 MAPQ 偏低 · 多比对候选 · CIGAR 频繁切换 · 链化得分接近 → 需结合 split-read、覆盖度与图路径复核

参数调优:从“能比上”到“比得准”

minimap2 在重复区最值得调的是 -f(过滤高频 minimizer 的比例)和 -k/-w(种子长度与窗口)。默认 -f 0.0002 对普通基因组够用,但在着丝粒或 rDNA 簇中可放宽到 0.001 甚至更高,让更多重复种子参与链化;代价是速度下降、假阳性上升。若目标是 SV 检测,建议用 -ax map-ont --eqx -Y,-Y 关闭软剪切,保留完整 CIGAR 便于后续判断。Winnowmap 的核心参数是 -k 与 --winnow 权重文件,通常先用 meryl 统计高频 k-mer 生成权重,再以 -k 15 -w 10 运行;对节段重复,把 -k 提到 17–19 可进一步降低歧义。NGMLR 用 -x pacbio 或 -x ont 选择错误模型,--no-smallindels 可减少重复区小 indel 噪声。GraphAligner 需先由 vg 构建图,再用 -x vg 指定图模式,--multimap-score-fraction 控制多路径保留比例。

比对不确定性评估

重复区比对结果不能只看“有没有比上”,要看“比得有多确定”。第一看 MAPQ:minimap2 在重复区常给出 0–10 的低值,Winnowmap 因加权惩罚通常略高,但若 R1/R2 序列几乎相同,MAPQ 仍会很低。第二看多比对候选:用 samtools view -q 0 统计同一读长落在多个位置的记录,若候选数大于 2 且得分接近,说明归属不确定。第三看 CIGAR:重复区频繁出现大段 I/D 或 S,往往是把读长硬塞进错误拷贝。第四看链化得分差:minimap2 的 de:f 标签、Winnowmap 的链化得分,若最优与次优差距小于 5%,应视为不确定。工程上可对低 MAPQ 读长做局部重比对,或改用图比对复核。

实操建议:先用 minimap2 快速获得初比对,筛出 MAPQ<20 且落在重复注释区的读长,再用 Winnowmap 或 GraphAligner 对这些读长做二次比对,最后用 samtools mpileup 或 IGV 查看覆盖度是否在 R1/R2 间出现“此消彼长”的异常模式。

选择决策与示例参数

场景首选工具关键参数示例不确定性信号
常规 SV 初筛minimap2-ax map-ont --eqx -YMAPQ<10,多候选
节段重复/着丝粒Winnowmap-k 17 -w 10 --winnow w.txt链化得分差<5%
高噪声读长NGMLR-x ont --no-smallindelsCIGAR 频繁 I/D
已知单倍型图GraphAligner-x vg --multimap-score-fraction 0.9路径得分接近

需要强调的是,没有任何一个工具能在所有重复区“通吃”。minimap2 胜在速度与通用性,Winnowmap 胜在重复种子均衡,NGMLR 胜在噪声容忍,GraphAligner 胜在图结构表达。实际工程中更可靠的做法是“组合拳”:用 minimap2 做全基因组初比对,用 Winnowmap 复核重复区,用 GraphAligner 在已知 SV 断点附近做图比对验证。比对不确定性不是失败信号,而是提示我们该在哪些区域投入更多计算与人工判读。