批量求fasta格式序列长度

linux下用awk计算fasta序列的长度

fasta序列文件data.fa

  1. >Gorai.004G111100.1
  2. ATGGGTACTGCTCCAACCCAGTGCCCTTCTGGAATCACTGCAAATTTCCACGCCAAATTTGATAACAGAACTGAGTTTTC
  3. >Gorai.004G111100.2
  4. ATGTTTTTCATGCTCCGGTGGACAAGATACTCTGGGATGCCGGGGAACAGTTTTTCCTTTTCTTGGCAGACATATGCACATAAAATTCTT
  5. >Gorai.004G111100.3
  6. ATGGGTACTGCTCCAACCCAGTGCCCTTCTGGAATCACTGCAAATTTCCAC
  7. >Gorai.004G111100.4
  8. ATGGGAATGCATGAACTAGCAGCCAAAGTTGATGAGT

首先将fasta序列转换成一行显示,命令如下:

  1. awk '/^>/&&NR>1{print "";}{ printf "%s",/^>/ ? $0"%":$0 }' data.fa >data2.fa

结果:

  1. >Gorai.004G111100.1%ATGGGTACTGCTCCAACCCAGTGCCCTTCTGGAATCACTGCAAATTTCCACGCCAAATTTGATAACAGAACTGAGTTTTC
  2. >Gorai.004G111100.2%ATGTTTTTCATGCTCCGGTGGACAAGATACTCTGGGATGCCGGGGAACAGTTTTTCCTTTTCTTGGCAGACATATGCACATAAAATTCTT
  3. >Gorai.004G111100.3%ATGGGTACTGCTCCAACCCAGTGCCCTTCTGGAATCACTGCAAATTTCCAC
  4. >Gorai.004G111100.4%ATGGGAATGCATGAACTAGCAGCCAAAGTTGATGAGT

长度计算:

  1. awk -F"%" '{print $1"\t"length($2)}' data2.fa >data3.fa

结果:

  1. >Gorai.004G111100.1 80
  2. >Gorai.004G111100.2 90
  3. >Gorai.004G111100.3 51
  4. >Gorai.004G111100.4 37

 

评论  2  访客  2
    • 原创作者 1

      原创地址: http://tiramisutes.github.io/2015/11/08/fa-length.html

      • yuan102379 0

        不错 哈哈

      发表评论

      匿名网友

      拖动滑块以完成验证
      加载失败