sam/bam格式

一)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/1r001/2组成read pairr003是嵌合体(chimeric read) ,r004表示 split alignment事件

2.2)相应的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一样

其中第二列FLAG每个数值含义如下,如果符合下面多种情况,则为以下数字之和:

1  read是pair中的一条(read表示本条read,mate表示pair中的另一条read)2  pair一正一负完美的比对上4  这条read没有比对上8  mate没有比对上16 这条read反向比对32 mate反向比对64 这条read是read1128 这条read是read2256 第二次比对512 比对质量不合格1024 read是PCR或光学副本产生2048 辅助比对结果

其中第六列Extended CIGAR :

M: match/mismatchI :插入 insertion(和参考基因组相比)D:  删除 deletion(和参考基因组相比)N: 跳跃 skipped(和参考基因组相比)S: 软剪切 soft clipping ,(表示unaligned)H: 硬剪切 hard clipping  (被剪切的序列不存在于序列中)P: 填充  padding(表示参考基因组没有,而reads里面含有位点)

二)Bam (Binary Alignment/Map)

-------------------------------------------------

bam文件是Sam 文件的二进制压缩格式,保留了与sam 完成相同的内容信息。SAM/BAM 文件可以是未排序的,但是按照坐标(coodinate)排序可以线性的监控数据处理过程。samtools可以用来转化bam/sam文件,可以merg,sort aligment,可以去除duplicate,可以call snp及indels.



原文地址:https://www.cnblogs.com/djx571/p/9495388.html

时间: 2024-10-27 12:19:03

sam/bam格式的相关文章

Edit Distance编辑距离(NM tag)- sam/bam格式解读进阶

sam格式很精炼,几乎包含了比对的所有信息,我们平常用到的信息很少,但特殊情况下,我们会用到一些较为生僻的信息,关于这些信息sam官方文档的介绍比较精简,直接看估计很难看懂. 今天要介绍的是如何通过bam文件统计比对的indel和mismatch信息 首先要介绍一个非常重要的概念--编辑距离 定义:从字符串a变到字符串b,所需要的最少的操作步骤(插入,删除,更改)为两个字符串之间的编辑距离. 这也是sam文档中对NM这个tag的定义. 编辑距离是对两个字符串相似度的度量(参见文章:Edit Di

SAM/BAM文件处理

当测序得到的fastq文件map到基因组之后,我们通常会得到一个sam或者bam为扩展名的文件.SAM的全称是sequence alignment/map format.而BAM就是SAM的二进制文件(B取自binary). 那么SAM文件的格式是什么样子的呢?如果你想真实地了解SAM文件,可以查看它的说明文档.SAM由头文件和map结果组成.头文件由一行行以@起始的注释构成.而map结果是类似下面的东西: HWI-ST1001:137:C12FPACXX:7:1115:14131:66670

bwa比对软件的使用以及其结果文件(sam)格式说明

一.bwa比对软件的使用 1.对参考基因组构建索引 bwa index -a bwtsw hg19.fa   #  -a 参数:is[默认] or bwtsw,即bwa构建索引的两种算法,两种算法都是基于BWT的(BWT search while the CIGAR string by Smith-Waterman alignment.).-a bwtsw对于短的参考序列是不工作的,必须要大于等于10Mb:-a is 不适用于大的参考序列,必须要小于等于2G: output:hg19.fa.am

pysam - 多种格式基因组数据(sam/bam/vcf/bcf/cram/…)读写与处理模块(python)

在开发基因组相关流程或工具时,经常需要读取.处理和创建bam.vcf.bcf文件.目前已经有一些主流的处理此类格式文件的工具,如samtools.picard.vcftools.bcftools,但此类工具集成的大多是标准功能,在编程时如果直接调用的话往往显得不够灵活. 本文介绍的是一个处理基因组数据的python模块,它打包了htslib-1.3.samtools-1.3 和 bcftools-1.3的核心功能,能在编程时非常灵活的处理bam和bcf文件. 以下主要介绍pysam的安装和使用方

5、bam格式转为bigwig格式

1.Bam2bigwig(工具) https://www.researchgate.net/publication/301292288_Bam2bigwig_a_tool_to_convert_bam_files_into_bigwig_for_UCSC_Genome_Browser tutor file: http://files.cnblogs.com/files/renping/bam2bigwig.pdf 2.通过chip-seq 流程有涉及 http://blog.csdn.net/q

UCSC genome browser 个人track 安装

处理基因组数据,很多时候我们会觉得直接看序列文件不够直观,如果绘图的话,把n多G把数据用画图出来不仅费劲,就算操作也不方便.因此我们可以用UCSC开发出的genome browser,可以直接把数据信息写成track,连上genome browser 上查看,它还支持安装到本地服务器上(genome browser in box ,简称GBIB),genome browser 支持的格式有bedGraph, GTF, PSL, BED, bigBed, WIG, bigGenePred, big

bam(sam)2fasta

bam(sam)格式文件转化为fasta格式 bam2fasta的转变方式:samtools view SL3003_SL3004_100122-hg18.bam | \awk '{OFS="\t"; print ">"$1"\n"$10}' - > SL3003.fasta sam2fasta的转变方式:cat *.sam | awk '{print ">"$1"\n"$10}' >

pysam读取bam files[转载]

pysam - 多种格式基因组数据(sam/bam/vcf/bcf/cram/-)读写与处理模块(python) 在开发基因组相关流程或工具时,经常需要读取.处理和创建bam.vcf.bcf 文件.目前已经有一些主流的处理此类格式文件的工具,如samtools.picard.vcftools.bcftools,但此类工具集成的大多是标 准功能,在编程时如果直接调用的话往往显得不够灵活. 本文介绍的是一个处理基因组数据的python模块,它打包了htslib-1.3.samtools-1.3 和

17、SAM文件格式说明(转载迷宫中的将军)

1. SAM格式说明 SAM代表Sequence Alignment/Map格式,是一种制表符分隔的文本格式,包含一个可选的头部分(header section,有人称之为"注释部分"),和一个比对部分(alignment section).如果包含头部分,那么头部分必须置于比对部分之前.头部分的行以@符号开头,而比对部分的行不以@符号开头.比对部分的每一行包含11个必选的字段,用于说明重要的比对信息,如比对位置(mapping position)等:另有可变数量的可选字段,用于存储其