samtools flags 分解
bam文件的第二列的flag值,代表了当前read比对到基因组序列的基本情况。flag值由2的0次方到2的11次方这11个数字组成,即1,2,4,8,16,32,64,128,256,512,1024,2048。每个数字表示的比对情况这里不赘述,当获得当前read的flag值时,如何拆解成flag最初的值呢,这里提供一个脚本,权当记录备忘了,大家有更便捷的方法,欢迎交流。
程序主体如下:
1 #!/usr/bin/perl 2 use strict; 3 use autodie; 4 use warnings; 5 6 sub o2bn{ 7 my $n = shift; 8 my $b = sprintf("%b", $n); 9 my @str = split //, reverse $b; 10 my @result; 11 for(my $i=0; $i<@str; $i++){ 12 if($str[$i] eq '1'){ 13 push @result, 2**$i; 14 } 15 } 16 return @result; 17 } 18 19 print "please input flag number [quit:0]: "; 20 while(my $number = <STDIN>){ 21 last if $number == 0; 22 my @ret = o2bn($number); 23 print "result is : @ret\n"; 24 print "please input flag number [quit:0]: "; 25 }
结果:
作者:天使不设防
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
标签:
bam文件flags
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!