简介
文件后缀名:.sam
bwa、Bowtie2是现下最流行的短序列比对软件,SAM(Sequence Alignment/Map)格式是一种通用的比对格式,用来存储reads到参考序列的比对信息。
SAM是一种序列比对格式标准,由sanger制定,是以TAB为分割符的文本格式。主要应用于测序序列mapping到基因组上的结果表示,当然也可以表示任意的多重比对结果。
不同的软件,不同的时期,不同的研究方向,都会创建一种或者多种格式标准,当然根据当时的需要,创建符合需求的标准,也是最容易的事情,而反过来想要真正的理解标准,也必须理解为什么要创建这样的标准,解决什么样的需要。我前面的有篇文章已经对于现有的多重比对的格式进行总结,但其更多的站在比较基因组学的角度。当我们去了解sam标准格式是什么的时候,就要思考既然以及有了这么多得标准,为什么还要定义SAM标准,当然拿所有的格式进行比较也并非易事,但是简单的对比,就可以了解其中一二,比如aln格式,是比对视图化的展示,存储的信息不够结构化,无法方便的作为另外程序的输入;表示信息的有限性,如果100个多重比对序列放到一个文件中,查看维护就会非常困难;还有些格式标准挺强大,但是太繁琐,同时不够灵活。那么反过来就是SAM格式的优点,那么SAM如何做到这一点的呢?
SAM要处理好的问题:
1. 非常多序列(read),mapping到多个参考基因组(reference)上;
2. 同一条序列,分多段(segment)比对到参考基因组上;
3. 无限量的,结构化信息表示,包括错配、删除、插入等比对信息;
行、列、注释说明
SAM分为两部分,注释信息(header section)和比对结果部分(alignment section)。
行:除注释外,每一行是一个read
注释信息可有可无,都是以@开头,用不同的tag表示不同的信息,主要有:
1 | @HD,说明符合标准的版本、对比序列的排列顺序; |
比对结果部分(alignment section),每一行表示一个片段(segment)的比对信息,包括11个必须的字段(mandatory fields)和一个可选的字段,字段之间用tag分割。必须的字段有11个,顺序固定,不可用时,根据字段定义,可以为’0’或者’*’,这是11个字段包括:
1 | 1. QNAME 比对片段的(template)的编号;read name,read的名字通常包括测序平台等信息 |
可选字段(optional fields),格式如:TAG:TYPE:VALUE,其中TAG有两个大写字母组成,每个TAG代表一类信息,每一行一个TAG只能出现一次,TYPE表示TAG对应值的类型,可以是字符串、整数、字节、数组等。
要注意的几个概念,以及与之对应的模型:
1 | · reference |
扩展
备注
(1)mate,在Illuminated中有两种测序技术:paired end sequencing,mate pair sequencing。这两种测序都是测的一个片段的两端,这两端产生的reads被称为mate1,mate2,单末端测序则无mate。
(2)Optional fields:
1 | AS:i:<N> |
(3)flag取值
1 | 0:比对到参考序列的正链上(待求证) |
参考:
SAM的定义:
SAM1.pdf
samtools:
samtools
发表的文献:
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2723002/
CIGAR的概念
http://asia.ensembl.org/common/Help/Glossary?db=core
一篇博客对于sam的解释
博耘生物
SAM格式-Bowtie2
http://davetang.org/wiki/tiki-index.php?page=SAM
perl模块
http://search.cpan.org/~lds/Bio-SamTools/lib/Bio/DB/Sam.pm