提高解析速度

2024-06-16 08:55:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从三个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)

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


Tags: 文件in标题onlygetlenfilenamefasta