基于标题名称的fasta序列替换脚本

时间:2015-07-02 15:20:19

标签: alignment fasta

我有两个fasta文件(一个文件大约有50,000个,另一个有150,000个序列),有两种标头格式。我想根据标题名称替换一个文件中的感兴趣的序列(我有两个fasta文件的两个标题列表作为txt格式)。你能告诉我该怎么办?

例如,文件1和2的标头格式分别为>contig10002|m.12543>c26528_g1_i1|m.14066,我想将文件2中>c26528_g1_i1|m.14066的相关序列替换为{的相关序列{1}}。

提前致谢

1 个答案:

答案 0 :(得分:0)

一个建议是使用BioPython。它可以解析f​​asta文件并对其进行格式化,并且可以处理不同格式的标头。

例如,以下是如何读取fasta文件并循环ID:

fasta_sequences = SeqIO.parse(open('file1.fasta'),'fasta')
for fasta in fasta_sequences:
    # do something with fasta.id, e.g. >c26528_g1_i1|m.14066

以下是编写fasta记录的方法:

with open(output_file, 'w') as output_handle:
for fasta in fasta_sequences:
    SeqIO.write([fasta], output_handle, "fasta")

您可能想要开始阅读BioPyton Tutorial and Coookbook