怎样理解SAM/BAM文件格式

发布时间:2021-11-22 19:23:25 作者:柒染
来源:亿速云 阅读:217

怎样理解SAM/BAM文件格式,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

重点介绍下SAM文件中比对部分的含义,比对部分的信息是\t分隔的11列文件,每列的含义如下

1. column1

第一列是QNAME, 代表输入序列的名字,通常是reads的标识符。

2. column2

第二列是FLAG, 事先定义了以下几种flag, 每个flag用一个数字表示,对应一种比对的情况

上面的这几个标签都是2的n次方,这样的数列有一个特点,就是随机挑选其中的几个,它们的和是唯一的,比如65只能是1和 64组成,代表这个序列是双端测序,而且是read1。

3. column3

第三列是RNAME, 代表基因组序列的名字,通常是染色体的名字。

4. column4

第四列是POS, 代表reads比对到染色体上的起始位置。

5. column5

第五列是MAPQ,代表mapping quality

6.column6

第六列是CIGAR,代表比对的描述信息,采用以下几个字符来描述reads的比对情况。

M表示match,可以是精确匹配,也可以是错配,I表示在基因组上插入碱基,D表示在基因组上删除碱基,N代表跳过基因组上的碱基,S代表在序列中去除部分碱基。

示例比对情况如下

ref :  AAG CGCTATAGAA
query  AAGTCGCT  AG

对于查询序列而言,首先是有3个碱基的匹配,用3M表示;然后在参考序列上插入了1个碱基,用1I表示; 接下来又有4个碱基的匹配,用4M表示;在然后是查询序列上有2个bp的插入,相对基因组而言是2个bp的缺失,用2D表示,最后是2个碱基的匹配,用2M表示。

综上,这个alignment对用的CIGAR为3M1I4M2D2M

7.column7

第七列是RNEXT, 如果一条reads比对上了基因组的多个位置,这一列记录的是下一个alignment比对的染色体的名字,如果只比对上基因组的一个位置,该列的内容为”*”。

8. column8

第八列是PNEXT, 如果一条reads比对上了基因组的多个位置,这一列记录的是下一个alignment比对的位置,如果只比对上基因组的一个位置,该列的内容为”*”。

9. column9

第九列是TLEN,代表插入片段的长度,根据reads比对的情况,可以估算出插入片段的长度。

10. column10

第十列是SEQ,代表输入的序列,通常是fastq文件中的序列。

11. column11

第十一列是QUAL,代表输入序列的质量,通常是fastq文件中的碱基质量。
除了以上11列内容外,还有一些可选的其他tag信息,这些tag信息的写法为tag:type:value,  每种type用一个字母表示,A表示单个字符;Z表示字符串,i表示整数,f表示浮点数。

比如NH这个tag表示reads的alignments的个数,写法如下

NH:i:2

表示这条reads比对上基因组的两个位置。所有tag的详细解释参考如下链接

https://samtools.github.io/hts-specs/SAMtags.pdf


看完上述内容,你们掌握怎样理解SAM/BAM文件格式的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. atmel-42129-sam-d20熔丝位
  2. sam函数怎么在Kotlin中使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sam bam

上一篇:如何理解Raid技术

下一篇:c语言怎么实现含递归清场版扫雷游戏

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》