測序數(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ā)覺不了我們非常接近于正確。 ——卡爾·波普爾