def PatternCount(Text,Pattern):
count = 0
for i in range(0,1+len(Text)-len(Pattern)):
if Text[i:i+len(Pattern)] == Pattern:
count = count + 1
return count
def Frequentwords(Text,K):
FrequentPattern = {}
for i in range(0,len(Text)-K):
Pattern = Text(i,K)
Count(i)=PatternCount(Text,Pattern)
maxCount = max(Count)
for i in range(0,len(Text)-K):
if Count(i) == maxCount:
FrequentPattern.add(Text(i,K))
list(set(FrequentPattern))
return FrequentPattern
Text = input("enter DNA sequence: ")
K = int(input("enter the length of the pattern: "))
print(Frequentwords(Text,K))
此代码用于查找字符串文本(DNA序列)中最常见的K-mers(短DNA序列的长度)检查此字符串中出现的所有K-mers(有| Text |− k+1(例如k-mers),然后计算每个k-mers在文本中出现的次数
此行中有一个错误:
Count(i)=PatternCount(Text,Pattern)
它是SyntaxError:无法分配给函数调用
我要这个密码 输入:字符串文本DNA序列和整数k。 输出:文本中所有最常见的k-mers
这一行
Count(i)=PatternCount(Text,Pattern)
没有意义,因为您正在将一个函数分配给另一个函数。如果Count
是一个数组,那么它应该是这样的:您应该将代码中的所有
Count(i)
更改为Count[i]
。下面是修复的代码:基本思想是好的,但是有一些语法错误。我还更改了一些变量名称以符合标准
您可以通过以下方式对此进行优化:
我希望这对你有用
相关问题 更多 >
编程相关推荐