转载:sam/bam文件格式说明
原文出处:http://www.cnblogs.com/emanlee/p/5366610.html
SAM分为两部分,注释信息(header section)和比对结果部分(alignment section),注释信息可有可无,都是以@开头,用不同的tag表示不同的信息,
主要有@HD,说明符合标准的版本、对比序列的排列顺序;
@SQ,参考序列说明;
@RG,比对上的序列(Read)说明;
@PG,使用的程序说明;
@CO,任意的说明信息
比对结果部分(alignment section)中每一行都包括十二项通过Tab分隔(\t),从左到右分别是:
1 QNAME,序列的名字(Read的名字)
2 FLAG, 概括出一个合适的标记,各个数字分别代表
1 序列是一对序列中的一个
2 比对结果是一个pair-end比对的末端
4 没有找到位点
8 这个序列是pair中的一个但是没有找到位点
16 在这个比对上的位点,序列与参考序列反向互补
32 这个序列在pair-end中的的mate序列与参考序列反响互补
64 序列是 mate 1
128 序列是 mate 2
假如说标记为以上列举出的数目,就可以直接推断出匹配的情况。假如说标记不是以上列举出的数字,比如说83=(64+16+2+1),就是这几种情况值和。
3 RNAME,参考序列的名字(染色体)
4 POS,在参考序列上的位置(染色体上的位置)
5 MAPQ, mapping qulity 越高则位点越独特
bowtie2有时并不能完全确定一个短的序列来自与参考序列的那个位置,特别是对于那些比较简单的序列。但是bowtie2会给出一个值来显示出 这个段序列来自某个位点的概率值,这个值就是mapping qulity。Mapping qulity的计算方法是:Q=-10log10p,Q是一个非负值,p是这个序列不来自这个位点的估计值。
假如说一条序列在某个参考序列上找到了两个位点,但是其中一个位点的Q明显大于另一个位点的Q值,这条序列来源于前一个位点的可能性就比较大。Q值的差距越大,这独特性越高。
Q值的计算方法来自与SAM标准格式,请查看SAM总结。
6 CIGAR,代表比对结果的CIGAR字符串,如37M1D2M1I,这段字符的意思是37个匹配,1个参考序列上的删除,2个匹配,1个参考序列上的插入。M代表的是alignment match(可以是错配)
#standard cigar:
#M match
#I insertion
#D deletion
#extended cigar
#N gap
#S substitution
#H hard clipping
#P padding
#= sequence match
#X sequence mismatch
7 RNEXT, mate 序列所在参考序列的名称; 下一个片段比对上的参考序列的编号,没有另外的片段,这里是’*‘,同一个片段,用’=‘;
8 PNEXT, mate 序列在参考序列上的位置;下一个片段比对上的位置,如果不可用,此处为0;
9 TLEN,估计出的片段的长度,当mate 序列位于本序列上游时该值为负值。Template的长度,最左边得为正,最右边的为负,中间的不用定义正负,不分区段(single-segment)的比对上,或者不可用时,此处为0;
10 SEQ,read的序列;序列片段的序列信息,如果不存储此类信息,此处为’*‘,注意CIGAR中M/I/S/=/X对应数字的和要等于序列长度;
11 QUAL,ASCII码格式的序列质量;序列的质量信息,格式同FASTQ一样。
12 可选的区域
AS:i 匹配的得分
XS:i 第二好的匹配的得分
YS:i mate 序列匹配的得分
XN:i 在参考序列上模糊碱基的个数
XM:i 错配的个数
XO:i gap open的个数
XG:i gap 延伸的个数
NM:i 经过编辑的序列
YF:i 说明为什么这个序列被过滤的字符串
YT:Z
MD:Z 代表序列和参考序列错配的字符串
NH:i:该reads是unique-mapping(1),还是multi-mapping(>=2)