文件格式——Sam&bam文件

Sam&bam文件

SAM是一种序列比对格式标准, 由sanger制定,是以TAB为分割符的文本格式。主要应用于测序序列mapping到基因组上的结果表示,当然也可以表示任意的多重比对结果。当测序得到的fastq文件map到基因组之后,我们通常会得到一个sam或者bam为扩展名的文件。SAM的全称是sequence alignment/map format。BAM就是SAM的二进制文件(B取自binary)。

SAM由头文件和map结果组成。头文件由一行行以@起始的注释构成map结果是类似下面的东西:SAM输出的结果中每一行都包括十二项通过Tab分隔,从左到右分别是:

1 序列的名字(ID)

2 概括出一个合适的标记,各个数字分别代表

  • 1? 序列是一对序列中的一个
  • 2? 比对结果是一个pair-end比对的末端
  • 4? 没有找到位点
  • 8? 这个序列是pair中的一个但是没有找到位点
  • 16? 在这个比对上的位点,序列与参考序列反向互补
  • 32? 这个序列在pair-end中的的mate序列与参考序列反响互补
  • 64 序列是 mate 1
  • 128 序列是 mate 2

假如说标记为以上列举出的数目,就可以直接推断出匹配的情况。假如说标记不是以上列举出的数字,比如说83=(64+16+2+1),就是这几种情况值和。

3? 参考序列的名字

4 在参考序列上的位置(头or尾?)

5? mapping qulity?? 越高则位点越独特

bowtie2有时并不能完全确定一个短的序列来自与参考序列的那个位置,特别是对于那些比较简单的序列。但是bowtie2会给出一个值来显示出 这个段序列来自某个位点的概率值,这个值就是mapping qulity。Mapping qulity的计算方法是:Q=-10log10p,Q是一个非负值,p是这个序列不来自这个位点的估计值。

假如说一条序列在某个参考序列上找到了两个位点,但是其中一个位点的Q明显大于另一个位点的Q值,这条序列来源于前一个位点的可能性就比较大。Q值的差距越大,这独特性越高。

Q值的计算方法来自与SAM标准格式,请查看SAM总结。

6 代表比对结果的CIGAR字符串,如37M1D2M1I,这段字符的意思是37个匹配,1个参考序列上的删除,2个匹配,1个参考序列上的插入。M代表的是alignment match(可以是错配)

7? mate 序列所在参考序列的名称

8 mate 序列在参考序列上的位置

9? 估计出的片段的长度,当mate 序列位于本序列上游时该值为负值。

10 read的序列

11 ASCII码格式的序列质量

12 可选的区域

  • AS:i? 匹配的得分
  • XS:i? 第二好的匹配的得分
  • YS:i? mate 序列匹配的得分
  • XN:i? 在参考序列上模糊碱基的个数
  • XM:i? 错配的个数
  • XO:i? gap open的个数
  • XG:i? gap 延伸的个数
  • NM:i? 编辑距离。但是不包含头尾被剪切的序列。一般来说等于序列中error base的个数
  • YF:i? 说明为什么这个序列被过滤的字符串
  • YT:Z
  • MD:Z? 代表序列和参考序列错配的字符串

 

不同软件比对出来的sam文件略有不同,一下就bowtie以及samtools两种软件输出的文件格式分别说明。

SAM-bowtie2版本

1,简介:

文件后缀名:.sam

Bowtie2是现下最流行的短序列比对软件,SAM(Sequence Alignment/Map)格式是一种通用的比对格式,用来存储reads到参考序列的比对信息。

注释:以@开头的行

行:除注释外,每一行是一个read

列:

第一列:read name,read的名字通常包括测序平台等信息

eg.ILLUMINA-379DBF:1:1:3445:946#0/1

第二列:sum of flags,为flag的总和(整数),flag取值见备注(3)

eg.16

第三列:RNAM,reference sequence name,实际上就是比对到参考序列上的染色体号。若是无法比对,则是*

eg.chr1

第四列:position,read比对到参考序列上,第一个碱基所在的位置。若是无法比对,则是0

eg.36576599

第五列:Mapping quality,比对的质量分数,越高说明该read比对到参考基因组上的位置越唯一。

eg.42

第六列:CIGAR值,碱基匹配上的碱基数。match/mismatch、insertion、deletion 对应字母 M、I、D

eg.36M 表示36个碱基在比对时完全匹配

注:第七列到第九列是mate(备注1)的信息,若是单末端测序这几列均无意义。

第七列:MRNM(chr),mate的reference sequence name,实际上就是mate比对到的染色体号,若是没有mate,则是*

eg.*

第八列:mate position,mate比对到参考序列上的第一个碱基位置,若无mate,则为0

eg.0

第九列:ISIZE,Inferred fragment size.详见Illumina中paired end sequencing 和 mate pair sequencing,是负数,推测应该是两条read之间的间隔(待查证),若无mate则为0

eg.0

第十列:Sequence,就是read的碱基序列,如果是比对到互补链上则对read进行了reverse completed

eg.CGTTTCTGTGGGTGATGGGCCTGAGGGGCGTTCTCN

第十一列:ASCII,read质量的ASCII编码。

eg.PY[[YY_______________QQQQbILKIGEFGKB

第十二列之后:Optional fields,以tab建分割。详见备注(2)

eg.AS:i:-1 XN:i:0 XM:i:1 XO:i:0 XG:i:0 NM:i:1 MD:Z:35T0 YT:Z:UU

 

扩展

3,应用举例:

SAM文件可以作为很多后续分析的源文件,也可以从其中提取感兴趣的信息。

4,备注:

(1)mate,在Illuminated中有两种测序技术:paired end sequencing,mate pair sequencing。这两种测序都是测的一个片段的两端,这两端产生的reads被称为mate1,mate2,单末端测序则无mate。

(2)Optional fields:

AS:i:<N>

     Alignment score.可以为负的,在local下可以为正的。 只有当Align≥1 time才出现

XS:i:<N>

     Alignment score for second-best alignment.  当Align>1 time出现

YS:i:<N>

     Alignment score for opposite mate in the paired-end alignment.   当该read是双末端测序中的一条时出现

XN:i:<N>

     The number of ambiguous bases in the reference covering this alignment.(推测是指不知道错配发生在哪个位置,推测是针对于插入和缺失,待查证)

XM:i:<N>

错配碱基的数目

XO:i:<N>

The number of gap opens(针对于比对中的插入和缺失)

XG:i:<N>

The number of gap extensions(针对于比对中的插入和缺失)

NM:i:<N>

The edit distance(read string转换成reference string需要的最少核苷酸的edits:插入/缺失/替换)

YF:Z:<S>

 该reads被过滤掉的原因。可能为LN(错配数太多,待查证)、NS(read中包含N或者.)、

      SC(match bonus低于设定的阈值)、QC(failing quality control,待证)

YT:Z:<S>

    值为UU表示不是pair中一部分(单末端?)、CP(是pair且可以完美匹配)

   DP(是pair但不能很好的匹配)、UP(是pair但是无法比对到参考序列上)

MD:Z:<S>

    比对上的错配碱基的字符串表示

(3)flag取值

0:比对到参考序列的正链上(待求证)

1:是paired-end或mate pair中的一条

2:双末端比对的一条

4:没有比对到参考序列上

8:是paired-end或mate pair中的一条,且无法比对到参考序列上

16:比对到参考序列的负链上

32:双末端reads的另一条(mate)比对到参考序列的负链上

64:这条read是mate 1

128:这条read是mate 2

 

posted @ 2017-05-03 11:38  吴增丁  阅读(14765)  评论(0编辑  收藏  举报