按顺序检索fasta中的序列

时间:2016-04-07 08:14:13

标签: python

我有一个序列ID列表,比如

Bob
Sara
Jess

和包含所有这些序列的fasta格式化文件。我想以与列表中相同的顺序从fasta文件中检索它们。下面的脚本在文件中看到序列后立即写入序列,因此它与列表中的顺序不完全相同。您能否建议如何更改它以按顺序检索seq-s?

from Bio import SeqIO
setA=set()
f1=open('my_list.csv','r')
lines=f1.readlines()
for line in lines:# transcripts
    listA = line.rstrip('\n').split()
    setA.add(listA[0])

input_file = open('all_cds.fa','r')
output_file = open('my_cds.fa','a')
line_width = 60
for key in SeqIO.parse(input_file, 'fasta'):
    contig_name = key.name
    if key.name in setA:
        output_file.write(str('>' + (key.id)) + '\n')
        for i in xrange(0,len(key.seq),line_width):
            output_file.write(str(key.seq[i:i+line_width]) + '\n')
output_file.close()
input_file.close()

0 个答案:

没有答案