通用java字符串的多序列对齐

qyyhg6bp  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(345)

我在用hadoop工作,我必须在java中对齐n个字符串,我想要一个在java中计算一般字符串(没有生物信息学、基因组等)的算法。锿。

ASFHASFHASDSAAPJEIHRA <-- seq1
AAPSOFHASFDSOISISN--A <-- seq2
AWP-JWRAIADSDIA--N--A <-- seq3
AOPSJD-A-JDSSDSOQOSSJ <-- seq4
100000000011000000000 <-- score

有人能帮我取个名字,图书馆什么的吗?

polkgigr

polkgigr1#

您可以编写自己的动态规划算法,但复杂度是:o(n^k),如果n是序列长度,k是序列数。假设你有k=2个序列:你有一个二维网格,网格中的每个点对应一对字符。所以位置(1,1)对应于word1[1]和word2[1]。此网格中的水平边和垂直边对应于插入和删除,而对角线边对应于匹配或不匹配。每一次你都要罚一次。在您的示例中,匹配=+1,而其他可能性为+0。当您到达网格的右下角时,您将获得最佳对齐分数。

相关问题