小编Dar*_*ose的帖子

如何优化运行4**k次的python脚本?

编程语言:Python 3.4

我已经为Coursera的生物信息学1课程编写了一个程序.该程序工作正常,但对于大型数据集来说速度非常慢.我想,这是因为循环运行了4**k次,其中k是传递给函数的子字符串的长度.输入:字符串文本模式以及整数d.输出:所有起始位置,其中Pattern显示为Text的子字符串,最多d个不匹配.

这是我的代码:

def MotifCount(string1, substring, d):
    k = 4 ** (len(substring))
    codeArray = list(itertools.product(['A', 'C', 'G', 'T'], repeat=len(substring)))
    for i in range(k):
        codeArray2 = ''.join(list(codeArray[i]))
        HammingValue = HammingDistance(codeArray2, substring)
        if HammingValue <= d:
            for j in range(len(string1)):
                if(string1.find(codeArray2, j) == j):
                    print(j)



def HammingDistance(string_1, string_2):
    length_1 = len(string_1)
    length_2 = len(string_2)
    count = 0
    for i in range(length_1):
        if string_1[i] != string_2[i]:
            count += 1
    return …
Run Code Online (Sandbox Code Playgroud)

python bioinformatics python-3.x

8
推荐指数
1
解决办法
162
查看次数

标签 统计

bioinformatics ×1

python ×1

python-3.x ×1