生物信息學/SAM數據格式

維基教科書,自由的教學讀本

SAM(The Sequence Alignment/Map format)格式,即序列比對文件的格式。詳細的介紹文檔:

http://samtools.github.io/hts-specs/SAMv1.pdf

SAM文件由兩部分組成:頭部區和主體區,都以tab分列。

  • 頭部區:以'@'開始,體現了比對的一些總體信息。比如比對的SAM格式版本,比對的參考序列,比對使用的軟件等。
  • 主體區:比對結果,每一個比對結果是一行,有11個主列和1個可選列。

SAM頭部區簡要介紹[編輯]

@HD VN:1.0 SO:upsorted
		头部区第一行:VN是格式版本;SO表示比对排序的类型,
		有unkown(default), unsorted, query name和coordinate几种。
		samtools软件在进行排序后不能自动更新bam文件的SO值。picard却可以。
@SQ SN:A.auricula_all_contig_1 LN:9401
		参考序列名。这些参考序列决定了比对结果sort的顺序。SN是参考序列名;LN是参考序列长度;
@RG ID:sample01
		Read Group. 1个sample的测序结果为1个Read Group;该sample可以有多个library的测序结果。
		数据编号信息。若对数据进行编号,则将其信息记录在@RG中。
		GATK软件运行时输入的SAM格式文件中必须含有该信息。
@PG ID:bowtie2 PN:bowtie2 VN:2.0.0-beta7
		生成SAM文件所使用的比对件。
主體部分有11個主列和1個可選列。其解釋如下:
Field 描述
1 QNAME 比對的序列名
2 FLAG bitwise FLAG(表明比對類型:pairing, strand, mate strand 等)按位計算值,值變成二進制後,不同位表示相應的比對信息
3 RNAME 比對上的參考序列名
4 POS 1-Based的比對上的最左邊的定位
5 MAPQ 比對質量 (Phred)
6 CIAGR Extended CIGAR string (操作符:MIDNSHP)比對結果信息:匹配鹼基數,可變剪接等。
7 MRNM 相匹配的另外一條序列,比對上的參考序列名
8 MPOS 1-Based leftmost Mate POsition
9 ISIZE 插入片段長度
10 SEQ 和參考序列在同一個鏈上的比對序列(若比對結果在負義鏈上,則序列是其反向重複序列)
11 QUAL QUALity比對序列的質量(ASCII-33=Phred base quality)
12 OPT OPTional可選的行,以TAG: TYPE: VALUE的形式提供額外的信息
SAM文件第2列的FLAG值的介紹:
字符 二進制 十進制 描述
p 0x0001 1 該read是成對的paired reads中的一個
P 0x0002 2 Paird reads中每個都正確比對到參考序列
u 0x0004 4 該read沒比對到參考序列上
U 0x0008 8 與該read成對的另一端的read沒有比對到參考序列上
r 0x0010 16 該read和參考序列相比,是反向互補的
R 0x0020 32 與該read成對的另一端的read是反向互補的
1 0x0040 64 在Paired reads中,該read是第1條
2 0x0080 128 在Paired reads中,該read是第2條
s 0x0100 256 次優的比對結果
f 0x0200 512 沒有通過質量控制
d 0x0400 1024 PCR重複或光學重複

BWA生成的TAGS[編輯]

BWA生成以『X』 開頭的Tags
Tag Meaning
NM Edit distance
MD 錯配位置/鹼基
AS 比對得分
BC Barcode序列
X0 最佳匹配的次數
X1 BWA找到的次優比對數量
XN 參考文獻中不明確的N鹼基數量
XM 比對中錯配的數量
XO gap的數量
XG gap延伸的次數
XT 類型: Unique唯一/Repeat重複/N/Mate-sw
XA 可選匹配; 格式format: (chr,pos,CIGAR,NM;)*
XS 次優比對得分
XF 支持正鏈/負鏈比對
XE 支持的seeds數

XO和XG是由BWT搜索生成,CIGAR字符串有Smith-Waterman比對,這兩個內容不同不是bug。

在使用bwa、bowtie、tophat、hisat或STAR比對軟件對reads進行比對後,可以獲得了 SAM文件。這些sam文件記錄着比對的結果。但是在後續分析中常常需要對sam格式文件進行操作。比如,對比對結果按reads比對到參考序列的位置進行排序,以利於下一步的分析。