You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Waterman-Smith-Beyer算法长序列对齐偏移问题求助

Waterman-Smith-Beyer算法长序列对齐偏移问题

正在开发文本比对器,实现Waterman-Smith-Beyer(SWB)算法时遇到异常:短序列对齐结果正常,但长序列会整体偏移至右侧,无法匹配正确位置。

对齐示例对比

正确对齐结果:

HOLYWATERISABLESSING
----WATER---BLESSING

实际得到的错误结果:

HOLYWATERISABLESSING
-------WATERBLESSING

基础测试情况

短序列如"ABA"与"BA"、"ABA"与"AA"的对齐均符合预期。移除SWB算法的「新间隙罚分」(退化为Needleman-Wunsch算法)后,对齐恢复正常;矩阵初始化的首行首列输出符合预期。

已尝试的排查操作

  • 调整矩阵初始化顺序
  • 修改匹配得分
  • 反转计分逻辑
  • 调整指针矩阵

以上操作均无效,仅设置极高匹配得分时能得到预期输出,但会引发其他输入场景的错误。

问题猜测

推测问题出在SWB算法的「新间隙罚分」对应的得分矩阵计算环节。

补充测试结果

  • "HOLYWATERISABLESSING"与"HOLYWATERBLESSING"对齐符合预期;
  • "HOLYWATERISABLESSING"与"HOLYERISSING"仍出现右偏移;
  • 为短序列添加前部匹配字符时对齐会出现多个间隙,移除尾部部分字符正常,但移除特定字符或过多尾部字符时,会再次出现整体右偏移。

内容的提问来源于stack exchange,提问作者dawnandrew100

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 09:48:19