【发布时间】:2016-04-28 03:30:17
【问题描述】:
tiny_reads = [
Sequence('CGTGCAA'),
Sequence('TGCAATG'),
Sequence('ATGGCGT'),
Sequence('GGCGTGC'),
Sequence('CAATGGC'),]
dictionary = {}
def kmers(reads, k):
for line in tiny_reads:
for kmer in line.iter_kmers(k, overlap=3):
dictionary[str(kmer)] = 1
print(dictionary)
if str(kmer) not in dictionary:
dictionary[str(kmer)] = 1
else:
dictionary[str(kmer)] += 1
#print(dict)
kmers(tiny_reads, 3)
print(dictionary)
我的代码遍历上面的序列并使用 iter_kmer() 将序列分解为大小为 3 的小片段('CGT')。我想创建一个字典,其中包含所有这些小读数以及它们在序列中的数量。我得到的结果是关闭的,我不知道为什么。
预期结果:
kmers(tiny_reads, 3) {'AAT': 2,'ATG': 3, ...'TGG': 2}
我的结果: {'CAA':2,'GTG':2,'GCA':2,'GCG':2,'ATG':2,'TGC':2,'CGT':2,'AAT':2,' GGC':2,'TGG':2}
我的结果不正确,因为“ATG”重复了 3 次。你们能帮帮我吗?这让我很沮丧。
【问题讨论】:
标签: python dictionary sequence biopython