我正在解一个谜,我有一个很大的数字字符串的几个片段。起初,它们似乎是随机的,但通过一些频率分析,我了解到它们都是一个大字符串的片段。
问题是这些切片可能包含大字符串的单独部分,但不包含它们所在位置的信息,甚至可能包含单独的子字符串。例如:
text: 0102030405060708091011121314151617181920
slice 1: 010203041516171819
slice 2: 030405060717181920
slice 3: 060708091011121314
slice 4: 040506071213141516
请注意,通过滑动切片,我可以重建原始文本:
slice 1: 01020304 1516171819
slice 2: 0304050607 17181920
slice 3: 060708091011121314
slice 4: 04050607 1213141516
由于原始文本可能是数百甚至数千位数字,手动完成它是非常困难和耗时的。我有一个80个切片的集合,它们应该产生一个合并的字符串,这是原始文本,而我没有。
我搜索了一些字符串匹配算法,例如最长的公共子字符串,但它们不包括拆分切片以尝试匹配。此外,diff算法通常不支持一次合并多个字符串,并且两个切片包含的共同之处太少,因此这一点没有用,通常会给出错误的匹配,最终失败。
发布于 2020-03-06 03:44:05
如果我有这样的名声,我会发表评论,但这个问题看起来类似于从大量小的测序片段组装基因组。我不确定最新的技术是什么,但我是如何被教导如何做到这一点的。
这个问题(关于基因组组装-但同样可能适用)可能会有所帮助:http://rosalind.info/problems/grep/
和来自Rosalind的关于De Brujin图http://rosalind.info/search/?q=%20bruijn的问题子集
https://stackoverflow.com/questions/60556884
复制