【问题标题】:Add sequence numbers to FASTA headers将序列号添加到 FASTA 标头
【发布时间】:2016-01-25 12:47:44
【问题描述】:

我有一个 FASTA 序列文件,每个序列都以不同的标题开头。我需要为每个序列头添加以 1 开头的序列号(Seq1、Seq2、Seqn...)。以下是前三个:

输入:

>[organism=Fowl Adenovirus] Fowl Adenovirus FAdV hexon gene, isolate FAdV/SP/1184/2013
AACTGGATCGCGGAAGACGGTAACAAGACAACCATCACCGGACAAATGTCTAA
>[organism=Fowl Adenovirus] Fowl Adenovirus FAdV hexon gene, isolate FAdV/SP/1184/2013
AACTGGATCGCGGAAGACGGTAACAAGACAACCATCACCGGACAAATGTCTAA
>[organism=Fowl Adenovirus] Fowl Adenovirus FAdV hexon gene, isolate FAdV/SP/1184/2013
AACTGGATCGCGGAAGACGGTAACAAGACAACCATCACCGGACAAATGTCTAA

输出:

>Seq1 [organism=Fowl Adenovirus] Fowl Adenovirus FAdV hexon gene, isolate FAdV/SP/1184/2013
AACTGGATCGCGGAAGACGGTAACAAGACAACCATCACCGGACAAATGTCTAA
>Seq2 [organism=Fowl Adenovirus] Fowl Adenovirus FAdV hexon gene, isolate FAdV/SP/1184/2013
AACTGGATCGCGGAAGACGGTAACAAGACAACCATCACCGGACAAATGTCTAA
>Seq3 [organism=Fowl Adenovirus] Fowl Adenovirus FAdV hexon gene, isolate FAdV/SP/1184/2013
AACTGGATCGCGGAAGACGGTAACAAGACAACCATCACCGGACAAATGTCTAA

【问题讨论】:

    标签: perl shell awk


    【解决方案1】:

    一个 awk:

    awk '/^>/{gsub(/^>/,">Seq"i++" ");}1' i=1 file
    

    【讨论】:

    • 这可以简化为:awk '/^>/{sub(/^>/,">Seq"++i" ");}1' file;使用 GNU awk,您还可以使用“-i inplace”选项执行“就地”编辑。
    【解决方案2】:
    sed 's/>/> /' output_3.fasta > output_4.fasta
    perl -pe 'BEGIN { our $i = 1; } s/>/">Seq".($i++)/ge;' < output_4.fasta
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 2011-05-28
      • 1970-01-01
      • 2021-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多