三. Fasta文件处理常用命令

作者: 小飞虎 | 来源:发表于2021-03-31 17:55 被阅读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

    相关文章

      网友评论

        本文标题:三. Fasta文件处理常用命令

        本文链接:https://www.haomeiwen.com/subject/qwaaqltx.html