sam/bam格式说明

  在生物信息学中尤其是高通量测序数据分析中,大部分的操作都是在实现短片段序列与参考序列的比对(mapping),比如bowtie等,这就涉及到如何使用一个统一的格式来表示这种mapping结果呢,sam(Sequence Alignment/Map)格式就是来解决这个问题的。sam文件拥有头部描述和详细比对两部分,其中头部描述是以@开头,后面紧跟两个缩写字母表示相应的含义
     
  SAM分为两部分, 注释信息(header section)和比对结果部分(alignment section)注释信息可有可无,都是以@开头,用不同的tag表示不同的信息,主要有 @HD,说明符合标准的版本、对比序列的排列顺序; @SQ,参考序列说明; @RG,比对上的序列(read)说明;@PG,使用的程序说明;@CO,任意的说明信息。而 详细比对部分是通过11个tab隔开的字段来表示。 
下面主要讲解下 详细比对部分字段的具体含义:
                                                                      alignment section部分: 如果其内容没有获得,可以用*或者0代替。
图片
---------------------------------------------chromosomeCIGAR的信息都是非常重要的
其中: 
1. QNAME 表示的是查询序列的名称即短片段(reads)的名称; 
2. FLAG 以整数来表示比对的结果,不同数值有不同的意义,数值也可以是下列数的组合;
图片

    比如如果FLAG是4的话则表示该reads没有比对到参考序列上,flag为16表示single-end reads比对到参考序列的反链上,flag为83(64+16+2+1)表示paired-end reads中的第一个reads比对到参考序列上了。 

3. RNAME  表示参考序列的名称,比如基因组的染色体编号等,如果没有比对上则显示为*; 
chromosome
4. POS 表示比对的起始位置,以
1 开始计数,如果没有比对上则显示为 0 ;  5'端起始位置
5. MAPQ 比对质量;(数字越大,特异性越高) 
6. CIGAR CIGAR 字符串,即比对的详细情况,
 记录插入,删除,错配,后剪切拼接的接头。简要比对信息表达式(Compact Idiosyncratic Gapped Alignment Report),其以参考序列为基础,使用数字+字母表示比对结果。比如3S6M1P1I4M,前三个碱基被剪切去除了,然后6个比对上了,然后打开了一 个缺口,有一个碱基插入,最后是4个比对上了,是按照顺序的; 
7. RNEXT 双末端测序中下一个reads比对的参考系列的名称,如果没有则用 "
" 表示,如果和前一个reads比对到同一个参考序列则用" = "表       示; mate名称,记录mate pair信息  
8. PNEXT 下一个reads比对到参考序列上的位置,如果没有则用
0 表示; mate的位置
9.  ISIZE/TLEN query序列的模板长度或者插入长度,Template的长度, 最左边得为正+,最右边的为负 -,中间的不用定义正负,不分区段(single-segment)的比对上,或者不可用时,表示为 0 ; 
10. SEQ  reads的序列信息; 
11. QUAL  reads的序列质量信息,同FASTQ。 

-----------后面还有些可选字段,比如: 

12.可选字段(optional fields)【程序用标记】,格式如:TAG:TYPE:VALUE,其中TAG有两个大写字母组成,每个TAG代表一类信息,每一行一个TAG只能出现一次,TYPE表示TAG对应值的类型,可以是字符串、整数、字节、数组等。 

示例:http://blog.csdn.net/u012150360/article/details/70556186博耘生物

解释: 
这里写图片描述

其中可以看出Aligenment 2 和 Alignment 3是成对的reads,其插入长度为314。 
bam格式中的b是binary的意思,是sam格式的二进制表示方式,为什么要用二进制表示呢? 因为sam格式文件大小通常是十分大的,一般是以G为单位,所以为了减少存储量等因素而将sam转换为二进制格式以便于分析。 
sam/bam格式是由特定的一些软件(比如samtools)来处理的,包括格式互转、排序、建立索引、搜寻突变等操作,后续分析中会详细讲解samtools工具的使用方法。

【数据格式说明】

1.bam文件读取
samtools view xxx.bam
samtools view xxx.bam |less 

2.bam和sam的区别与一致

(1)   sam是带有比对信息的序列文件(即告诉你这个reads在染色体上的位置等),用于储存序列数据(SAM  format is a generic format for storing large nucleotide sequence alignments. )                                                                                             (2)  BAM is the compressed binary version of the Sequence Alignment/Map (SAM) format. 生物信息中的二进制文件主要是为了节约空间,计算机机可读。可以用samtools工具实现sam和bam文件之间的转化。


      二者都是fastq文件经过序列比对或者mapping后输出的格式(其储存的信息都是一致的)

【flag】

1 : 代表这个序列采用的是PE双端测序

2: 代表这个序列和参考序列完全匹配,没有错配和插入缺失

4: 代表这个序列没有mapping到参考序列上

8: 代表这个序列的另一端序列没有比对到参考序列上,比如这条序列是R1,它对应的R2端序列没有比对到参考序列上

16:代表这个序列比对到参考序列的负链上

32 :代表这个序列对应的另一端序列比对到参考序列的负链上

64 : 代表这个序列是R1端序列, read1;

128 : 代表这个序列是R2端序列,read2;

256: 代表这个序列不是主要的比对,一条序列可能比对到参考序列的多个位置,只有一个是首要的比对位置,其他都是次要的

512: 代表这个序列在QC时失败了,被过滤不掉了(# 这个标签不常用)

1024: 代表这个序列是PCR重复序列(#这个标签不常用)

2048: 代表这个序列是补充的比对(#这个标签具体什么意思,没搞清楚,但是不常用)

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

samtools 中flag 可以查看flags详细信息:如:
$samtools flags 77
0x4d    77      PAIRED,UNMAP,MUNMAP,READ1
flags值为77 
PAIRED表示这条序列采用双端测序, 其值为1;
UNMAP表示这个序列没有mapping到参考序列上, 其值为4;
MUNMAP表示这个序列的另一端序列没有比对到参考序列上, 其值为8;
READ1表示这条序列是R1端序列,其值为64.
以上数值相加和为77

$samtools flags 141
0x8d    141     PAIRED,UNMAP,MUNMAP,READ2
flags值为141
PAIRED表示这条序列采用双端测序, 其值为1;
UNMAP表示这个序列没有mapping到参考序列上, 其值为4;
MUNMAP表示这个序列的另一端序列没有比对到参考序列上, 其值为8;
READ1表示这条序列是R1端序列,其值为128.
以上数值相加和为141

【samtools】

对SAM文件的处理,安装,samtools软件来处理
tar zxvf samtools-0.1.18.tar.bz2
cd samtools-0.1.18/
make
samtoolpath=`pwd`
PATH=PATH:$samtoolpath
例如:
2,samtools 将SAM文件转化为BAM文件 
    samtools view -bS eg2.sam > eg2.bam
3,用samtools sort将BAM文件进行排序。
    samtools sort eg2.bam eg2.sorted
4,寻找突变通过VCF格式
samtools mpileup -uf $BT2_HOME/example/reference/lambda_virus.fa eg2.sorted.bam | bcftools view -bvcg - > eg2.raw.bcf
5,看突变位点
    bcftools view eg2.raw.bcf


参考资料:


  • 9
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值