小工具-bioawk

作者: 斩毛毛 | 来源:发表于2020-05-11 10:04 被阅读0次

    相比于awk,bioawk更加方便,因为使用awk,我们不得不数所需要的是第几列,而bioawk则是将其设定为一变量,更加方便。学习bioawk,对于处理fasta/q,vcf,bed等文件着实方便不少,告别写代码。

    安装

    git clone git://github.com/lh3/bioawk.git && cd bioawk && make && mv awk bioawk
    #或者使用conda
    conda install bioawk
    

    使用

    查看帮助信息

    bioawk -c help
    bed:
        1:chrom 2:start 3:end 4:name 5:score 6:strand 7:thickstart 8:thickend 9:rgb 10:blockcount 11:blocksizes 12:blockstarts
    sam:
        1:qname 2:flag 3:rname 4:pos 5:mapq 6:cigar 7:rnext 8:pnext 9:tlen 10:seq 11:qual
    vcf:
        1:chrom 2:pos 3:id 4:ref 5:alt 6:qual 7:filter 8:info
    gff:
        1:seqname 2:source 3:feature 4:start 5:end 6:score 7:strand 8:frame 9:attribute
    fastx:
        1:name 2:seq 3:qual 4:comment
    
    #各种格式的每一列或者每一行都设为为一个变量,方便记忆,无需查找
    

    基本参数一览

    • -t将输入输出的分隔符设置为tab
    • -c 设置输入文件或想解析的文件的格式
    • -v 设置自定义的变量
    • -H 保留输出结果的header(例如sam file)

    处理fasta文件

    筛选>50的序列

    bioawk -c fastx 'length($seq) > 50{ print $name }' input.fasta
    

    测量fasta序列文件中gc含量

    bioawk -c fastx '{ print $name, gc($seq) }' input.fasta
    

    获取所有序列的反向互补链序列

    bioawk -c fastx '{ print ">"$name;print revcomp($seq) }' input.fasta
    

    修改序列ID,增加前缀或者后缀

    bioawk -c fastx '{ print ">PREFIX"$name; $seq }' input.fasta
    bioawk -c fastx '{ print ">"$name"|SUFFIX"; $seq }' input.fasta
    

    处理fastq文件

    将fastq格式转为fasta格式

    bioawk -c fastx '{print ">"$name; print $seq}' input.fastq
    

    计算fastq中碱基的平均质量分数

    bioawk -c fastx '{print ">"$name; print meanqual($qual)}' input.fastq
    

    处理BED file

    计算bed file中,所对应feature的长度,例如基因的长度

    bioawk -c bed '{ print $end - $start }' test.bed
    

    处理SAM 文件

    bioawk -c sam '{ s=$seq; if(and($flag, 16)) {s=revcomp($seq) } print ">"$qname"\n"s}' input.sam > output.fasta
    

    处理VCF文件

    输出你想要那组samples(这里是foo和bar)所对应的基因型:

    grep -v "^##" in.vcf | bioawk -tc hdr '{print $foo,$bar}'
    

    相关文章

      网友评论

        本文标题:小工具-bioawk

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