bam文件的理解

bam文件的理解,第1张

  做生信分析的小伙伴们,相信大家对bam文件都不陌生,但具体到如何get到bam文件提供给我们的信息,却少有人真正的理解,最近我做了相关的学习,和大家分享以下我的理解,具体的可参考黄树嘉的知乎分享 https://zhuanlan.zhihu.com/p/31405418?from_voters_page=true

  二代测序获得的是bcl格式的原始下机数据,通过bcl2fastq软件 https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software.html 可将bcl文件转换成每个样本的fq格式文件,也就是我们常理解的数据拆分。bam文件是由比对软件将质控后的fq格式文件与参考基因组进行比对后的比对信息存储文件。

  接下来我们理解下bam文件的内容。参考原文提出的一张经典图片:

上图格式的查看方法为:

  samtools的header信息每一行都用‘@’ 符号开头,一般大家不会太关注,但其中的信息对于我们有些生信分析还是很重要的。这里需要重点提一下的是header中的@RG也就是Read group信息,这是在做后续数据分析时专门用于区分不同样本的重要信息。比如测序多条lane获得的bam的合并:如果原来样本的测序深度比较深,一般会按照不同的lane分开比对,最后再合并在一起,那么这个时候你会在这个BAM文件中看到有多个RG,里面记录了不同的lane,甚至测序文库的信息,唯一不变的一定是SM的sample信息,这样合并后才能正确处理。这个合并当然也可以在数据拆分后对rawdata进行cat合并,然后再生成bam文件。

  接下来是bam的主体内容record(有时候也叫alignment section,即,比对信息),每  一行代表一条reads,每条reads的信息用tab键进行分隔:

对于每列的解释如下表所示:

 森或 比如十进制数据77 = 000001001101 = 1 + 4 + 8 +64,这样就得到了这个FLAG包含的意思:PE read,read比对不上参考序列,它的配对read也同样比不上参考序列,它是read1。

二进制的质量描述见下表:

   - MAPQ:比对质量值,这个是大家最为熟悉的比对质量值了。比如说Q30(错配率为0.001),Q20(错配率为0.01),计算公式为:-10logP{错比概率} 。一般结果是这一列的数值是从0到60,且0和60这两个数此颂伍字出现次数最多。

   - CIGAR:该标签采用数字和几个字符的组合形象记录樱伍了read比对到参考序列上的细节情况,读起来要比FLAG直观友好许多,只是记录的是不同的信息。比如,一条150bp长的read比对到基因组之后,假如看到它的CIGAR字符串为:33S117M,其意思是说在比对的时候这条read开头的33bp在被跳过了(S),紧接其后的117bp则比对上了参考序列(M)。这里的S代表软跳过(Soft clip),M代表匹配(Match)。N表示可变剪接位置,常见于RNA-seq。H只出现在一条read的前端或末端,但不会出现在中间,S一般会和H成对出现,当有H出现时,一定会有一个与之对应的S出现。CIGAR的标记字符有“MIDNSHP=XB”这10个,分别代表read比对时的不同情况:

sam是短序列比对默认的标准格式,是以TAB为分割符的文本格式。主要应用于测序序列mapping到基因组上的结果表示,另外也可以表示其他的多重比对结果。一般把测序reads比对到参考基因组以后,通常得到的就是sam文件。BAM就是SAM的二进制文件,具有更小的存储空间,并且许多下游分析工具使用的是BAM格式。

第1列 :fastq的read ID

第2列 :FLAG(如果某一个数值不是下面的任意值,那么那个数值就是下面这些数里面几个的和)

第3列 :染色体名称。如果这列是“ * ”,可以认为这条read没有比对上的序列,则这一行的第四,五,八,九 列是“0”,第六,七列与该列是相同的表示方法。

第4列 :比对的位置,从对应上的染色体第1位开始往后计算。没有比对上的,此处为0。

第5列 :MAPQ比对质量值。越高说明该read比对到参考基因组上的位置越唯一,0表示在参考基因组有多种定位笑纯姿的可能性。60表示在参考基因组只有这一种定位位置。

第6列 : M表示匹配、I表示插入、D表示删除、N表示内含子和D类似、S表示替换、H表示剪切。

第7列 : 这条reads第二次比对的位置。=表示参考序列与reads一模一样,*表示没有完全一模一样的参考序列。

第8列 : 该列表示与该reads对应的mate pair reads的比对位置(即mate),若无mate,则为0。

第9列 : 序列模板长度,如果同一个片段都比对上了同一个参考序列,为最左边的碱基位置到最右边的碱基位置(左为正,右为负)。当mate 序列位于本序列上游时该值为负值。不可用时,为0。

第10列 : read的序列。

第11列 : ASCII码格式的序列质量。格式同FASTQ一样。其中碰绝1、10、11合起来就是fq格式文件。

第12列 : 可选的区域。格式类似AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:35T0 YT:Z:UU

线性对齐: 一条read比对到参考序列上,可以存在插入(insert)、缺失(delete)、跳跃(skip)、剪切(clip),但是方向不变(不能是一部分和正链匹配,另一部分又和负链匹配),sam文件中只占用一行记录。

嵌合比对: 由于一条测序read比对到基因组上时分别比对到两个不同的区域,而这两个区域基本没有接触和重叠。因此它在sam文件中需要 占用多行记录 显示。只有第一个记录称作"representative",其他的都是"supplementary"。RNA-seq中裤液的chimeric read或许可以说明有融合基因存在,但在基因组中一般作为结构变异的证据。

---------------------------------------------------------------------------------------------------------------------------------------------------I`m a line ! Thanks !-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

参考链接: https://www.jianshu.com/p/f53741175b67


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12192291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存