将重叠的子序列组合回原始序列

时间:2018-05-12 17:54:53

标签: python-3.x

我使用以下函数生成字符串

的子序列
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?的解决方案似乎不适用于此特定示例。

如果我有一个原始序列列表,并希望将重叠的子序列列表与原始序列列表匹配,那该怎么办呢?

0 个答案:

没有答案