2.3 Banding technology
Banding 的核心思想是:
不填整个 的 DP 矩阵,只计算主对角线附近一条“带子”里的格子。
因为真正的最优比对通常不会偏离主对角线太远。
Banding 技术有很多种,论文里重点提到的是 X-Drop 和 WFA-Adapt。下面按类别整理。
1. 静态/固定对角线带
最朴素的 banding。
- 以主对角线 为中心;
- 只计算满足 的格子;
- 是带宽,固定或预先设定。
矩阵形状像一条沿着主对角线前进的带子。
时间复杂度从 降到 。
缺点:
- 如果真实差异导致最优路径偏离主对角线超过 ,就会丢结果;
- 不好选,太大失去加速意义,太小质量下降。
代表:
- 经典 banded Needleman-Wunsch / Smith-Waterman;
- 一些短读段比对工具。
2. Ukkonen 的指数增长带
Ukkonen 算法 [60] 是一种更聪明的 banding。
- 它仍然只考虑主对角线附近的格子;
- 但带宽不是固定,而是指数增长;
- 保证最终结果和完整 DP 等价;
- 平均运行时间 ,其中 是两条序列的编辑距离。
因为编辑距离 通常远小于 ,所以平均很快。
但它主要用于 Levenshtein 距离,打分方式比较受限。
后续发展:
- Myers 的 BitVector 算法 [61]:用位并行加速 Ukkonen;
- Edlib [48]:在 Ukkonen/Myers 基础上加入 traceback 和更多比对选项。
3. X-Drop:自适应 banding
论文里最常提到的 banding 技术。
核心:
- 按反对角线或 wavefront 计算 DP;
- 维护当前最高分 ;
- 如果某个格子分数满足:
就剪掉,不再计算。
是用户参数:
- 越大,带越宽,越安全,但越慢;
- 越小,带越窄,越快,但可能丢最优。
优点:
- 动态适应序列差异;
- 实现简单;
- 被 BLAST、minimap2、Libgaba 等广泛采用。
缺点:
- 不保证最优;
- 内存仍随序列长度线性增长;
- 对 敏感。
代表:
- BLAST [34];
- minimap2 [5];
- Libgaba [47];
- GACT-X [8] 把 X-Drop 和 tiling 结合。
4. WFA-Adapt:WFA 中的自适应 banding
WFA-Adapt(WFAA)[38] 是 WFA 库里的启发式版本。
WFA 的三角矩阵:
- 行 = 分数 ;
- 列 = 对角线 。
WFA-Adapt 的做法:
- 每一行只保留在 和 之间的对角线;
- 丢弃“落后太多”的外侧对角线;
- 根据最远到达位置动态调整 和 。
优点:
- 适合 WFA 的波前推进;
- 在序列差异小的时候非常快;
- 支持 affine gap。
缺点:
- 也是启发式,不保证最优;
- 参数和打分方式影响大;
- 长而 noisy 的比对内存仍然可能很大。
代表:
- WFA-Adapt [38];
- TALCO-WFAA 就是把 TALCO tiling 作用在 WFA-Adapt 上。
5. 其他 banding / 相关技术
5.1 GenASM
- 基于 Bitap 算法;
- 使用类似 GACT 的 tiling 策略;
- 也做 banding,但不保证最优。
5.2 GACT-X
- GACT 的扩展;
- 在每个 tile 内部使用 X-Drop banding;
- 是 tiling + banding 的结合,不是单纯 banding。
5.3 Scrooge
- 使用固定 tile 和 banding 参数;
- 也是启发式,不保证最优。
5.4 两段式 affine gap + X-Drop
- minimap2 使用 two-piece affine gap;
- 需要 5 个 DP 矩阵;
- 结合 X-Drop banding。
6. 对比表
| 技术 | 类型 | 是否保证最优 | 代表工具 |
|---|---|---|---|
| 固定对角线带 | 静态 banding | 否 | 经典 banded NW/SW |
| Ukkonen 指数带 | 精确 banding | 是(在编辑距离下) | Ukkonen, Myers, Edlib |
| X-Drop | 自适应 banding | 否 | BLAST, minimap2, Libgaba |
| WFA-Adapt | 自适应 banding | 否 | WFA-Adapt, WFA2-lib |
| GACT-X | tiling + X-Drop | 否 | Darwin-WGA |
| TALCO | tiling + 收敛,不是 banding | 是(在 banding 约束下) | TALCO-XDrop, TALCO-WFAA |
7. 和 TALCO 的关系
论文强调:
- X-Drop 和 WFA-Adapt 都是 banding 技术;
- 它们降低内存和计算,但不保证最优;
- TALCO 不是替代 banding,而是 在 banding 约束下做安全 tiling;
- 所以 TALCO-XDrop 保证和完整 X-Drop 结果一致;
- TALCO-WFAA 保证和完整 WFA-Adapt 结果一致。
一句话:
Banding 负责缩小搜索空间,TALCO 负责把缩小后的空间安全地切成 tile。