基因组学基础知识与常用软件

三. Fasta文件处理常用命令

2021-03-31  本文已影响0人  小飞虎

1. 提取fasta文件abc.fas中序列>LG02的第164~202碱基之间序列,另存为abc_LG02_164_202.fas:

  $ more abc.fas|awk 'BEGIN{ORS=""}{if(/>/)print "\n"$0"@";else print $0}'|grep LG02|sed 's/@/\n/g'|grep -v '>'|awk '{print substr($0,164+1,202-164-1)}' >abc_LG02_164_202.fas

在文件abc_LG02_164_202.fas第一行插入“>abc_LG02_164_202”

  $ sed -i '1i >abc_LG02_164_202' abc_LG02_164_202.fas

2. 截取fasta文件中序列XXXX及其前后n个碱基的序列:

  $ egrep -o ‘.{n}XXXX.{n}’  abc.fas 

3. 从fasta文件中提取列表list中的序列(list格式:>a\n>b\n):

  $ awk 'NR==FNR{a[$0];next} /^>/{b=($1 in a)} b'  list abc.fas >list.fas

4. 在fasta格式的氨基酸序列文件中,将序列中字符“.”去掉:

  $ more abc.fas|awk '{if(!/>/)gsub(/\./,"");print}' > abc.fasta

5. 去除空行

  $ sed '/^\s*$/d'

6. 批量重命名

  $ ls |grep fastq.gz|awk -F "." '{print$1}'|xargs -I {} mv {}.fastq.gz {}.fq.gz

上一篇 下一篇

猜你喜欢

热点阅读