提高解析速度

时间:2017-09-20 05:46:44

标签: python performance

我正在尝试从三个fasta文件中提取标头并比较它们的标头。但是,它仅适用于较小的文件。当文件大小为几GB时,python脚本会自行终止。

我的代码是:

from Bio import SeqIO

def get_header(filename):
    parts = SeqIO.parse(filename, 'fasta')
    headers = map(lambda x: x.id, parts)
    return set(headers)

bact1 = get_header('file1.fasta')
bact2 = get_header('file2.fasta')
bact3 = get_header('file3.fasta')


print 'Only in bact1:', len(bact1 - bact2 - bact3)
print 'Only in bact2:', len(bact2 - bact1 - bact3)
print 'Only in bact3:', len(bact3 - bact1 - bact2)

如果你能表现出洞察力,我将不胜感激。

0 个答案:

没有答案