sam格式詳細(xì)說明

The SAM Format Specification(sam格式說明)

1 The SAM Format Specification

sam是一種序列比對后的輸出格式膀斋,以tab作為分隔符旷偿,包括頭部信息和比對信息痴脾。其中頭部信息必須在比對信息之前。頭部信息的開頭是@,但是比對行不是。每一個比對行有11個重要的比對信息元素歌馍,如果比對位置和校準(zhǔn)信息等。

1.1 An example

FCC0YG3ACXX:2:1103:1572:139769#GCTTAATG 99 chr10 60001 0 90M = 60390 479 GAATTCCTTGAGGCCTAAATGCATCGGGGTGCTCTGGTTTTGTTGTTGTTATTTCTGAATGACATTTACTTTGGTGCTCTTTATTTTGCG CCCFFFFFHHHHHJJJJJJJJIJJJJJJJ?HHGIJJJBFHIJIJIDHIHIEHJJIJJIJJJHHGHHHFFFFFFEDCEEECCDDDDEECDD XT:A:R NM:i:0 SM:i:0 AM:i:0 X0:i:2 X1:i:0 XM:i:0 XO:i:0 XG:i:0 MD:Z:90 XA:Z:chr18,+14415,90M,0; RG:Z:120618_I245_FCC0YG3ACXX_L2_SZAXPI010030-30

悅書PDF截圖20181129141256.png

1.2 Terminologies and Concepts

1-based coordinate system

  • 從1開始數(shù)晕鹊, SAM, GFF and Wiggle 用的是這個松却。

0-based coordinate system

  • 從0開始數(shù), BAM, BED, and PSL用的是這個捏题。

Phred scale

  • 給一個概率0 < p <= 1 , 值是一個 ?10log10p玻褪,要做一個四舍五入

1.3 The header section

每個標(biāo)題行以字符“@”開頭,后面是兩個字母的記錄類型代碼公荧。在標(biāo)題中,每一行都是由制表符分隔的同规,除了@CO行循狰,每個數(shù)據(jù)字段都遵循格式“TAG:VALUE”,其中TAG是一個兩個字母的字符串券勺,定義了內(nèi)容和值的格式绪钥。每個標(biāo)題行應(yīng)該匹配:/ ^ @[A-Za-z][A-Za-z](\ t[A-Za-z][A-Za-z0-9]:[- ~]+)+ $ /或/ ^ @CO \ t。* /关炼。包含小寫字母的標(biāo)記保留給最終用戶程腹。
下表給出了定義的記錄類型和標(biāo)記。當(dāng)記錄類型出現(xiàn)時儒拂,需要帶有“*”的標(biāo)記寸潦。

