Li的对齐代码使用字符列表进行输入和输出。我写了一个简单的包装器来接受字符串和输出字符串。
来自 对齐 导入 Needleman,Hirschberg
def compare(str1,str2):
seq1 = list(str1)
seq2 = list(str2)
对于 算法 在 [ 的Needleman(),海森堡()]:
a,b = 算法。对齐(seq1,seq2)
print(“”。join(a))
print(“”。join(b))
打印()
代码插入垂直条以指示为对齐而添加的空格。这是在Finnegans Wake和模仿Finnegans Ewok的开头段落中使用Needleman-Wunsch算法的结果。
||| riverrun,过去的Ev | e | 和亚当'|||| s,
mov | i | er | un,past || new和||||| hope,
从swe | rv || e of shore |||| 弯曲的
从s || tr | ike of |||||回到弯曲
b ||| ay,带给我们一个共同体
| jeday,带给我们一个共同体
vic | u ||再循环回来
|||卢卡斯的再循环回来了
H | owth Ca || stle |||| 和E | nvi || r | ons。
| fo |||||| rest || moon and | en || dor。||||
我在上一篇文章中提到我可以很容易地比较前四段,但是我在调整第五段时遇到了一些麻烦。每个版本的第五段开头非常相似:
Bygme | | ster Fi | nnega | | ñ,的 的
Bygm | onster | | 安| | 类似,的 的
Stutte | | r | | | | | | | ING 手,˚F | 重新| emen '| s
| | | | | | Throatchokin | 手,为| cemen | 的
茂- RER,住 在 了 最广泛的 方式
茂- RER,住 在 了 最广泛的 方式
immarginable 在 他的 rushlit
immarginable 在 他的 rushlit
toofar - | | | 回来 的 宅院 前
toofar | - 之前回来 用于 消费