文件处理:bam/sam - 格式介绍

文件处理:bam/sam - 格式介绍

介绍格式头部区@HD@SQ@RG@PG@CO主体区(必须)第 1 列:QNAME第 2 列:FLAG第 3 列:RNAME第 4 列:POS第 5 列:MAPQ第 6 列:CIGAR第 7 列:RNEXT第 8 列:PNEXT第 9 列:TLEN第 10 列:SEQ第 11 列:QUAL主体区(可选)参考介绍SAM(Sequence Alignment/Map)格式是用于存储和描述高通量测序比对结果的标准格式。SAM 文件是纯文本格式,而 BAM(Binary Alignment/Map)文件是其二进制形式,二进制文件占用的磁盘空间比文本文件小,同时运算速度快。

非常多的比对软件可以生成SAM格式,如 HISAT2、bwa、minimap2 等。samtools 专门用于处理 SAM 和 BAM 文件的工具集,包括排序、索引、格式转换等。

https://samtools.github.io/hts-specs/SAMv1.pdf

格式SAM 由两部分组成,都以 tab 分隔:

头部(Header Section)区:以“@”开始,提供了一些比对的总体信息。比如比对的SAM格式版本、比对的参考序列、比对使用的命令行信息等。这一部分是可选的(optional)。主体区/比对数据(Alignment Section):比对结果,每一行存储一个比对结果,一共 11 个必须列,还可以添加多个可选列。

以下是一个例子,显示出实际比对效果以及在 SAM 文件中的样子,其中:

r001/1 和 r002/2: 组成了一个 read pair,分别对应双端测序的 R1 和 R2r002r003: 嵌合 read(chimeric read),可以看出 r003 同时比对到多个地方r004: 剪切比对

头部区@HD头部行,描述文件格式版本和排序信息。可选,但如果存在的话,只能出现一次并且必须在第一行。

VN: SAM 格式文件的版本SO: 比对的排序顺序。可以是:unknown (default)、unsorted、queryname 和 coordinate。GO: 比对的分组,。可以是:none ()、query () 和 reference ()SS:

@SQ序列行,描述参考序列的 ID 和长度

SN: LN: AH: AN: 备选的参考序列名称AS: 基因组组装标识DS: 描述M5: MD5SP: 物种TP: 分子拓扑,可以是:linear (default) 和 circular。UR:

@RGread 组行,描述读组信息,数据编号信息,GATK软件运行时输入的SAM格式文件中必须含有该信息。

ID: read 的分组标识符。每一个 @RG 行必须有一个唯一 IDBC: 标识样本或文库的 barcode 序列。CN: 生成 read 的测序中心的名字DS: 描述DT: 生成日期FO: 流动槽顺序KS: LB: 文库PG: 生成 read 分组的程序PI: 预测的 insert size 中值,约入临近的整数值PL: 测序平台。可以是:CAPILLARY|DNBSEQ (MGI/BGI) |ELEMENT| HELICOS|ILLUMINA|IONTORRENT|LS454|ONT|PACBIO|SINGULAR|SOLID|ULTIMAPM: 测序平台 modelPU: 测序平台 unitSM: 样本

@PG程序行,描述生成文件所用的程序信息(所用比对软件,版本,命令行信息)。

ID: 程序记录标识符。每一个 @PG 行必须有一个唯一 IDPN: 程序名CL: 命令行PP: DS: 描述VN: 程序版本

@CO注释行,任意的注释信息。

@HD VN:1.0 SO:unsorted # VN是版本格式;SO表示比对排序类型,有unkown(default),unsorted,queryname和coordinate几种。@SQ SN:chr01 LN:9401 # 参考基因组序列条数有多少,就会有多少相应的@SQ行数。@RG ID:sample01 SM:sample1 PL:Illumina # 若对数据进行编号,则将其信息记录在@RG中@PG ID:bowtie2 PN:bowtie2 VN:2.0.0-beta7 CL:bowtie2 ... # 所用比对软件,版本,命令行信息。

主体区(必须)

第 1 列:QNAME查询序列的名称。

第 2 列:FLAG按位计算值,值变成二进制后,不同位表示相应的比对信息。

https://broadinstitute.github.io/picard/explain-flags.html

1: 该 read 是成对的 Paired reads 中的一个2: Paired reads 中每个都正确比对到参考序列4: 该 read 没有比对到参考序列上8: 与该 read 成对的另一端的 read 没有比对到参考序列上16: 该 read 和参考序列相比,是反向互补的32: 与该 read 成对的另一端的 read 是反向互补的64: 在 Paired reads 中,该 read 是第 1 条128: 在 Paired reads 中,该 read 是第 2 条256: 非最优的比对结果512: 没有通过质量控制1024: PCR 重复或光学重复2048:

第 3 列:RNAME参考序列的名称。如果存在头部区的 @SQ 行,RNAME 会是 SQ-SN tag 中的一个。

第 4 列:POS比对起始位置(1-based)。

第 5 列:MAPQ比对质量得分。

第 6 列:CIGAR描述比对结果信息:匹配碱基数,可变剪接等。

第 7 列:RNEXT匹配的另外一条序列,比对上的参考序列名。

第 8 列:PNEXT比对终止位置(1-based)。

第 9 列:TLEN插入片段长度。

第 10 列:SEQ和参考序列在同一个链上的比对序列(若比对结果在负义链上,则序列是反向重复序列)。

第 11 列:QUAL比对序列的碱基质量(ASCII-33=Phred base quality)。

主体区(可选)可选的列均以 TAG:TYPE:VALUE 的形式提供信息。其中,

TAG 是一个两个字母的字符串。在每一个比对行中,TAG 出现不能超过两次,其出现的顺序也并不重要。TYPE 是一个区分大小写的字母,定义了 VALUE 的格式。

参考

https://samtools.github.io/hts-specs/SAMv1.pdfhttps://jef.works/blog/2017/03/28/CIGAR-strings-for-dummies/生信技能树 | 【直播】我的基因组(十三):了解sam格式比对结果https://en.wikipedia.org/wiki/SAM_(file_format))简书 | 生信阿拉丁 | Sam/Bam文件格式详解https://zhuanlan.zhihu.com/p/35574870NGS数据格式02-SAM/BAM最详细解读 - pythonic生物人的文章 - 知乎 https://zhuanlan.zhihu.com/p/158719525https://mp.weixin.qq.com/s/q6hiMWGscwaAVcNd9IFCpQ

相关推荐

csgo贴纸怎么刮
365bet体育足球世界

csgo贴纸怎么刮

📅 07-02 👁️ 656
【精华】PS抠logo技巧
best365体育入口中文版

【精华】PS抠logo技巧

📅 07-08 👁️ 4054
#《我的世界》的历史
best365体育入口中文版

#《我的世界》的历史

📅 07-03 👁️ 1243