bam比对flag说明以及提取未必对上的reads
flag
1 : 代表这个序列采用的是PE双端测序
2: 代表这个序列和参考序列完全匹配,没有插入缺失
4: 代表这个序列没有mapping到参考序列上
8: 代表这个序列的另一端序列没有比对到参考序列上,比如这条序列是R1,它对应的R2端序列没有比对到参考序列上
16:代表这个序列比对到参考序列的负链上
32 :代表这个序列对应的另一端序列比对到参考序列的负链上
64 : 代表这个序列是R1端序列, read1;
128 : 代表这个序列是R2端序列,read2;
256: 代表这个序列不是主要的比对,一条序列可能比对到参考序列的多个位置,只有一个是首要的比对位置,其他都是次要的
512: 代表这个序列在QC时失败了,被过滤不掉了(# 这个标签不常用)
1024: 代表这个序列是PCR重复序列(#这个标签不常用)
2048: 代表这个序列是补充的比对(#这个标签具体什么意思,没搞清楚,但是不常用)
1.查看
其中bam文件中用标签4代表read未比对上;所以查看未比对上的reads用
samtools view -f 4 *bam|less -S
2.提取
提取未比对到参考序列的结果:
samtools view -b -h -f 4 *.bam > unmapped.bam
-h 文件包含header line;-f,提取;-b,输出为bam格式
###-F参数是过滤的意思(filter);这里类似grep -v
所以提取比对到参考序列的结果:
samtools view -b -h -F 4 *.bam > mapped.bam
F意思为过滤掉以4为标签的序列
提取双端序列都比对到参考序列(4+8)的结果
samtools view -bF 12 *.bam > mapped.bam
3.bam2fastq
bamToFastq -bam file_unmapped.bam -fq1 unmappedR1.fastq -fq2 unmappedR2.fastq
参考文献:http://blog.sina.com.cn/s/blog_9fe4fc830102x7s6.html
https://www.cnblogs.com/leezx/p/8655086.html
作者:AsuraPrince
链接:https://www.jianshu.com/p/7dd5d3e61d09
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。