Ada*_*ice 5 python string merge biopython
我有一些绳子,
['SGALWDV', 'GALWDVP', 'ALWDVPS', 'LWDVPSP', 'WDVPSPV']
Run Code Online (Sandbox Code Playgroud)
这些字符串彼此部分重叠。如果您手动重叠它们,您将得到:
SGALWDVPSPV
Run Code Online (Sandbox Code Playgroud)
我想要一种从重叠字符串列表到 python 中的最终压缩字符串的方法。我觉得这一定是一个已经有人解决的问题,并且正在努力避免重新发明轮子。我现在可以想象的方法要么是蛮力,要么是通过使用biopython和序列比对器变得比我想要的更复杂。我有一些简单的短字符串,只想以简单的方式正确合并它们。
有没有人有关于在 python 中执行此操作的好方法的建议?谢谢!
这是一个快速排序的解决方案:
s = ['SGALWDV', 'GALWDVP', 'ALWDVPS', 'LWDVPSP', 'WDVPSPV']
new_s = sorted(s, key=lambda x:s[0].index(x[0]))
a = new_s[0]
b = new_s[-1]
final_s = a[:a.index(b[0])]+b
Run Code Online (Sandbox Code Playgroud)
输出:
'SGALWDVPSPV'
Run Code Online (Sandbox Code Playgroud)
该程序s按每个元素的第一个字符的索引值进行排序,试图找到使第一个元素和所需输出之间的重叠距离最大化的字符串。