SAM是Sequence Alignment/Map 的缩写,目的是为了个大家提供一个序列比对的通用格式,方便后续处理。SAM.pdf官方文档
ILLUMINA-57021F:5:1:1361:5913#0 81 chr9 103745559 0 40M chr11 51579596 0 ATTTCCTTCTCCTGCCTGATTGCCCTGGCCAGAACTTCCA bT^bbTT`_ccac`caa^bccccccccdddddc^Yad XT:A:R NM:i:0 SM:i:0 AM:i:0 X0:i:2172 XM:i:0 XO:i:0 XG:i:0 MD:Z:40
这个是由Fawn同学提供的SAM格式的比对结果的其中一行(这里就不扯每行的含义了),第二列就是SAM的Flag,它是按位来描述序列的比对模式,方向等信息。官方文档是这么说的,“Field <flag> is a bitwise flag. The meaning of predefined bits is shown in the following table:”
牢骚,忽略之...【就为了wp的table展示阿,我到现在还没睡...愤恨阿,这点比Joomla差远了...】
[table id=1 /]
这个注解是说,第2,4,6,7,8,10位有效的前提是,第一位必须是1
例子中的81换算成二进制就是00001010001(不足11位,首位位补0)【转换方法这里】
从表格中可以看出:
这条比对信息的就是说它是个PE测序的【第一位是1】
并且比对到reference上是反向的【第五位是1】
它本身是这对序列的1#【第七位是1】
后续处理关于验证这个flag,分别从位来判断比对的结果信息,要判断哪一位,就用2^(n-1) AND Flag,返回1就是true,0就是flase
扛不住了,睡觉...