搜索
查看: 2858|回复: 0

sam/bam简介及格式解读

[复制链接]

29

主题

29

帖子

149

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
149
发表于 2018-8-18 11:42:12 | 显示全部楼层 |阅读模式
1)Sam (Sequence Alignment/Map)
-------------------------------------------------
1) SAM 文件产生背景
随着Illumina/Solexa, AB/SOLiD and Roche/454测序技术不断的进步,各种比对工具产生,被用来高效的将reads比对到参考基因组。因为这些比对工具产生不同格式的文件,导致下游分析比较困难,因此一个通用的格式可以提供一个很好的接口用于链接比对与下游分析(组装,变异等,基因分型等)。因此SAM格式应运而生,主要是用来存储测序reads与参考序列比对结果信息的一种文件格式,以TAB为分割符,支持不同平台的短reads及长reads(最长为128Mbp)。
2)格式解读
我们用文献中的例子来详细解释sam格式。
2.1)首先看一个比对事件:

ref是参考序列,Read r001/1和 r001/2组成read pair,r003是嵌合体(chimeric read) ,r004表示 split alignment事件
2.2)相应的sam格式是:

2.3)相应的sam格式这11列内容的解释:

由此我们可以看到,SAM是由两部分组成:分为标头注释信息(header section)和比对结果(alignment section)。标头信息可有可无,都是以@开头,用不同的tag表示不同的信息,主要有:
  • @HD,说明符合标准的版本、对比序列的排列顺序(这里为coordinate)
  • @SQ,参考序列说明 (SN:ref,LN 是参考序列的长度)
  • @PG,使用的比对程序说明(这里没有给出)
  • 比对结果部分(alignment section)每一行表示一个片段(segment)的比对信息,包括11个必须的字段(mandatory fields)和一个可选的字段,字段之间用tag分割。必须的字段有11个,顺序固定,根据字段定义,可以为’0‘或者’*‘,这11个字段是:
  1)QNAME:比对片段的(template)的编号;
  2)FLAG:位标识,template mapping情况的数字表示,每一个数字代表一种比对情况,这里的值是符合情况的数字相加总和;进一步学习可查看https://broadinstitute.github.io/picard/explain-flags.html
  3)RNAME:参考序列的编号,如果注释中对SQ-SN进行了定义,这里必须和其保持一致,另外对于没有mapping上的序列;
  4)POS:比对上的位置,注意是从1开始计数,没有比对上,此处为0;
  5)MAPQ:mappint的质量;
  6)CIGAR:简要比对信息表达式(Compact Idiosyncratic Gapped Alignment  Report),其以参考序列为基础,使用数字加字母表示比对结果,比如3S6M1P1I4M,前三个碱基被剪切去除了,然后6个比对上了,然后打开了一个缺口,有一个碱基插入,最后是4个比对上了,是按照顺序的;
  7)RNEXT:下一个片段比对上的参考序列的编号,没有另外的片段,这里是’*‘,同一个片段,用’=‘;
  8)PNEXT:下一个片段比对上的位置,如果不可用,此处为0;
  9)TLEN:Template的长度,最左边得为正,最右边的为负,中间的不用定义正负,不分区段(single-segment)的比对上,或者不可用时,此处为0;
  10)SEQ:序列片段的序列信息,如果不存储此类信息,此处为’*‘,注意CIGAR中M/I/S/=/X对应数字的和要等于序列长度;
  11) QUAL:序列的质量信息,格式同FASTQ一样
除了上述11列外,可以有额外列:
第二列FLAG每个数值含义如下,如果符合下面多种情况,则为以下数字之和:
1  read是pair中的一条(read表示本条read,mate表示pair中的另一条read)
2  pair一正一负完美的比对上
4  这条read没有比对上
8  mate没有比对上
16 这条read反向比对
32 mate反向比对
64 这条read是read1
128 这条read是read2
256 第二次比对
512 比对质量不合格
1024 read是PCR或光学副本产生
2048 辅助比对结果
其中第六列Extended CIGAR
M: match/mismatch
I :插入 insertion(和参考基因组相比)
D:  删除 deletion(和参考基因组相比)
N: 跳跃 skipped(和参考基因组相比)
S: 软剪切 soft clipping ,(表示unaligned,)
H: 硬剪切 hard clipping  (被剪切的序列不存在于序列中)
P: 填充  padding(表示参考基因组没有,而reads里面含有位点
2)Bam (Binary Alignment/Map)
-------------------------------------------------
bam文件是Sam 文件的二进制压缩格式,保留了与sam 完成相同的内容信息。SAM/BAM 文件可以是未排序的,但是按照坐标(coodinate)排序可以线性的监控数据处理过程。samtools可以用来转化bam/sam文件,可以merg,sort aligment,可以去除duplicate,可以call snp及indels.
3)习题(以已boweti2中的示例文件reads_1.fq为基础)
-------------------------------------------------
3.1)  Sam文件的产生背景是什么
3.2)Sam文件必须有多少列信息?
3.3)Sam文件中的第二列代表什么?
3.4)sam文件第6列soft clipping和hard  clipping有什么区别?
3.5)sam 文件中MAPQ 质量值如何来?其中255代表什么?
3.6)sam 文件中第11列QUAL的质量值是什么?和MAPQ有什么关系?
3.7)sam文件中第七列=代表什么意思?
3.8)如何解释55M1I69M?
3.9)第九列中,数字有正有负?代表什么意思?
3.10)在可选列中RG代表什么意思?
3.11)将read_1.fq比对到bowtie2示例文件中的参考基因组lambda_virus.fa,得到sam文件,这里命名为test.sam
3.2)统计test.sam中共有多少种比对的类型(flag)(即第二列数值有多少种)
3.12)统计test.sam中比对flag为147的reads数目
3.13)统计文件test.sam中由于PCR或测序错误产生的重复 的reads数
3.14)输出 最左端碱基位置比对到参考基因组42332位点的reads 信息
3.15)查找文件中有多少reads比对到参考基因组8886-15474 位置
3.16)查找未比对到参考基因组的reads数目
3.17)查找有可变剪切的事件
3.18)查找比对过程中有deletion事件发生的reads数目
3.19)统计质量值Q30质量超过50%的reads个数
3.20)找出测试质量最好的reads
4) 参考资源
-------------------------------------------------
The Sequence Alignment/Map format and SAMtools
https://en.wikipedia.org/wiki/SAM_(file_format)
http://boyun.sh.cn/bio/?p=1890
https://blog.csdn.net/genome_denovo/article/details/78712972


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x



上一篇:fastq/fasta格式简介及解读
下一篇:gff/gtf格式简介
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-8-20 03:16 , Processed in 0.075066 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.