在Gusfield对动态规划算法的描述中是否存在错误,用于找到具有恒定间隙罚分的全局比对?

时间:2014-06-22 19:48:18

标签: string algorithm bioinformatics sequence-alignment

Gusfield(字符串,树和序列算法,第11.8.6节)描述了一种动态编程算法,用于在假定惩罚分配给长度为x的间隙的情况下,找到两个序列A和B之间的最佳对齐对于常数R和S,对齐序列的形式为R + Sx。在S = 0的特殊情况下,开始一个间隙但没有惩罚来延长它。在我看来,古斯菲尔德的公式中有一个错误,我希望有人可以帮助我理解真实的事态。

Gusfield定义了四个函数V(i,j),G(i,j),E(i,j)和F(i,j),具有以下属性:

  • V(i,j)是前缀对齐的最佳分数 A [1..i]和B [1..j]。
  • E(i,j)是这些前缀对齐的最佳分数 在B [j]与A中的间隙配对的条件下。
  • F(i,j)是这些前缀对齐的最佳分数 在A [i]与B中的间隙配对的条件下。
  • G(i,j)是与A [i]配对的对齐的最佳分数 B [j]的。

i和j的重复次数大于或等于1:

V(i,j)=max[E(i,j),F(i,j),G(i,j)]
G(i,j)=V(i,j)+w(A[i],B[j]) where w is the score for a match/mismatch.
E(i,j)=max(E(i,j-1),V(i,j-1)-R]
F(i,j)=max(F(i-1,j),V(i-1,j)-R]

最后,边界条件如下:

V(i,0)=E(i,0)=-R
V(0,j)=F(0,j)=-R

以所有这些作为预赛,考虑我们有两个长度为1的序列的情况,因此A = p和B = q。在这种情况下,只有三种可能的对齐方式:

p    p-    -p
q    -q    q-

这些得分分别为w(p,q), - 2R,-2R。特别是我们应该有E(0,1)= F(1,0)= - 2R。但是,重复出现E(0,1)和F(1,0)都更大 大于或等于-R。

边界条件中的这个错误会产生后果。例如,假设 A = pppppp ... p和B = qqqq ... q,p和q不同。将A完全设置为B的对齐:

A-
-B

应该得分为-2R(它有两个间隙),因此假设w(p,q)<0,这种对齐最终是最佳的。

Gusfield的算法似乎没有正确处理这种情况。

在实际情况下,这可能并不重要,因为典型的字符串有很多匹配,因此边界情况不会对解决方案有所贡献。

评论/批评欢迎。

1 个答案:

答案 0 :(得分:1)

是的,其中两个方程实际上是不正确的。他们应该是

F(i,j)=max(F(i,j-1),V(i,j-1)-R] E(i,j)=max(E(i-1,j),V(i-1,j)-R]

由于在A [i]与B中的间隙配对的条件下,E(i,j)是这些前缀对齐的最佳分数,因此对齐是A [1:il的最佳对齐方式]反对B [1:j]和l长的差距(indels反对A [i-l + 1:i])。