文件格式——Sam&bam文件


Sam&bam文件

SAM是一種序列比對格式標准, 由sanger制定,是以TAB為分割符的文本格式。主要應用於測序序列mapping到基因組上的結果表示,當然也可以表示任意的多重比對結果。當測序得到的fastq文件map到基因組之后,我們通常會得到一個sam或者bam為擴展名的文件。SAM的全稱是sequence alignment/map format。BAM就是SAM的二進制文件(B取自binary)。

SAM由頭文件和map結果組成。頭文件由一行行以@起始的注釋構成map結果是類似下面的東西:SAM輸出的結果中每一行都包括十二項通過Tab分隔,從左到右分別是:

1 序列的名字(ID)

2 概括出一個合適的標記,各個數字分別代表

  • 1? 序列是一對序列中的一個
  • 2? 比對結果是一個pair-end比對的末端
  • 4? 沒有找到位點
  • 8? 這個序列是pair中的一個但是沒有找到位點
  • 16? 在這個比對上的位點,序列與參考序列反向互補
  • 32? 這個序列在pair-end中的的mate序列與參考序列反響互補
  • 64 序列是 mate 1
  • 128 序列是 mate 2

假如說標記為以上列舉出的數目,就可以直接推斷出匹配的情況。假如說標記不是以上列舉出的數字,比如說83=(64+16+2+1),就是這幾種情況值和。

3? 參考序列的名字

4 在參考序列上的位置(頭or尾?)

5? mapping qulity?? 越高則位點越獨特

bowtie2有時並不能完全確定一個短的序列來自與參考序列的那個位置,特別是對於那些比較簡單的序列。但是bowtie2會給出一個值來顯示出 這個段序列來自某個位點的概率值,這個值就是mapping qulity。Mapping qulity的計算方法是:Q=-10log10p,Q是一個非負值,p是這個序列不來自這個位點的估計值。

假如說一條序列在某個參考序列上找到了兩個位點,但是其中一個位點的Q明顯大於另一個位點的Q值,這條序列來源於前一個位點的可能性就比較大。Q值的差距越大,這獨特性越高。

Q值的計算方法來自與SAM標准格式,請查看SAM總結。

6 代表比對結果的CIGAR字符串,如37M1D2M1I,這段字符的意思是37個匹配,1個參考序列上的刪除,2個匹配,1個參考序列上的插入。M代表的是alignment match(可以是錯配)

7? mate 序列所在參考序列的名稱

8 mate 序列在參考序列上的位置

9? 估計出的片段的長度,當mate 序列位於本序列上游時該值為負值。

10 read的序列

11 ASCII碼格式的序列質量

12 可選的區域

  • AS:i? 匹配的得分
  • XS:i? 第二好的匹配的得分
  • YS:i? mate 序列匹配的得分
  • XN:i? 在參考序列上模糊鹼基的個數
  • XM:i? 錯配的個數
  • XO:i? gap open的個數
  • XG:i? gap 延伸的個數
  • NM:i? 編輯距離。但是不包含頭尾被剪切的序列。一般來說等於序列中error base的個數
  • YF:i? 說明為什么這個序列被過濾的字符串
  • YT:Z
  • MD:Z? 代表序列和參考序列錯配的字符串

 

不同軟件比對出來的sam文件略有不同,一下就bowtie以及samtools兩種軟件輸出的文件格式分別說明。

SAM-bowtie2版本

1,簡介:

文件后綴名:.sam

Bowtie2是現下最流行的短序列比對軟件,SAM(Sequence Alignment/Map)格式是一種通用的比對格式,用來存儲reads到參考序列的比對信息。

注釋:以@開頭的行

行:除注釋外,每一行是一個read

列:

第一列:read name,read的名字通常包括測序平台等信息

eg.ILLUMINA-379DBF:1:1:3445:946#0/1

第二列:sum of flags,為flag的總和(整數),flag取值見備注(3)

eg.16

第三列:RNAM,reference sequence name,實際上就是比對到參考序列上的染色體號。若是無法比對,則是*

eg.chr1

第四列:position,read比對到參考序列上,第一個鹼基所在的位置。若是無法比對,則是0

eg.36576599

第五列:Mapping quality,比對的質量分數,越高說明該read比對到參考基因組上的位置越唯一。

eg.42

第六列:CIGAR值,鹼基匹配上的鹼基數。match/mismatch、insertion、deletion 對應字母 M、I、D

eg.36M 表示36個鹼基在比對時完全匹配

注:第七列到第九列是mate(備注1)的信息,若是單末端測序這幾列均無意義。

第七列:MRNM(chr),mate的reference sequence name,實際上就是mate比對到的染色體號,若是沒有mate,則是*

eg.*

第八列:mate position,mate比對到參考序列上的第一個鹼基位置,若無mate,則為0

eg.0

第九列:ISIZE,Inferred fragment size.詳見Illumina中paired end sequencing 和 mate pair sequencing,是負數,推測應該是兩條read之間的間隔(待查證),若無mate則為0

eg.0

第十列:Sequence,就是read的鹼基序列,如果是比對到互補鏈上則對read進行了reverse completed

eg.CGTTTCTGTGGGTGATGGGCCTGAGGGGCGTTCTCN

第十一列:ASCII,read質量的ASCII編碼。

eg.PY[[YY_______________QQQQbILKIGEFGKB

第十二列之后:Optional fields,以tab建分割。詳見備注(2)

eg.AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:35T0 YT:Z:UU

 

擴展

3,應用舉例:

SAM文件可以作為很多后續分析的源文件,也可以從其中提取感興趣的信息。

4,備注:

(1)mate,在Illuminated中有兩種測序技術:paired end sequencing,mate pair sequencing。這兩種測序都是測的一個片段的兩端,這兩端產生的reads被稱為mate1,mate2,單末端測序則無mate。

(2)Optional fields:

AS:i:<N>

     Alignment score.可以為負的,在local下可以為正的。 只有當Align≥1 time才出現

XS:i:<N>

     Alignment score for second-best alignment.  當Align>1 time出現

YS:i:<N>

     Alignment score for opposite mate in the paired-end alignment.   當該read是雙末端測序中的一條時出現

XN:i:<N>

     The number of ambiguous bases in the reference covering this alignment.(推測是指不知道錯配發生在哪個位置,推測是針對於插入和缺失,待查證)

XM:i:<N>

錯配鹼基的數目

XO:i:<N>

The number of gap opens(針對於比對中的插入和缺失)

XG:i:<N>

The number of gap extensions(針對於比對中的插入和缺失)

NM:i:<N>

The edit distance(read string轉換成reference string需要的最少核苷酸的edits:插入/缺失/替換)

YF:Z:<S>

 該reads被過濾掉的原因。可能為LN(錯配數太多,待查證)、NS(read中包含N或者.)、

      SC(match bonus低於設定的閾值)、QC(failing quality control,待證)

YT:Z:<S>

    值為UU表示不是pair中一部分(單末端?)、CP(是pair且可以完美匹配)

   DP(是pair但不能很好的匹配)、UP(是pair但是無法比對到參考序列上)

MD:Z:<S>

    比對上的錯配鹼基的字符串表示

(3)flag取值

0:比對到參考序列的正鏈上(待求證)

1:是paired-end或mate pair中的一條

2:雙末端比對的一條

4:沒有比對到參考序列上

8:是paired-end或mate pair中的一條,且無法比對到參考序列上

16:比對到參考序列的負鏈上

32:雙末端reads的另一條(mate)比對到參考序列的負鏈上

64:這條read是mate 1

128:這條read是mate 2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM