生信软件(1)bioawk

bioawk简介

生信人一定用过三剑客awk、grep、sed,生信牛人——李恒,根据awk的源代码,进行修修补补专门用于生信的小工具。

-c指定文件格式:常用的有bed、sam、vcf、gff、fastax,甚至文件的注释行header也可以

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 
 

-t 将分隔符设为tab

-H 输出文件中依然保留注释头信息(retain header in such SAM files)

>>>>>>>>>>>>>>>>>>>>>>>>下面我们直接上例子,看看这个小工具的强大!!!!!

FASTA文件的处理

准备一个测试文件为:

$ cat sample.fastq 
@A01403:54:HL3WFDRXY:1:2101:8983:1204 1:N:0:AGACCGTA
AACGGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGTCAACTAGCCGTTGGGGTCCTTGAGACTTTAGTGGCGCAGCTAACGCATTAAGTTGACCGCCTGGGGAGTACGGCCGCAAGGTTAAAACTCAAATGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGATGCAAAGCGAAGAACCTTACCAGGGCTTGACATGCCGCGAATCCTCTTGAAAGAGAGGGG
+
FFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF,FFFFFFFFFFFFFFFFF,FFFFFFFFFFFF
@A01403:54:HL3WFDRXY:1:2101:16866:1485 1:N:0:AGACCGTA
AACGGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGAATGCCAGCCGTTGGTGGGTTTACTCACCAGTGGCGCAGCTAACGCTTTAAGCATTCCGCCTGGGGAGTACGGTCGCAAGATTAAAACTCAAAGGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGACGCAACGCGCAGAACCTTACCAGCCCTTGACATGTCCAGGACCGGTCGCAGAGATGTGACC
+
FFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFF,FFFF::FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFF::FFFFFFFFFFF:FFFF:FFFFFFFFF:FFFF:

开始之前我们回顾一下格式

fastx:1:name 2:seq 3:qual 4:comment 

统计序列长度

$ bioawk -c  fastx '{print $name length($seq)}' sample.fastq 
A01403:54:HL3WFDRXY:1:2101:8983:1204244
A01403:54:HL3WFDRXY:1:2101:16866:1485244
$ bioawk -c  fastx '{print $name"\t" length($seq)}' sample.fastq 
A01403:54:HL3WFDRXY:1:2101:8983:1204	244
A01403:54:HL3WFDRXY:1:2101:16866:1485	244

fastq转fasta

按照这个原理,那我们这个转化将变得非常的简单;如果这里不熟悉这两种格式的,可以看https://blog.csdn.net/weixin_60157921/article/details/125889250

$ bioawk -c fastx '{print ">"$name;print $seq }' sample.fastq 
>A01403:54:HL3WFDRXY:1:2101:8983:1204
AACGGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGTCAACTAGCCGTTGGGGTCCTTGAGACTTTAGTGGCGCAGCTAACGCATTAAGTTGACCGCCTGGGGAGTACGGCCGCAAGGTTAAAACTCAAATGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGATGCAAAGCGAAGAACCTTACCAGGGCTTGACATGCCGCGAATCCTCTTGAAAGAGAGGGG
>A01403:54:HL3WFDRXY:1:2101:16866:1485
AACGGGATTAGATACCCTGGTAGTCCACGCCGTAAACGATGAATGCCAGCCGTTGGTGGGTTTACTCACCAGTGGCGCAGCTAACGCTTTAAGCATTCCGCCTGGGGAGTACGGTCGCAAGATTAAAACTCAAAGGAATTGACGGGGGCCCGCACAAGCGGTGGAGCATGTGGTTTAATTCGACGCAACGCGCAGAACCTTACCAGCCCTTGACATGTCCAGGACCGGTCGCAGAGATGTGACC

取特定长度bp的序列;取出大于200bp序列的id ,序列等等

$ bioawk -c fastx 'length($seq)>200bp{print $name}' sample.fastq 
A01403:54:HL3WFDRXY:1:2101:8983:1204
A01403:54:HL3WFDRXY:1:2101:16866:1485

添加前缀

$ bioawk -c fastx '{print ">ASV" $name; $seq}' sample.fastq  
>ASVA01403:54:HL3WFDRXY:1:2101:8983:1204
>ASVA01403:54:HL3WFDRXY:1:2101:16866:1485

统计GC含量

$ bioawk -c fastx '{print $name,gc($seq)}' sample.fastq 
A01403:54:HL3WFDRXY:1:2101:8983:1204	0.528689
A01403:54:HL3WFDRXY:1:2101:16866:1485	0.54918

工具不仅可以处理fatax文件,还可以处理sam文件,等我遇上了,我再补充;也希望你们一起来挖掘呀~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值