Needleman-Wunsch(1970)的全局比对将两条序列从端到端对齐。但对许多生物学问题,序列只在局部区域相似(如共享功能结构域),全局比对会强行对齐不相似区域,结果误导。
Smith & Waterman 的局部比对算法只比对相似度最高的子序列片段,不相似的区域被重置为 0 而非计入负分。
q = gap open 罚分,r = gap extension 罚分(通常 r < q)。
O(mn) 时间,O(min(m,n)) 空间(优化后)。
BWA-MEM 不在全长参考上运行 SW(3Gb × 100bp 不可行),而是在种子附近的条带窗口内运行 banded DP:
| 场景 | SW 类型 | 搜索空间 |
|---|---|---|
| 种子延伸 | Banded affine-gap DP + Z-dropoff | 种子 ±~100bp |
| Mate rescue | 标准 SW + SSE2 向量化 | [μ−4σ, μ+4σ] 窗口内 |
| 年份 | 算法 | 意义 |
|---|---|---|
| 1970 | Needleman-Wunsch | 全局比对,DP 首次用于序列比对 |
| 1981 | Smith-Waterman | 局部比对,理论最优 |
| 1982 | Gotoh | 仿射空位 O(mn) 优化 |
| 1990 | BLAST | 启发式加速,牺牲敏感性换速度 |
| 2007 | Farrar(Striped SW) | SSE2 向量化 6× 加速 |
| 2013 | BWA-MEM | SMEM + Banded DP + Z-dropoff |
Smith-Waterman 是理论最优(保证找到最佳局部比对),但在基因组规模需种子过滤 + 条带化来约束搜索空间。