python文件处理fasta文件,多行转换为一行

"""将多行文件转换为一行
例:
>001
AAGTCCGGTAA
GGCTAGCTAAC
TTCGAACGACA
>002
GGCTAGCATGA
CACATCGACAC
CAGTAGCATCT
转换为:
>001
AAGTCCGGTAAGGCTAGCTAACTTCGAACGACA
>002
GGCTAGCATGACACATCGACACCAGTAGCATCT
"""
fr=open('test2.fasta', 'r')
fw=open('out.fasta', 'w')
seq={}
for line in fr:
    if line.startswith('>'):    #判断字符串是否以‘>开始’
        name=line.split()[0]    #以空格为分隔符,并取序列为0的项。
        seq[name]=''
    else:
        seq[name]+=line.replace('\n', '')
fr.close()                           

for i in seq.keys():
    fw.write(i)
    fw.write('\n')
    fw.write(seq[i])
    fw.write('\n')
fr.close()
##上述步骤中顺便构建了序列名和序列的字典seq。
#假如要选择指定的ID序列,


for i in seq.keys():
    if i.startswith('>chr1|hos107.1'): #该行命令的添加,可以输出指定ID的序列。
        fw.write(i)
        fw.write('\n')
        fw.write(seq[i])
        fw.write('\n')
fr.close()