bioawk使用

, 20 Dec 2019



awk是我很喜欢的处理文本文件的工具,称他为一种语言也不过分了。但是在处理生信文件时还是不方便。另一种选择就是使用bioawk。唯一的短板就是无法使用awk内置变量,无法同时操作多个文件。

安装

使用

1.提取没有标题未映射读取

bioawk -c sam 'and($flag,4)' example.sam

2.提取标题映射读取

bioawk -Hc sam '!and($flag,4)' example.bam

3.反向互补fasta,revcomp函数

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

4.从SAM创建 FASTA ( 如果标志16,则使用 revcomp )

samtools view example.bam | bioawk -c sam '{s=$seq; if(and($flag, 16)) {s=revcomp($seq)} print">"$qname"n"s}'

5.从VCF打印样本 foo 和 bar的基因型

grep -v ^## in.vcf | bioawk -tc hdr '{print $foo,$bar}'
#hdr或者 header 根据输入中的第一行来命名每个列。 第一个字符中的特殊字符将转换为下划线
#用R习惯了,很容易上手

6.将fa打印成表格形式,以“Tab”分隔

bioawk -t -c fastx '{print $name,$seq}' input.fa

7.还有gc函数统计GC含量

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

8.fq转fa

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

还有各种函数meanqual–计算Phred平均值,length,trimq(30,0,5)剪掉质量值低于30,碱基位置从0-5的片段;