bam/sam 文件格式詳解


sam/bam 是一種序列比對格式標准,由sanger制定,是以TAB為分割符的文本格式。主要應用於測序序列mapping到基因組上的結果表示,當然也可以表示任意的多重比對結果。通常是把FASTQ文件格式的測序數據比對到對應的參考基因組版本得到的。

header 部分

sam 分為兩部分,注釋信息(header section )和比對結果部分 (alignment section)。通常是把FASTQ文件格式的測序數據比對到對應的參考基因組版本得到的。注釋信息並不是SAM文件的重點,是該SAM文件產生以及被處理過程的一個記錄,規定以@開頭,用不同的tag表示不同的信息,主要有:

  • @HD,說明符合標准的版本、對比序列的排列順序;
  • @SQ,參考序列說明;
  • @RG,比對上的序列(read)說明;
  • @PG,使用的程序說明;
  • @CO,任意的說明信息。

samtools 查看 header 命令

samtools view -H <.bam>

比對部分

比對部分我們主要看前 11 列

header

  1. QNAME: read 名稱

  2. FLAG: 概括出一個合適的標記,不同的數字代表不同的含義

    FLAG

    第二列是對應的十六進制數,對應的二進制如下

    FLAGG2

    • 1 :代表這個序列采用的是PE雙端測序
    • 2: 代表這個序列和參考序列完全匹配,沒有插入缺失
    • 4: 代表這個序列沒有mapping到參考序列上
    • 8: 代表這個序列的另一端序列沒有比對到參考序列上,比如這條序列是R1,它對應的R2端序列沒有比對到參考序列上
    • 16:代表這個序列比對到參考序列的負鏈上
    • 32 :代表這個序列對應的另一端序列比對到參考序列的負鏈上
    • 64 : 代表這個序列是R1端序列, read1;
    • 128 : 代表這個序列是R2端序列,read2;
    • 256: 代表這個序列不是主要的比對,一條序列可能比對到參考序列的多個位置,只有一個是首要的比對位置,其他都是次要的
    • 512: 代表這個序列在QC時失敗了,被過濾掉了
    • 1024: 代表這個序列是PCR重復序列
    • 2048: 代表這個序列有一部分嵌合了 PCR 引物

    最終的數值是符合上面條條件的數字加起來的值,比如 \(99 = 1+2+32+64\),
    也可以用二進制運算給算出來:

     >>> bin(99)
     '0b1100011'
     # 其實就是 0000 0000 0001 + 0000 0000 0010 + 0000 0010 0000 +  0000 0100 0000
    

    我們也可以通過這個值快速計算是不是完全匹配,或者判斷是否符合其他條件

     >>> 99 & 2
     2
     # 返回為真值就代表是完全匹配
    
  3. RNAME: 參考基因組的染色體名稱

  4. POS: 比對到參考基因組上的位置

  5. MAPQ: 比對質量, 255 表示比對質量不可用

  6. CIGAR:
    CIGAR

    • “M”表示 match或 mismatch;
    • “I”表示 insert;
    • “D”表示 deletion;
    • “N”表示 skipped(跳過這段區域);
    • “S”表示 soft clipping(被剪切的序列存在於序列中);
    • “H”表示 hard clipping(被剪切的序列不存在於序列中);
    • “P”表示 padding;
    • “=”表示 match;
    • “X”表示 mismatch(錯配,位置是一一對應的);
  7. RNEXT: read2 在參考序列上的染色體名稱,如果沒有就用 "*", 相同"="

  8. PNEXT: read2 在參考序列上的位置

  9. TLEN: 插入片段的長度
    TLEN

  10. SEQ: read 序列

  11. QUAL: read 質量

比對部分的其他信息

從第 12 列開始信息就不固定了, 格式是 TAG:TYPE:VALUE 大家了解一下就好

TAG1
TAG2
TAG3


參考資料
https://samtools.github.io/hts-specs/SAMv1.pdf
https://samtools.github.io/hts-specs/SAMtags.pdf


免責聲明!

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



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