Tag Description
@HD 首行,輸出文件的第一行
VN* 格式版本社痛,接受的格式:/^[0-9]+.[0-9]+$/
SO 比對排序见转,有unknown (default), unsorted, queryname and coordinate,對于coordinate,排序的主鍵是RNAME蒜哀,其順序由標(biāo)題中的@SQ行順序定義斩箫,次要排序鍵是POS字段。對于RNAME和POS相等的對齊撵儿,順序是任意的乘客。在RNAME字段中,所有帶有“*”的對齊都跟隨帶有其他值的對齊淀歇,但是其他的對齊順序是任意的易核。
Tag Description
@SQ 參考序列字典,@SQ行的順序定義了對齊排序順序房匆。
SN* 參考序列名字(染色體)耸成。每一個@SQ行必須含有一個去重的SN標(biāo)簽报亩。這個字段的值是用于RNAME和PNEXT比對的記錄。正則表達(dá)式[!-)+-<>-][!-]*
LN* 參考序列長度井氢,范圍:[1,2,29 -1]
AS 基因組裝配標(biāo)識符弦追。
M5 MD5用大寫字母校驗(yàn)序列,并去掉gap和空格
SP 物種
UR 序列的URI花竞。這個值應(yīng)該從一個標(biāo)準(zhǔn)的協(xié)議開始劲件,e.ghttp:或ftp:,如果不是1??這些協(xié)議作為開始约急,那么就應(yīng)該是文件系統(tǒng)路徑
Tag Description
@RG read組零远,允許有多個無序的@行
ID* read組標(biāo)識符。每一個@RG行必須含有一個去重的ID厌蔽。ID這個值會被用來作為比對報(bào)告的RG標(biāo)簽
CN 測序中心提供的read名稱
DS 描述
DT 測序的日期 (ISO8601 date or date/time)
FO 流的順序牵辣。核苷酸堿基陣列,與每次讀取的每個流所使用的核苷酸相對應(yīng)奴饮。多堿基流以IUPAC格式編碼纬向,非核苷酸流以各種其他字符編碼。格式:/ \ * | ACMGRSVTWYHKDBN + /
KS 與每次reads的鍵序列所對應(yīng)的核苷酸堿基數(shù)組
LB 文庫
PG 產(chǎn)生read組的程序
PI 預(yù)測的中值插入大小
PL 用于產(chǎn)生reads的平臺/技術(shù)戴卜。Valid values: CAPILLARY, LS454, ILLUMINA, SOLID, HELICOS, IONTORRENT and PACBIO
PU 平臺單元( Illumina or slide for SOLiD的flowcell-barcode.lane)逾条。惟一標(biāo)識符。
SM 樣本投剥,用被測序的池命名
Tag Description
@PG 程序
ID* 程序記錄標(biāo)識符师脂。每個@PG線必須有一個唯一的ID, ID的值用于其他@PG線程的比對PG標(biāo)簽和PP標(biāo)簽。在合并SAM文件以處理沖突時江锨,可以修改PG id吃警。
PN 程序名字
CL 命令行
PP 以前的@PG-ID。必須匹配另一個@PG標(biāo)題的ID標(biāo)簽泳桦√阑眨可以使用PP標(biāo)記鏈接@PG記錄,鏈中的最后一條記錄沒有PP標(biāo)記灸撰。該鏈定義應(yīng)用于對齊的程序的順序谒府。在合并SAM文件以處理PG id沖突時,可以修改PP值浮毯。鏈中的第一個PG記錄(即SAM記錄中的PG標(biāo)記所引用的記錄)描述了在SAM記錄上操作的最新程序完疫。鏈中的下一個PG記錄描述了在SAM記錄上操作的下一個最新程序。SAM記錄上的PG ID不需要引用鏈中最新的PG記錄债蓝。它可以引用鏈中的任何PG記錄壳鹤,這意味著SAM記錄已經(jīng)被PG記錄中的程序操作過,并且程序通過PP標(biāo)記引用饰迹。
VN 程序版本
@CO 單行的text描述芳誓,是一個任意的說明信息余舶。允許多個@CO行無序排列

1.4 The alignment section: mandatory fields(必填)

每一個比對行有11個必填選項(xiàng)。這些字段都是以相同順序出現(xiàn)锹淌,而且必須出現(xiàn)匿值,但是這些值可以為0或*(取決于字段)如果無法獲得相應(yīng)的信息。下表概述了SAM格式的強(qiáng)制字段:

Col Field Type Regexp/Range Brief description
1 QNAME String [!-?A-~]{1,255} 查詢模板名稱
2 FLAG Int [0,2^16 -1] 位標(biāo)記赂摆,template mapping情況的數(shù)字表示挟憔,每一個數(shù)字代表一種比對情況,這里的值是符合情況的數(shù)字相加總和
3 RNAME String *|[!-()+-<>-][!-]* 參考序列名稱
4 POS Int [0,2^29 -1] 基于1的最左比對位置
5 MAPQ Int [0,2^8 -1] MAPping質(zhì)量
6 CIGAR String *|([0-9]+[MIDNSHPX=])+ CIGAR字符串
7 RNEXT String *|=|[!-()+-<>-][!-]* 比對到的參考(染色體)名字
8 PNEXT Int [0,2^29 -1] 配對到的第一個堿基的位置
9 TLEN Int [-2 29 +1,2 29 -1] 可以理解為文庫插入片段長度
10 SEQ String *|[A-Za-z=.]+ 序列片段
11 QUAL String [!-~]+ phred -scale基本質(zhì)量+33的ASCII碼

1.QNAME:查詢模板名稱烟号。具有相同QNAME的read/片段被認(rèn)為來自相同的模板绊谭。QNAME ' * '表示信息不可用。
2.FLAG 位標(biāo)記汪拥,下表是每一個代號代表的意義:

