【问题标题】:Script for fasta sequence replacement based on header name基于标题名称的fasta序列替换脚本
【发布时间】:2015-07-08 17:45:34
【问题描述】:

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

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

提前致谢

【问题讨论】:

    标签: alignment fasta


    【解决方案1】:

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

    例如,您可以通过以下方式读取 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-21
      相关资源
      最近更新 更多