bam文件的理解

??做生信分析的小伙伴們,相信大家對bam文件都不陌生,但具體到如何get到bam文件提供給我們的信息,卻少有人真正的理解,最近我做了相關(guān)的學(xué)習(xí),和大家分享以下我的理解,具體的可參考黃樹嘉的知乎分享https://zhuanlan.zhihu.com/p/31405418?from_voters_page=true

bam的來源

??二代測序獲得的是bcl格式的原始下機數(shù)據(jù),通過bcl2fastq軟件https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software.html可將bcl文件轉(zhuǎn)換成每個樣本的fq格式文件,也就是我們常理解的數(shù)據(jù)拆分。bam文件是由比對軟件將質(zhì)控后的fq格式文件與參考基因組進(jìn)行比對后的比對信息存儲文件。

bam的內(nèi)容

??接下來我們理解下bam文件的內(nèi)容。參考原文提出的一張經(jīng)典圖片:


header

上圖格式的查看方法為:

samtools view -h *.bam|le

??samtools的header信息每一行都用‘@’ 符號開頭,一般大家不會太關(guān)注,但其中的信息對于我們有些生信分析還是很重要的。這里需要重點提一下的是header中的@RG也就是Read group信息,這是在做后續(xù)數(shù)據(jù)分析時專門用于區(qū)分不同樣本的重要信息。比如測序多條lane獲得的bam的合并:如果原來樣本的測序深度比較深,一般會按照不同的lane分開比對,最后再合并在一起,那么這個時候你會在這個BAM文件中看到有多個RG,里面記錄了不同的lane,甚至測序文庫的信息,唯一不變的一定是SM的sample信息,這樣合并后才能正確處理。這個合并當(dāng)然也可以在數(shù)據(jù)拆分后對rawdata進(jìn)行cat合并,然后再生成bam文件。
??接下來是bam的主體內(nèi)容record(有時候也叫alignment section,即,比對信息),每??一行代表一條reads,每條reads的信息用tab鍵進(jìn)行分隔:


bam的record介紹

對于每列的解釋如下表所示:


每列的解釋

??接下來我們重點看看每一列在我們的分析中起到的作用。
?? - reads name: 每一條reads的查詢名稱,來源于fastq文件;
?? - flag:flag是比對質(zhì)量的重要信息,不同的值代表比對結(jié)果的類型。Flag是比對結(jié)果質(zhì)量的一個直觀表述。該值是一個10進(jìn)制的結(jié)果,根據(jù)表格可轉(zhuǎn)換成二進(jìn)制對應(yīng)的質(zhì)量描述,用來對數(shù)據(jù)進(jìn)行過濾。比如說過濾掉未比對到參考基因組的reads(Flag=4),過濾掉二次比對的reads(Flag=256),過濾掉嵌合reads(Flag=2048),使用samtools過濾的方法為:
samtools view -h -q 20 -F 4 -F 256 -F 2048 -Sb  sample.bam >  sample.filter.bam

??比如十進(jìn)制數(shù)據(jù)77 = 000001001101 = 1 + 4 + 8 +64,這樣就得到了這個FLAG包含的意思:PE read,read比對不上參考序列,它的配對read也同樣比不上參考序列,它是read1。
二進(jìn)制的質(zhì)量描述見下表:


二進(jìn)制質(zhì)量值對照表

?? - MAPQ:比對質(zhì)量值,這個是大家最為熟悉的比對質(zhì)量值了。比如說Q30(錯配率為0.001),Q20(錯配率為0.01),計算公式為:-10logP{錯比概率} 。一般結(jié)果是這一列的數(shù)值是從0到60,且0和60這兩個數(shù)字出現(xiàn)次數(shù)最多。
?? - CIGAR:該標(biāo)簽采用數(shù)字和幾個字符的組合形象記錄了read比對到參考序列上的細(xì)節(jié)情況,讀起來要比FLAG直觀友好許多,只是記錄的是不同的信息。比如,一條150bp長的read比對到基因組之后,假如看到它的CIGAR字符串為:33S117M,其意思是說在比對的時候這條read開頭的33bp在被跳過了(S),緊接其后的117bp則比對上了參考序列(M)。這里的S代表軟跳過(Soft clip),M代表匹配(Match)。N表示可變剪接位置,常見于RNA-seq。H只出現(xiàn)在一條read的前端或末端,但不會出現(xiàn)在中間,S一般會和H成對出現(xiàn),當(dāng)有H出現(xiàn)時,一定會有一個與之對應(yīng)的S出現(xiàn)。CIGAR的標(biāo)記字符有“MIDNSHP=XB”這10個,分別代表read比對時的不同情況:


CIGAR的標(biāo)記字符
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容