samtools是真的好用啊,要灵活使用各种flag和tag

samtools一直以来就是个对于生信很有用的软件,最近做转基因的项目,要疯狂的提取出各种类型的reads,使用samtools view的大F小f,用起来简直不能再爽快。

比方说,bwa比对完会有一些额外比对的reads,就差不多是一个reads除了pair的两条,还会出来第三条同样名字的reads,有时我们需要,有时多了会影响分析。这时用samtools除去

samtools view xxx.bam -F 2048 -bSh -o xxx.rm.bam

然后还有就是,我只想要能pair上的reads

samtools view xxx.bam -F 2060 -bSh -o xxx.pair.bam

这里使用的flag值,在之前也提到过,灵活使用flag值,对bam文件进行前处理,能省去后面很多的分析时间。

做转基因的时候,一般要筛选出SA这个tag,这时搭配管道用grep是一个非常好的选择。

samtools view trans.bam | grep "SA" > trans.SA.sam

然而,这个时候其实会缺了头信息,如果后续进行分析的程序需要头信息或者说索引文件,最后还是补上头信息,补上的方法也简单

samtools view trans.bam -h | grep "@SQ" > trans.header
cat trans.header trans.SA.sam > trans.SA.head.sam

再利用samtools转回bam文件省位置还有建索引就好了,排序最好在前面就做了

samtools view -bSh trans.SA.head.sam -@ 16 -o trans.SA.bam
samtools index trans.SA.bam

灵活的使用tag和flag这种信息,对于bam文件的初步筛选,大有用处!