作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要将 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
最佳答案
你见过Parallel Sequitur吗?对于 Python?
We implemented serial and parallel versions of the Sequitur compression algorithm. The Sequitur algorithm uses hierarchical structure and sequences of discrete symbols to compress files by exploiting repetative structures found in strings.
concat_parallel.py :Sequitur 算法的简单并行实现。在主进程按顺序合并所有结果之前,文本在运行串行算法版本的工作人员之间拆分。
关于compression - Sequitur算法的Python实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32402789/
在 Scala 中,我如何表明没有构造函数的类型的值可以遵循任何内容?我想对值进行模式匹配,并让 Scala 告诉我没有模式可以匹配,但我愿意接受其他建议。这是一个简短的例子,说明为什么它会有用。 证
我是一名优秀的程序员,十分优秀!