美文网首页
工具 | bioawk

工具 | bioawk

作者: shwzhao | 来源:发表于2021-11-19 13:53 被阅读0次

会一点awk很容易上手

1. 介绍

https://github.com/lh3/bioawk

2. 安装

conda install bioawk

3. 参数

3.1 -t

bioawk -t # 相当于
bioawk -F '\t' -v OFS="\t" # 即分隔符、输出分隔符设置为制表符

3.2 -c

3.2.1 help
$ 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:filter 8:strand 9:group 10:attribute
fastx:
        1:name 2:seq 3:qual 4:comment

在这些有规范格式的文件中,对各成分定义了变量,并且添加了一些子命令,非常方便!

3.2.2 fastx

对最熟悉的fasta/fastq文件进行操作

$ cat a.fa
>gene1
actcagatcgatcca
cagatcaggcagtta
cag
>gene2
cagatcagatcagcg
cagatcgcgacagat
cagtctt
$ bioawk -t -c fastx 'BEGIN{print "#geneid\tlength\tGC_content\tsequence"}{print $name,length($seq),gc($seq),$seq}' a.fa
#geneid length  GC_content      sequence
gene1   33      0.484848        actcagatcgatccacagatcaggcagttacag
gene2   37      0.513514        cagatcagatcagcgcagatcgcgacagatcagtctt

gc(): 返回序列gc含量
length():返回长度
revcomp(): 返回互补链
...

3.2.3 hdr or header

甚至可以按自己的第一行进行变量定义

$ cat b.txt
geneid  T1_1    T1_2    T1_3    T2_1    T2_2    T2_3
gene1   1       3       9       2       8       5
gene2   3       4       5       8       0       8
$ bioawk -t -c header '{print $geneid,$T1_1,$T2_1}' b.txt
geneid  T1_1    T2_1
gene1   1       2
gene2   3       8
更多请参考:

github: 李恒:bioawk
简书:刘小泽:一个神奇的小软件bioawk

相关文章

  • 工具 | bioawk

    会一点awk很容易上手 1. 介绍 https://github.com/lh3/bioawk[https://g...

  • bioawk

    bioawk是awk的超集. bioawk能额外解析的生物数据格式 $ bioawk -c help bed:1:...

  • 小工具-bioawk

    相比于awk,bioawk更加方便,因为使用awk,我们不得不数所需要的是第几列,而bioawk则是将其设定为一变...

  • bioawk

    bioawk -c help bed:1:chrom 2:start 3:end 4:name 5:score 6...

  • 读源码学C之阅读李恒的bioawk

    目前尚没有能力直接去阅读htslib的源代码,看到bioawk的代码稍微简单点,因此准备先从这里下手,bioawk...

  • 生信黑板报之bioawk

    bioawk是李恒开发的基于linux awk的一个扩展工具。用过awk的都知道,它是一款逐行处理文本的古老编程语...

  • 统计每条序列的长度

    1.bioawk 输出结果示例: 2.seqkit 输出结果示例:

  • 生信小工具:awk的升级版bioawk

    在处理大批量的常见的fastq,fasta数据时,我们常常会使用一些自己写的一些python或者perl的scri...

  • 生信杂谈:怎样定义sequences比对的相似度?

    继上周后,介绍完Heng Li大神的bioawk之后,继续在他的博客闲逛,读到一篇简单也很有趣的文章。下面我会总结...

  • 一个神奇的小软件bioawk

    刘小泽写于18.7.29 写在前面:之前介绍过文本处理的三剑客,grep、sed、awk,也曾说过,学了awk,让...

网友评论

      本文标题:工具 | bioawk

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