SAM要處理好的問題:ios
(1)很是多序列(read),mapping到多個參考基因組(reference)上;app
(2)同一條序列,分多段(segment)比對到參考基因組上;編碼
(3)無限量的,結構化信息表示,包括錯配、刪除、插入等比對信息;.net
SAM分爲兩部分,註釋信息(header section)和比對結果部分(alignment section)。orm
註釋信息無關緊要,都是以@開頭,用不一樣的tag表示不一樣的信息,主要有@HD,說明符合標準的版本、比對序列的排列順序;@SQ,參考序列說明;@RG,比對上的序列(read)說明;@PG,使用的程序說明;@CO,任意的說明信息。ip
比對結果部分,每一行表示一個片斷的比對信息,包括11個必須的字段和一個可選字段。ci
第一列:QNAME,read name,read的名字一般包括測序平臺等信息;字符串
第二列:FLAG,sum of flags,每一個數字表明一種比對狀況,這裏的值是符合狀況的數字相加總和。get
1 read是pair中的一條(read表示本條read,mate表示pair中的另外一條read)it
2 pair一正一負完美的比對上
4 這條read沒有比對上
8 mate沒有比對上
16 這條read反向比對
32 mate反向比對
64 這條read是read1
128 這條read是read2
256 第二次比對
512 比對質量不合格
1024 read是PCR或光學副本產生
2048 輔助比對結果
經過這個和能夠直接推斷出匹配的狀況。假如說標記不是以上列舉出的數字,好比說83=(64+16+2+1),就是這幾種狀況值和。
第三列:RNAME,reference sequence name,實際上就是比對到參考序列上的染色體號。如果沒法比對,則是*;
第四列:POS,read比對到參考序列上,第一個鹼基所在的位置,從1開始計數。如果沒法比對,則是0;
第五列:MAPQ,Mapping quality,比對的質量分數,越高說明該read比對到參考基因組上的位置越惟一;
第六列:CIGAR,簡要比對信息表達式(Compact Idiosyncratic Gapped Alignment Report),以參考序列爲基礎,使用數字加字母表示比對結果,好比3S6M1P1I4M,前三個鹼基被剪切去除了,而後6個比對上了,而後打開了一個缺口,有一個鹼基插入,最後是4個比對上了,是按照順序的;
「M」表示 match或 mismatch;
「I」表示 insert;
「D」表示 deletion;
「N」表示 skipped(跳過這段區域);
「S」表示 soft clipping(被剪切的序列存在於序列中);
「H」表示 hard clipping(被剪切的序列不存在於序列中);
「P」表示 padding;
「=」表示 match;
「X」表示 mismatch(錯配,位置是一一對應的);
第七列:RNEXT,MRNM(chr),mate的reference sequence name,實際上就是mate比對到的染色體號,如果沒有mate,則是*;
第八列:PNEXT,mate position,mate比對到參考序列上的第一個鹼基位置,若無mate,則爲0;
第九列:TLEN,Template的長度,ISIZE,Inferred fragment size.詳見Illumina中paired end sequencing 和 mate pair sequencing,是負數,推測應該是兩條read之間的間隔(待查證),若無mate則爲0;
第十列:SEQ,Sequence,就是read的鹼基序列,若是是比對到互補鏈上則是reverse completed eg.CGTTTCTGTGGGTGATGGGCCTGAGGGGCGTTCTCN
第十一列:QUAL,ASCII,read質量的ASCII編碼。
第十二列以後:Optional fields,可選的區域
sam可選字段釋義: MC MC:Z:<CIGAR> 配對的那條read的CIGAR NM NM:i:<N> 插入/刪除/替換的鹼基總個數,不包含頭尾被剪切的序列。通常來講等於序列中error base的個數 AS AS:i:<N> 匹配的得分。只有當匹配大於等於1出現。可爲負,在local下爲正。 XS XS:i:<N> 次優匹配的得分。當匹配大於1時出現。 XA XA:Z:<chr,pos,CIGAR,NM;chr,pos,CIGAR,NM;chr,pos,CIGAR,NM;...> 備選的。format: (chr,pos,CIGAR,NM;)* SA SA:Z:<chr,pos,+/-,CIGAR,MPQ,NM;> 第二最佳命中位置和標記(bwa的在vcf中表示爲supplementary) MD MD:Z:<S> 比對上的錯配鹼基的字符串表示,不考慮軟硬切 (替換:寫reference原始鹼基;插入:不表達;刪除:^(刪除的鹼基)) RG RG:Z:<readID> read組ID