Bit Description
1 read是pair中的一條(read表示本條read达传,mate表示pair中的另一條read)
2 pair一正一負(fù)完美的比對上
4 片段未比對上
8 mate沒有比對上
16 這條read反向比對
32 mate反向比對
64 這條read是read1
128 這條read是read2
256 第二次比對
512 沒有通過質(zhì)量控制
1024 read是PCR或光學(xué)副本產(chǎn)生
2048 輔助比對結(jié)果
  • 0x4是唯一可靠的告訴我們片段未比對上,如果0x4出現(xiàn)了喷楣,RNAME, POS, CIGAR, MAPQ, 0x2, 0x10 和 0x100 和 0x20都是沒有的
  • 如果0x40和0x80都存在趟大,片段就是線性模板的一部分,但是既不是第一部分也不是最后一個部分铣焊,如果0x40和0x80都不存在,模板中片段的索引是未知的罕伯。這可能發(fā)生在非線性模板中曲伊,或者索引在數(shù)據(jù)處理中丟失。
  • 0x100 意味著片段在某些分析中是不會被用到的追他。
  • 如果0x1不存在坟募,0x2, 0x8, 0x20, 0x40 and 0x80也沒啥意義

3.RNAME:比對的參考序列名稱,如果@SQ頭部行存在邑狸,RNAME(如果不是“*”)必須出現(xiàn)在一個 SQ-SN標(biāo)記中懈糯。沒比對上此處就是“*”。然而单雾,一個未必對的片段也有一個坐標(biāo)以便排序赚哗。如果RNAME 是“*”,也就沒有 POS 和 CIGAR硅堆。

4.POS:于1的第一個匹配基的最左映射位置屿储。參考序列中的第一個基的坐標(biāo)是1。對于沒有坐標(biāo)的未映射讀取渐逃,POS設(shè)置為0够掠。如果POS為0,RNAME和CIGAR也就沒有意義茄菊。

5.MAPQ:mapping質(zhì)量疯潭,等于?10log 10Pr(映射位置是錯的)赊堪,四舍五入到最近的整數(shù),值255表示映射質(zhì)量特別差竖哩。

6.CIGAR:CIGAR字符串哭廉。下表為CIGAR字符串的解釋(‘*’表示無值)

Op BAM Description
M 0 比對匹配(可以是序列匹配或不匹配)
I 1 插入到參考
D 2 從參考刪除
N 3 參考的跳過的區(qū)域
S 4 軟剪切(被剪切的序列存在于序列中)
H 5 硬剪切(被剪切的序列不存在于序列中)
P 6 填充(從填充引用中無聲刪除)
= 7 序列匹配
X 8 序列不匹配
  • H 值出現(xiàn)在最初或者最后操作中
  • S 可證在他們和CIRAG末尾字符串中只有H操作
  • 對于mRNA到基因組的比對,一個N操作符代表內(nèi)含子期丰。對于其他類型的比對群叶,沒有定義N的解釋。
  • M/I/S/=/X操作的長度之和等于SEQ的長度钝荡。

7.RNEXT::mate的reference sequence name街立,實(shí)際上就是mate比對到的染色體號,若是沒有mate埠通,則是*

8.PNEXT:如果沒有這個信息(沒比對上)就是0

9.TLEN:如果R1端的read和R2端的read能夠mapping到同一條Reference序列上(即第三列RNAME相同)赎离,則該列的值表示第8列減去第4列加上第6列的值,R1端和R2端相同id的reads其第九列值相同端辱,但該值為一正一負(fù)梁剔,R1文件的reads和R2文件的reads,相同id的reads要相對來看舞蔽。在進(jìn)行該第列值的計(jì)算時荣病,如果取第6列的數(shù)值,一定要取出現(xiàn)M的值渗柿,S或H的值不能取个盆。

10.SEQ:reads片段。如果序列不存在朵栖,就是*颊亮。如果不是*,這個序列的長度等于CIGAR中 M/I/S/=/X的總和陨溅。=表示他的基礎(chǔ)字段(如開始為1)终惑,和參考序列的基礎(chǔ)字段相同。

11.QUAL:堿基質(zhì)量加33的ASCII碼(與Sanger FASTQ格式中的質(zhì)量字符串相同)门扇。一個堿基質(zhì)量是基于錯誤率的phred-scaled等于?10log 10Pr(堿基是錯的)雹有。這個字段可以是“*”。如果它不是*悯嗓,那么seq也不是“*”件舵,它的長度與SEQ的長度得一致。

1.5 The alignment section: optional fields

