我使用以下函数生成字符串
的子序列import numpy as np
class SlidingKmerFragmenter:
"""
Slide only a single string
"""
def __init__(self, k_low, k_high):
self.k_low = k_low
self.k_high = k_high
self.rng = np.random.RandomState(1234)
def apply(self, seq):
return [seq[i: i + self.rng.randint(self.k_low, self.k_high + 1)] for i in range(len(seq) - self.k_high + 1)]
例如,我可以做
generator = SlidingKmerFragmenter(1, 6)
generator.apply("DHDHDDHEBENRJ")
获取此字符串的重叠子序列,其中每个子序列的范围为1到6个字符。
如何从此函数的输出回到原始字符串?我想将子序列连接在一起,但有些部分是重叠的。
谢谢! 千斤顶
编辑:只是为了澄清,由于我的示例字符串中重复的Ds和Hs,此处How can I merge overlapping strings in python?的解决方案似乎不适用于此特定示例。
如果我有一个原始序列列表,并希望将重叠的子序列列表与原始序列列表匹配,那该怎么办呢?