我想使用 Bio.trie 作为序列的索引来计算每个序列在数据集中出现的次数。索引是这样创建的:
seqs = trie()
for seq in dataset:
if seqs.has_key(seq):
seqs[seq] += 1
else:
seqs[seq] = 1
之后,我想从特里提取一些信息,例如只计算过一次的序列列表。可以这样做:
singletons = []
for seq in seqs.keys():
if seqs[seq] == 1:
singletons.append(seq)
问题是我正在使用的机器内存不足,调用 trie.keys() 返回一个列表对象,该对象大致与 trie 本身一样大。是否可以使用生成器而不是列表来迭代键,以便一次只能获得一个键?