我有兩個我想要對齊的100個字符(最大,可能更小或不是相同大小)的數組。當有一個字符與另一個字符不同時,我想添加一個「 - 」。我發現基於動態編程的Needleman–Wunsch算法和基於動態編程的一般局部對齊方法,但它們似乎對於我想要做的事情來說太複雜。我只需要在Java中使用簡單的算法,大概少於50行,此代碼將在之後被翻譯爲彙編語言,以便我需要一個簡單的算法。Java字符對齊算法
有沒有辦法做這種對比與差異算法?如果是的話,有人可以指出我該怎麼做?我在biostar部分搜索,但似乎非常需要使用我提到的兩種算法。
英語不是我的母語,所以我可能搜索了錯誤的關鍵字。
我的程序已經與Needleman算法及其約200(ISH)行代碼。所需的輸入/輸出的
實施例:
Input
Array 1 : MKNLASREVNIYVNGKLV
Array 2 : QMASREVNIYVNGKL
Output
Array 1 (or a simple print) : -MKNLASREVNIYVNGKLV
Array 2 (or a simple print) : QM---ASREVNIYVNGKL-
由於
是輸出是否正確? 'IY'消失了,而'Q'仍然存在?數組2的順序是相關的,還是僅僅遵循數組1的順序? – 2013-02-23 17:10:32
我修改了輸入輸出以使問題更清楚,並且順序是相關的。 – metraon 2013-02-23 17:20:48
在維基百科文章http://en.wikipedia.org/wiki/Sequence_alignment中,這些基本上是列出的唯一算法。互聯網不太可能想出更好的東西。此外,您的問題情況如何比通用序列比對案例更簡單? – 2013-02-23 17:34:58