SAM,全称Sequence Alignment/Map Format,由header和alignment两部分组成
Header section
#查看header section
:~# samtools view -H SRR3191542.bam | head
@HD VN:1.0 SO:coordinate
@SQ SN:chr1 LN:248956422
@SQ SN:chr2 LN:242193529
@SQ SN:chr3 LN:198295559
解释
header section每一行以@开头,@后面两个字母表示该行的信息类型,共有【HD、SQ、RG、PG】四种。
HD,header的第一行,文件中以下参数不一定全部展示
VN:使用的samtools版本
SO:比对序列的排序,参数包括unknown (default), unsorted, queryname和coordinate
GO:相似序列是否分组,参数包括none (default), query, and reference
SS:比对结果的子排序,格式(coordinate|queryname|unsorted)(:[A-Za-z0-9_-]+)+
SQ,参考序列的字典,@SQ的顺序决定了比对序列的排序
SN:参考序列的名字,对人类基因组而言即染色体
LN:参考序列的长度,范围[1, 2^31-1]
......
RG,Read Group,reads分组信息
PG,Program,使用程序信息
ID:Program record identier
PN:program name
VN:program version
......
Alignment section
每一行记录一个reads的比对信息,一行由11行或以上部分组成
:~#samtools view SRR3191542.bam | head -1
SRR3191542.847431 99 chr1 14370 1 76M = 14499 205 AGCTAGAGATCCTTTATTAAAAGCACACTGTTGGTTTCTGCTCAGTTCTTTATTGATTGGTGTGCCGTTTTCTCTG CCCCCGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG AS:i:0 XS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:76 YS:i:0 YT:Z:CP
FLAG
Flags:
1== 0x1 PAIRED .. paired-end (or multiple-segment) sequencing technology
2== 0x2 PROPER_PAIR .. each segment properly aligned according to the aligner
4== 0x4 UNMAP .. segment unmapped
8== 0x8 MUNMAP .. next segment in the template unmapped
16== 0x10 REVERSE .. SEQ is reverse complemented
32== 0x20 MREVERSE .. SEQ of the next segment in the template is reversed
64== 0x40 READ1 .. the first segment in the template
128== 0x80 READ2 .. the last segment in the template
256== 0x100 SECONDARY .. secondary alignment
512== 0x200 QCFAIL .. not passing quality controls
1024== 0x400 DUP .. PCR or optical duplicate
2048== 0x800 SUPPLEMENTARY .. supplementary alignment
解释
1.SECONDARY: 该序列存在多个比对的结果,主要是基因的重复序列等,选择其中一个作为primary alignment
2.SUPPLEMENTARY: chimeric alignment,由于实验本身或者基因融合等原因,序列的不同部分比对到不同位置。
推荐一个分析flag的网站:
https://www.samformat.info/sam-format-flag-single
通过flag筛选reads
# 获得包含flag=4的序列
samtools view -f 4
# 获得不包含flag=4的序列
samtools view -F 4
MAPQ
计算方法,比如MAPQ为60
60/10 =6,所以这条序列错误比对的概率为 10^-6
按照MAPQ筛选reads
#筛选MAQ大于20的reads
samtools view -q 20 UHR_1.bam > UHR_1_mapq20.bam
CIGAR
CIGAR表示测序比对的质量,位于sam文件第六行
• M match or mismatch,匹配或者不匹配
• I insertion
• D deletion
• S soft clip,被剪切的序列存在于sam文件序列中
• H hard clip,被剪切的序列不存在于sam文件序列中,一般较长
• N skipping,跳跃比较长区域
可参考孟浩巍生物信息学100个基础问题之十九题
https://zhuanlan.zhihu.com/p/36591134