如何使用Smith-Waterman找到所有最佳局部比对?

时间:2015-01-21 17:39:29

标签: bioinformatics text-alignment

如果我说得对,那么局部对齐矩阵中可能存在多个最大值。因此,为了获得所有最佳局部对齐,而不是只有一个,我必须在矩阵中找到所有这些最大值的位置,并逐个追溯它们,对吧?

示例:

XGTCXXGTCX 
 |||
AGTCA

XGTCXXGTCX 
      |||
     AGTCA

2 个答案:

答案 0 :(得分:0)

我知道这篇文章现在已经很老了,但是自从我发现之后,其他人也可能在寻求帮助的同时找到这个,而在我看来,还没有给出正确答案。所以: 显然,可以有多个最佳局部对齐。你刚刚展示了这样一个例子。然而,有一个最佳的局部对齐SCORE。看看SmithWaterman算法的原始论文,Smith和Waterman已经指出如何找到第二个最佳对齐,第三个最佳对齐...

这里有一个重印本来阅读这些内容(针对您的问题,请参阅第196页): https://pdfs.semanticscholar.org/40c5/441aad96b366996e6af163ca9473a19bb9ad.pdf

所以(与此处的其他答案形成对比),SmithWaterman算法也提供了第二好的局部对齐,依此类推。 只需检查Scoringmatrix中的第二个最佳分数(在您的情况下,将会有几个具有相同最佳分数的条目),这与您最佳的本地对齐无关,通常会进行回溯并解决您的问题。 :)

答案 1 :(得分:-1)

没有所有最佳对齐的东西。应该只有一个最佳对齐方式。我想相同的路线可能会有多条路径,但它们的总分会相同,而且看起来并不像你要问的那样。

你帖子中的图表显示的是多个(引物?)命中。在这种情况下,我所做的是运行一次史密斯水手,获得最佳对齐。然后我生成一个新的比对,其中主题序列已被修剪为仅包括下游序列。这种方式的优点是我不必修改任何S-W代码或必须深入挖掘第三方代码的内部。

所以它看起来像这样:

对齐1

XGTCXXGTCX 
 |||
AGTCA

删除上游主题序列:

XGTCXXGTCX => XGTCX

对齐2

 XGTCX 
  |||
 AGTCA

唯一棘手的部分是你必须跟踪从对齐中删除了多少个碱基,这样才能正确调整匹配坐标。