sam檔案是短序列比對生成的檔案,是二代測序中最核心的檔案。在rnaseq,變異檢測等分析中,都需要首先生成sam檔案格式。bam檔案是sam格式的二進位制格式,轉換為二進位制之後,可以減小檔案的儲存。掌握sam/bam檔案的操作是處理二代測序資料的非常重要的內容,例如sam與bam的轉換,排序,建立索引,reads計數等等操作。
1 生成sam檔案
有很多軟體可以生成sam格式,例如bwa,bowie2,tophat2,subread,minimap2等等。輸入資料為fasta格式,作為比對參考序列;fastq格式的測序資料,例如illumina測序的pairend資料等。也就是將測序資料比對回參考序列上。可以簡單理解為sam=fasta+fastq。
# bwa建立索引
bwa index -a is ref.fna
#bwa mem比對
bwa mem -t 4 -r '@rg\tid:a1\tpl:illumina\tsm:a1' ref.fna a1_1.fastq.gz a1_2.fastq.gz >a1.sam
bwa mem -t 4 -r '@rg\tid:a2\tpl:illumina\tsm:a2' ref.fna a2_1.fastq.gz a2_2.fastq.gz >a2.sam
2 sam檔案格式介紹
sam格式為文字格式,可以直接檢視,一共有11列,每一列的內容如下:
第一列:reads id
第二列:是flag標記的總和
第五列:比對的質量值,mapq
第六列:代表比對結果的cigar字串
第七列:mate比對到的染色體號,若是沒有mate,則是*
第九列:template的長度,
第十列:為read的序列
第十一列:為ascii碼格式的序列質量;
3 flag識別符號的意義
sam第二列為flag識別符號,這些識別符號為比對模式,例如單端比對,還是雙端比對,或者沒有比對上。這些數字為二進位制之和。可以通過以下完整進行解釋。
flag解析:
4 sam識別符號的意義
sam檔案每一行的結尾包含很多識別符號,這些識別符號是比對的具體細節,可以檢視對應的文件進行解讀。不過這些識別符號是供下游軟體處理,並不需要人工來解讀。
sam識別符號解釋: nm:i:0 sm:i:37 am:i:37 x0:i:1 x1:i:0 xm:i:0 xo:i:0
xt:a:u nm:i:2 sm:i:37 am:i:37 x0:i:1 x1:i:0 xm:i:2 xo:i:0
xt:a:u nm:i:0 sm:i:37 am:i:37 x0:i:1 x1:i:0 xm:i:0 xo:i:0
bam檔案格式說明
1.序列是一對序列中的乙個 2.比對結果是乙個pair end比對的末端 4.沒有找到位點 8.這個序列是pair中的乙個但是沒有找到位點 16.在這個比對上的位點,序列與參考序列反向互補 32.這個序列在pair end中的的mate序列與參考序列反響互補 64.序列是 mate 1 128.序列...
bam檔案的理解
bam檔案的理解 less sn in.sam 開啟sam檔案 samtools view h in.bam 開啟bam檔案 接下來我們重點看看每一列在我們的分析中起到的作用。reads name 每一條reads的查詢名稱,於fastq檔案 flag flag是比對質量的重要資訊,不同的值代表比對...
Pysam 處理bam檔案
pysam可用來處理bam檔案 安裝 用 pip 或者 conda即可 使用 pysam的函式有很多,主要的讀取函式有 一般常用的是第乙個和第二個。例子 1 import pysam 23 bf pysam.alignmentfile in.bam rb 其中r read,b binary.二進位制...