有没有办法以记忆友好的方式迭代Bio.trie?

时间:2013-02-22 09:33:38

标签: trie biopython

我想使用Bio.trie作为序列的索引来计算它们在数据集中出现的时间。索引创建如下:

seqs = trie()
for seq in dataset:
    if seqs.has_key(seq):
        seqs[seq] += 1
    else:
        seqs[seq] = 1

之后我想从trie中提取一些信息,例如仅计数一次的序列列表。可以这样做:

singletons = []
for seq in seqs.keys():
    if seqs[seq] == 1:
        singletons.append(seq)

问题在于我正在处理的机器内存不足并且调用trie.keys()会返回一个列表对象,该对象大致与trie本身一样大。是否可以使用生成器而不是列表来迭代键,这样您一次只能获得一个键?

0 个答案:

没有答案