Compression Sequitur算法的Python实现?

Compression Sequitur算法的Python实现?,compression,sequences,Compression,Sequences,我需要在一个生物信息学项目中使用Sequitur算法,但到目前为止,我还没有找到该算法的任何Python实现。到目前为止,我得到的是: def new_rule(sequence,rules,x,y,z): y = list(y) if max(y) > 1: ind = y.index(max(y)) locations = np.zeros(max(y)) counter = 0 for i,

我需要在一个生物信息学项目中使用Sequitur算法,但到目前为止,我还没有找到该算法的任何Python实现。到目前为止,我得到的是:

    def new_rule(sequence,rules,x,y,z):
    y = list(y)
    if max(y) > 1:
        ind = y.index(max(y))

        locations = np.zeros(max(y))

        counter = 0
        for i, j in enumerate(z):
            if j == x[ind]:
                locations[counter] = i
                counter+=1

    new_rule = 'A'+str(len(rules)+1)
    rules.append([new_rule,x[ind]])

    return sequence.replace(x[ind],new_rule), rules

def word_count(sequence):
    return len(sequence)-sequence.count(' ')

def recursive_sequitur(sequence,rules):
    count_down = word_count(sequence)-1

x,y,z = n_grams(sequence,count_down)

while count_down>1:
    if len(y) > 1 and max(y) > 1:
        sequence, rules = new_rule(sequence,rules,x,y,z)
        x,y,z = n_grams(sequence,count_down)

    else:
        count_down-=1
        x,y,z = n_grams(sequence,count_down)

return sequence, rules
你看过Python吗

我们实现了Sequitur的串行和并行版本 压缩算法。Sequitur算法使用层次结构 用于压缩文件的离散符号的结构和序列 利用字符串中的重复结构

:Sequitur算法的简单并行实现。在主进程按顺序合并所有结果之前,文本在运行串行算法版本的工作进程之间进行拆分