美文网首页生信linuxlinux
awk: 从格式化的fasta中提取部分id的序列

awk: 从格式化的fasta中提取部分id的序列

作者: Amy_Cui | 来源:发表于2021-10-10 02:39 被阅读0次

    看两个fasta的格式,一个是单行的序列,一个是格式化后的序列

    # test.fa
    >id1_1
    ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG
    >id2_1
    ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG
    >id3_1
    ATCGATCGATCGATCGATCGATCG
    
    # test.fa
    >id1_1
    ATCGATCGATCGATCG
    ATCGATCGATCGATCG
    ATCGATCGATCGATCG
    ATCGATCGATCGATCG
    ATCGATCG
    >id2_1
    ATCGATCGATCGATCG
    ATCGATCGATCGATCG
    ATCGATCG
    >id3_1
    ATCGATCGATCGATCG
    ATCGATCG
    

    题目:提取id1和id2的序列,并组成fasta格式的文本

    答案:

    收集id的文本,命名为id.txt

    id1
    id2
    

    第一种文本的代码:

    $ grep -f id.txt test.fa -A 1
    >id1_1
    ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG
    >id2_1
    ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG
    

    第二种文本的代码:

    $ grep -f id.txt test.fa >full_id.txt
    $ awk -v RS=">" -v FS="\n" -v ORS="" 'NR==FNR{a[$1]=$0;}NR>FNR{print ">"a[$1]}' test.fa full_id.txt |sed 's/>>/>/'
    >id1_1
    ATCGATCGATCGATCG
    ATCGATCGATCGATCG
    ATCGATCGATCGATCG
    ATCGATCGATCGATCG
    ATCGATCG
    >id2_1
    ATCGATCGATCGATCG
    ATCGATCGATCGATCG
    ATCGATCG
    

    不用写代码,希望帮到你~

    相关文章

      网友评论

        本文标题:awk: 从格式化的fasta中提取部分id的序列

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