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()
 
         

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM