如何在序列中找到最大k聚体

时间:2013-11-13 04:13:03

标签: python-2.7 bioinformatics biopython

示例输入:

  

ACGTTGCATGTCGCATGATGCATGAGAGCT#这是我们的顺序   必须搜索

 4 # this is the k-mer(integer value)

示例输出:

  

CATG GCAT

我不明白该怎么做。请帮我。提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果我正确理解你的问题,可以通过以下方式查看这个问题:

s="ACGTTGCATGTCGCATGATGCATGAGAGCT"
n=4
k=len(s)-2*n
klist = []
for i in range(k):
    kmer=s[i:i+n]
    if not(kmer in klist) and (kmer in s[i+n:]):
        klist.append(kmer)
print klist

除非我误解,否则你的例子似乎还有更多的人可以预料到:

['TGCA', 'GCAT', 'CATG', 'ATGA']

n = 5

['TGCAT', 'GCATG', 'CATGA']

即使是n = 6

['TGCATG', 'GCATGA']