為什么 BAM 文件 sort 之后體積會變小

測序數(shù)據(jù)比對結(jié)果 BAM 文件用 samtools 進(jìn)行 sort 之后發(fā)現(xiàn)體積變小了...
當(dāng)時懷疑是不是 sort 過程中有一部分 reads 被丟棄了?于是統(tǒng)計了一下原始 BAM 文件和 sort 之后 BAM 文件的行數(shù),發(fā)現(xiàn)是一樣的,也就是說 samtools 在 sort 時并沒有去除一部分 reads:

$ samtools view -h F_bismark_bt2_pe.bam | wc -l
46159701
$ samtools view -h F_bismark_bt2_pe.sorted.bam | wc -l
46159701

那為何只對文件中內(nèi)容排一下序,文件就變小了呢?上網(wǎng)搜索一番,用中文關(guān)鍵字竟然找不到有用的信息,看來技術(shù)類問題用英文關(guān)鍵字搜才有效率,在 SEQanswers 上找到一篇討論這個話題的帖子,samtools 作者 Li Heng 給出了解釋:

BAM is compressed. Sorting helps to give a better compression ratio because similar sequences are grouped together.

BAM 文件是壓縮的二進(jìn)制文件,對文件內(nèi)容排序之后相似的內(nèi)容排在一起,使得文件壓縮比提高了,因此排序之后的 BAM 文件變小了,相對應(yīng)的 SAM 文件就是純文本文件,對 SAM 文件進(jìn)行排序就不會改變文件大小。由于 RNA-seq 中基因表達(dá)量的關(guān)系,RNA-seq 的數(shù)據(jù)比對結(jié)果 BAM 文件使用 samtools 進(jìn)行 sort 之后文件壓縮比例變化會比 DNA-seq 更甚。

另外,samtools 對 BAM 文件進(jìn)行排序之后那些沒有比對上的 reads 會被放在文件的末尾。

samtools view file.bam | tail

關(guān)于 SEQanswers

介紹一下這個有很多大牛出沒的 NGS 技術(shù)論壇 SEQanswers,其中包含各類與測序技術(shù)和生物信息相關(guān)的技術(shù)討論,大牛很多,干貨很多,對新手來說是個很好的學(xué)習(xí)資源。


如果我們過于爽快地承認(rèn)失敗,就可能使自己發(fā)覺不了我們非常接近于正確。 ——卡爾·波普爾

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容