SAMBAM文件格式说明及举例

it2023-06-27  86

SAM文件格式

htslib/sam.h是利用C语言对SAM文件进行处理,因此需要了解SAM文件格式。

官方说明文档:http://boyun.sh.cn/bio/wp-content/uploads/2012/07/SAM1.pdf

SAM文件是一种通用的以TAB为分隔符的比对格式,用来存储reads道参考序列的比对信息。

SAM分为两部分,注释信息和比对结果信息,除注释外,每一行是一个read

A. 注释信息可有可无,以@开头

主要有

@HD,说明符合标准的版本、对比序列的排列顺序; @SQ,参考序列说明; @RG,比对上的序列(read)说明; @PG,使用的程序说明; @CO,任意的说明信息。

B. 一些定义

mate: illumina两种测序技术,paired end sequencing,  mate pair sequencing。这两种测序测的是一个片段的两端,这两端产生的reads是mate1 mate2

C. 比对结果示例及说明

11个必须字段和一个可选的字段,顺序固定

1. readid: 比对片段的编号

2. samflag: 位标识,每一个数字为一种比对情况,这里的数值是符合情况的数字相加。

flag取值,转换成二进制很好明白

例如147 = 128 + 16 + 2 + 1

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

2: 双末端比对的一条

4: 没有对比上参考序列

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

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

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

64:这条reads是mate1

128: 这条reads是mate2

3. chromosome: 参考序列的编号,没有比对上的序列是“*”

4. position: 比对上的位置,从1开始计数

5. mapping quality: reads比对的质量

6. cigar:比对信息表达式,M I D分别表示match insertion deletion,例如30M表示30个碱基比对完全匹配

7. mate_chr: mate/next segment ref编号

8. mate_pos:mate/next segment ref坐标

9: insert size:template长度,建库长度,建库的时候,将DNA片段打断成的长度

10: sequence: read的序列信息

11: quality score for each base: reads每个序列的质量信息,是ASCII编码

readidsamflagchromosomepositionmapping qualityERR001268.75147224454917460cigarmate_chrmate_posinsert sizesequence30M=44548985-225GGTTG...quality score for each base)(1)+-5...Optional

TAG:TYPE:VALUE

比如:

SA: Z:5,18606943,-,99S51M,0,0;5,18606886,-,50M100S,0,1; 

其中5,18606886,-,50M100S,0,1表示chr, pos,strand,cigar,mapq,NM

strand: +- 表示正负链

NM:13 表示

BAM文件格式

bam文件是SAM的二进制格式,格式相同,bam文件占用储存空间更小,运算更快。

查看

samtools view xxx.bam | less -S

最新回复(0)