這里所有的字段都是依照TAG:TYPE:VALUE的格式脯厨, TAG的標(biāo)記是兩個字符铅祸,匹配為/[A-Za-z][A-Za-z0-9]/。在一個比對行每個TAG只可以出現(xiàn)一次。一個TAG含有返回給客戶的小寫字母临梗。

Type Regexp matching VALUE Description
A [!-~] 可印刷字符
i [-+]?[0-9]+ 32位整數(shù)
f [-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)? 單精度浮點(diǎn)數(shù)
Z [ !-~]+ 可打印字符串涡扼,包括空格
H [0-9A-F]+ 十六進(jìn)制格式的字節(jié)數(shù)組
B cCsSiIf+ 整數(shù)或數(shù)字?jǐn)?shù)組

對于整數(shù)或數(shù)字?jǐn)?shù)組(類型' B '),第一個字母表示以下逗號分隔數(shù)組中的數(shù)字類型盟庞。TYPE表示TAG對應(yīng)值的類型吃沪,可以是字符串、整數(shù)什猖、字節(jié)票彪、數(shù)組等。
下表顯示了預(yù)定義的標(biāo)記不狮。你可以自由添加新標(biāo)簽降铸,如果你的新標(biāo)簽很有趣,可以給samtools發(fā)郵件摇零。請注意推掸,以“X”、“Y”和“Z”開頭的標(biāo)記或任何位置包含小寫字母的標(biāo)記都保留給本地使用驻仅,在本規(guī)范的任何未來版本中都不會正式定義谅畅。

字符 含義
AS:i 匹配的得分
XS:i 第二好的匹配的得分
YS:i mate 序列匹配的得分
XN:i 在參考序列上模糊堿基的個數(shù)
XM:i 錯配的個數(shù)
XO:i gap open的個數(shù),針對于比對中的插入和缺失
XG:i gap 延伸的個數(shù)噪服,針對于比對中的插入和缺失
NM:i 編輯距離毡泻。但是不包含頭尾被剪切的序列。一般來說等于序列中error base的個數(shù)
YF:i 該reads被過濾掉的原因粘优⊙雷剑可能為LN(錯配數(shù)太多,待查證)敬飒、NS(read中包含N或者.)、SC(match bonus低于設(shè)定的閾值)芬位、QC(failing quality control无拗,待證)
YT:Z 值為UU表示不是pair中一部分(單末端?)昧碉、CP(是pair且可以完美匹配)英染、DP(是pair但不能很好的匹配)、UP(是pair但是無法比對到參考序列上)
MD:Z 比對上的錯配堿基的字符串表示
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末被饿,一起剝皮案震驚了整個濱河市四康,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌狭握,老刑警劉巖闪金,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡哎垦,警方通過查閱死者的電腦和手機(jī)囱嫩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來漏设,“玉大人墨闲,你說我怎么就攤上這事≈?冢” “怎么了鸳碧?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長犬性。 經(jīng)常有香客問我瞻离,道長,這世上最難降的妖魔是什么仔夺? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任琐脏,我火速辦了婚禮,結(jié)果婚禮上缸兔,老公的妹妹穿的比我還像新娘日裙。我一直安慰自己,他們只是感情好惰蜜,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布昂拂。 她就那樣靜靜地躺著,像睡著了一般抛猖。 火紅的嫁衣襯著肌膚如雪格侯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天财著,我揣著相機(jī)與錄音联四,去河邊找鬼。 笑死撑教,一個胖子當(dāng)著我的面吹牛朝墩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播伟姐,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼收苏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了愤兵?” 一聲冷哼從身側(cè)響起鹿霸,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎秆乳,沒想到半個月后懦鼠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年葛闷,在試婚紗的時候發(fā)現(xiàn)自己被綠了憋槐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡淑趾,死狀恐怖浪南,靈堂內(nèi)的尸體忽然破棺而出慰照,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布杠步,位于F島的核電站曼追,受9級特大地震影響押赊,放射性物質(zhì)發(fā)生泄漏抠刺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一阱飘、第九天 我趴在偏房一處隱蔽的房頂上張望斥杜。 院中可真熱鬧,春花似錦沥匈、人聲如沸蔗喂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缰儿。三九已至,卻和暖如春散址,著一層夾襖步出監(jiān)牢的瞬間乖阵,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工预麸, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瞪浸,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓吏祸,卻偏偏與公主長得像默终,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子犁罩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評論 2 345