北京大学生物信息平台论坛

 找回密码
 立即注册
搜索
热搜: 通知 活动

SAM/BAM文件中Flag详解【转】Understanding the BAM flags

[复制链接]
perry博士 发表于 2016-1-6 10:47:18 | 显示全部楼层 |阅读模式
前言
在做一些常规(流程化)的初级分析的时候(如RNA-seq数据只需要交给第三方软件拿到表达谱,Bisulfite Sequencing数据则只需要知道可能的甲基化/未甲基化位点,Genome DNA Sequencing则拿到包含突变的vcf文件即可),我很少会去理会SAM/BAM文件里面的详细信息。但是,要知道,所有的比对信息都包含在这个文件里面,如果你想完全了解自己的数据,看许多有意思的问题,把自己的数据玩弄在自己的手掌之中,做到随心所欲,建议花点时间看看SAM/BAM文件的格式说明。

Flag涉及的统计和生物问题
我不是第一次遇到title相关的问题,从Flag一列,我们可以解决那些问题呢?我粗略列一列:
1. reads比对上与否【统计比对率】
2. reads比对到相对参考基因组的哪一条链上(正义链或负义链)【提取链特异的信息,甲基化数据相关问题需要用到】
3. 对于双端比对,是否双端都能比对上【统计双端比对率、看大的结构变异等问题可以考虑只用双端都比对上的reads】
4. 根据比对软件的不同,可能还会输出是否为PCR重复、是否通过质量控制、是否为最佳比对等等【虽然输出不同,但是解码Flag的标准和方式是一样的】

我为什么关注这一列

关注Flag,一个原因是它包含了我想要的信息,另一个较主要的原因则是Flag由二进制数值组成,在拿到想要的结果之前,需要花些功夫,掌握每个二进制数对应的意思是什么,然后再解析。说后面一个原因较为重要,是因为Flag种类较多,要解析好,必须知道想要解析的信息对应的二进制数值是什么,而记忆这些二进制对应信息(如果用的不是那么频繁)对于我来讲不是易事。这不,当我再一次要解析Flag的时候又遇到了问题。记忆中,我好像找到过一篇好的博文,对于Flag的讲解浅显易懂。谷歌搜了蛮多次,终于还是找到了,这次就记下来,以便下次忘记了容易找到解决方法!

为什么要参考博文,SAM/BAM文件格式说明不就足够了么
仁者见仁智者见智!

博文参考地址: http://davetang.org/muse/2014/03/06/understanding-bam-flags/
回复

使用道具 举报

 楼主| perry博士 发表于 2016-1-7 11:09:17 | 显示全部楼层
Czh3 发表于 2016-1-6 13:47
朱平师兄说的很好。我们用sam/bam是经常需要解析flag值,我推荐两个工具
1. https://broadinstitute.github ...

看来有同道中人啊!

1. 第一个小工具适用于对少量具体的结果进行验证。我刚接触BAM文件的时候就需要借助这个小工具,帮助解析具体的flag含义。但现在涉及的分析都是大批量的,所以必须自己用代码实现了。
2. Samtools flag可以批量导出符合要求的reads,但是当我们需要对BAM文件中每一条reads单独进行处理的时候,这条命令就不那么适合了。其实这个命令的原理和上面推荐的博文中perl代码如出一辙。

所以,建议大家参照博文中的perl脚本,针对自己的问题,自行编写代码,解决个性化的问题!

回复 支持 1 反对 0

使用道具 举报

Czh3 发表于 2016-1-6 13:47:40 | 显示全部楼层
朱平师兄说的很好。我们用sam/bam是经常需要解析flag值,我推荐两个工具
1. https://broadinstitute.github.io/picard/explain-flags.html  Broad的往上小工具,非常好用
2. samtools软件 flags命令
flags.png
回复 支持 反对

使用道具 举报

chenwb 发表于 2016-1-6 15:40:02 | 显示全部楼层
Czh3 发表于 2016-1-6 13:47
朱平师兄说的很好。我们用sam/bam是经常需要解析flag值,我推荐两个工具
1. https://broadinstitute.github ...

刚想推荐第一个的。发现大家都用啊
回复 支持 反对

使用道具 举报

 楼主| perry博士 发表于 2016-1-7 11:32:22 | 显示全部楼层
另外,需要更正帖子中的一点。我们用直接查看SAM文件(文本文件)或用samtools查看BAM文件(压缩文件),Flag一列应该是十进制的数值,原帖中说是二进制(可能是我对二进制记忆深刻一些)。因为将十进制转换成二进制了之后,再对应到推荐博文中的Flag table中,所有信息就一目了然了。
回复 支持 反对

使用道具 举报

北京大学生物信息平台论坛

GMT+8, 2017-9-27 05:54 , Processed in 0.093441 second(s), 26 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表