如何编写一个代码来查找“gatccagatccatac”中最常见的2-mer。
我写了这段代码,但似乎我错了,请帮助纠正我。在
def PatternCount(Pattern, Text):
count = 0
for i in range(len(Text)-len(Pattern)+1):
if Text[i:i+len(Pattern)] == Pattern:
count = count+1
return count
这段代码在一个字符串中打印最频繁的k-mer,但是它没有给我
给定字符串中的2-mer。在
Tags:
如果您想要一个简单的方法,可以考虑使用sliding window技术。在more_itertools中提供了一个实现,因此您不必自己创建一个。如果您
pip install more_itertools
,这很容易使用。在简单示例
上面的例子演示了使用
windowed
和Counter
来获取所需的大部分信息。在说明
一个长度为
k=2
的“窗口”或容器在序列中一步一步地滑动(例如step=1
)。每个新组都作为Counter
字典的键添加。每次发生,计数都会递增。最后一个Counter
对象主要报告所有计数,并包括其他helpful features。在最终解决方案
如果实际的字符串对很重要,那也很简单。我们将创建一个通用函数,将字符串分组并适用于任何k mers:
^{pr2}$一般来说,当我想用python计算东西时,我使用
Counter
这将打印
[('CC', 4)]
,这是一个元组中最常见的1
个2-mer的列表,它们的计数在字符串中。在实际上,我们可以将其推广到对给定的
^{pr2}$n
找到最常见的n-单体。在您可以先定义一个函数来获取字符串中的所有k-mer:
然后可以使用
^{pr2}$collections.Counter
来计算每个k-mer的重复次数:输出:
另一个例子:
输出:
相关问题 更多 >
编程相关推荐