轉(zhuǎn)載自嘻皮悠的博客 http://blog.sina.com.cn/u/2054060511
————————————————————————————————————————————————
reads map到基因組上通常會(huì)產(chǎn)生bam/sam文件,但bam/sam文件中通常不直接給出reads mapping的正負(fù)鏈(+/-)信息。那么,如何獲取所有mapping到基因組正鏈或者負(fù)鏈的reads呢?
從sam文件的說明文檔中(http://samtools.github.io/hts-specs/SAMv1.pdf),我們得知,F(xiàn)LAG 0x10(十六進(jìn)制的10,相當(dāng)于十進(jìn)制的16)表示reads是否顯示為反向互補(bǔ)。因此,只需要對(duì)該位進(jìn)行過濾,即可知道read到底是map到了正鏈還是負(fù)鏈上。
第一種方法:(借鑒https://www.biostars.org/p/59388/)
(1)獲取所有mapping的reads
samtools view -F 4 reads.bam >mapped_reads.sam
(2)正鏈mapping的reads
gawk '(and(16, 2))' mapped_reads.sam > forward_mapped_reads.sam
第二種方法:(來自https://www.biostars.org/p/14378/)
samtools view -F 20 ... : forward strand
samtools view -f 16 ... : reverse strand
samtools view -f 4 ... : unmapped
FLAG信息解讀網(wǎng)站:https://broadinstitute.github.io/picard/explain-flags.html