0

我正在使用与Needleman-Wunsch算法等效的算法来使用相似度矩阵进行模糊序列匹配。

一些结果接近最佳:

SIL d   e:  n   SIL A+  r   t   i:  k   E+  l   SIL SIL A+  f   t   @   SIL b   u:  @   n   @   SIL aU  s
-   d   e:  n   -   -   @   t   e:  k   9   l   SIL "   A+  f   d   @   -   b   9   A+  n   @   SIL aU  s

但有些不是:

SIL d   E+  r   SIL I+  n   h   A+  l   t   SIL S+  t   e:  t   SIL u:
-   -   -   -   -   -   -   z   I+  -   k   -   -   -   -   f   -   - 

问题出现在删除和插入周围:该算法将删除附近的单个字母对齐,这些字母与缺失的部分几乎不匹配。

我已经尝试惩罚间隙的开始,因此该算法有利于大间隙而不是小间隙。结果很糟糕,因为正如您在上面看到的,长度为 1 和 2 的间隙在正确对齐的部分中非常常见。

如何修改算法以避免进行这些错误的对齐,这些错误的对齐包括分散的分数差的字母(例如fin - - - - f - -,显然应该只是另一个-)?

编辑:对于那些不熟悉算法的人:计算分数时,不知道将采取的方式,因为方式取决于猜测:分数。

这意味着在计算分数时我不能考虑相邻的路线,因为它们是未知的。但是如果对齐是否足够好取决于邻居:如果一对不合适(请记住:我使用填充概率的相似性矩阵)并且被间隙包围,它应该得到非常差的分数(参见第二个示例) . 如果它被其他更合适的对包围,它应该得到一个很好的分数(见第一个例子)。

因此,在计算分数时,我遇到了一些先有鸡还是先有蛋的问题。

4

0 回答 0