NGS数据分析实践:03. 涉及的常用数据格式[2] - sam/bam格式

article/2025/9/13 21:02:38

NGS数据分析实践:03. 涉及的常用数据格式[2] - sam/bam格式

  • 2. sam和bam格式

系列文章
二代测序方法:DNA测序之靶向重测序
NGS数据分析实践:00. 变异识别的基本流程
NGS数据分析实践:01. Conda环境配置及软件安装
NGS数据分析实践:02. 参考基因组及注释库的下载
NGS数据分析实践:03. 涉及的常用数据格式[1] - fasta和fastq格式

测序数据分析中涉及的常用格式:测序得到的是带有质量值的碱基序列(fastq格式),参考基因组是(fasta格式),用比对工具把fastq格式的序列比对到对应的fasta格式的参考基因序列,就可以产生sam格式的比对文件。把sam格式的文本文件压缩成二进制bam文件可以节省空间,如果对参考基因组上面的各个区段标记它们的性质,比如哪些区域是外显子、内含子、UTR等等,这就是gtf/gff格式。如果只是为了单纯描述某个基因组区域,就是bed格式文件,记录染色体号以及起始终止坐标,正负链即可。如果是记录某些位点或者区域碱基的变异,就是vcf文件格式。

fasta/fastq(测序数据)→SAM/BAM(比对)→gff/gtf(描述基因组上的结构:坐标&类型)→Bigwig/Wiggle(测序深度)→bed(描述坐标)→vcf(突变信息)

存储序列:fasta/fastq
比对结果显示的文件:sam/bam
展示注释信息:gtf/gff/bed
突变信息:vcf

注:以下绿色PPT截图来自 生信技能树。

2. sam和bam格式

SAM的全称是sequence alignment/map format。而BAM就是SAM的二进制文件(B源自binary)。
在这里插入图片描述
SAM格式用来支持高通量测序数据分析:
快速查找与坐标重叠的比对。例如,选择与2号染色体上的坐标323,567,334重叠的比对。(UCSC查看)
根据read的属性进行选择和过滤。例如,我们希望能够快速选择能过比对到反向链上的read。
有效地存储数据。例如,从SAM格式转化成BAM格式,单个压缩文件包含所有样本的数据,每个样本都以某种方式标记。

SAM文件注释及12列的简要说明:
在这里插入图片描述

SAM 格式主要包括两大部分:
(1) 标头注释部分(header section)
首先我们看一个例子:

@HD VN:1.0 SO:unsorted
@SQ SN:gi|10141003|gb|AF086833.2|LN:18959
@PG ID:bowtie2 PN:bowtie2 VN:2.2.5 CL:"bowtie2-2.2.5/bowtie2 -align -s --wrapper basic -0 -x 1976.fa -1 SRR1972739_1.fastq -2 SRR1972739_2.fastq"

标头信息可有可无,都是以@开头,用不同的tag表示不同的信息,主要有:
@HD,说明符合标准的版本、对比序列的排列顺序(这里unsorted)
@SQ,参考序列说明 (SN:gi|10141003|gb|AF086833.2|LN 是参考序列的长度)
@PG,使用的比对程序说明(这里是bowtie2)

(2) 比对结果部分(alignment section)
比对结果部分,每一行表示一个read的比对信息,包括11个必须的字段(mandatory fields)和一个可选的字段,字段之间用tag分割。必须的字段的顺序固定,不可用时,根据字段定义,可以为’0‘或者’*‘,这11个字段包括:
在这里插入图片描述
第一列: Query Name (QNAME)
进行reads比对时通常表示reads的名字,①如果这条reads比对到多条序列或比对到这条序列的多个位置,相同名字会出现多次。②如果是pair-end reads,相同名字会出现2次,分别表示来自于R1文件的reads和R2文件的reads;如果其mate pair reads也比对2个位置,也会出现2次,则相同名字共出现4次;如果一条reads也比对2个位置,则其mate pair比对1个位置,则共出现3次;如果其mate pair reads没有比对上序列也会出现1次(第三列显示“*”),所以pair-end测序,R1文件和R2文件同时mapping,相同reads的id最少出现2次。

第二列:FLAG
这是一种常用且高效的保存多个布尔特征值的方法。
举个简单的例子:在 SAM 格式中,当 flag 为 1,也即对应的二进制为 01 时,表示该 read 有多个测序数据 , 一般理解为有双端测序数据 (另一条没被过滤掉), 而 flag 为 2, 也即二进制 10 时, 表示这条 read 的多个片断都有比对结果, 通常理解为双端 reads 都比对上了, 那么就可以推断出 flag 为 3 时, 也即二进制的 11, 表示该 read 有另一端的 read 并且比对成功, 可以看到, 其实就是 01 加 10。

Flag标识对应的情况说明:
在这里插入图片描述
要是所得出的标记不是上述列举的数字,比如83=64+16+2+1,就是这几种情况值和。
这个网站可以直接通过输入你所得的标记数字,直接告诉其对应的信息:https://broadinstitute.github.io/picard/explain-flags.html

第三列: Reference Name (RNAME)
参考序列的编号,实际上就是比对到参考序列上的染色体号,如果注释中对SQ-SN进行了定义,这里必须和其保持一致;若没有mapping上的序列,用“*”表示,可以认为这条read没有比对上的序列,则这一行的第四,五,八,九 列是“0”,第六,七列与该列是相同的表示方法。

第四列: Position (POS)
表示read比对到RNAME这条序列的最左边的位置,如果该read能够完全比对到这条序列(CIGAR string为M)则这个位置是read的第一个碱基比对的位置,如果该read的反向互补序列比对到这条序列,则这个位置是read的反向互补序列的第一个碱基比对的位置,所以无论该read是正向比对到该序列,或是其反向互补序列比对到该序列,比对结果均是最左端的比对位置。注意是从1开始计数,若没有比对上,此处为0。

第五列:Mapping Quality (MAPQ)
比对的质量;比对的质量分数,越高说明该read比对到参考基因组上的位置越准确。

第六列:Compact Idiosyncratic Gapped Alignment Representation (CIGAR)
CIGAR 代表着简要比对信息表达式,其以参考序列为基础,使用数字加字母表示比对结果。 例如 3S6M1P1I4M
前三个碱基被剪切去除了,然后6个比对上了,然后打开了一 个缺口,有一个碱基插入,最后是4个比对上了。

对于mapping状态可分为以下几类
在这里插入图片描述
M:alignment match (can be a sequence match or mismatch)
表示read可mapping到第三列的序列上,则read的碱基序列与第三列的序列碱基相同,表示正常的mapping结果,M表示完全匹配,但是无论reads与序列的正确匹配或是错误匹配该位置都显示为M。
I:insertion to the reference
表示read的碱基序列相对于第三列的RNAME序列,有碱基的插入。
D:deletion from the reference
表示read的碱基序列相对于第三列的RNAME序列,有碱基的删除。
N:skipped region from the reference
表示可变剪接位置。
P:padding (silent deletion from padded reference)
S:soft clipping (clipped sequences present in SEQ)
H:hard clipping (clipped sequences NOT present in SEQ)
clipped均表示一条read的序列被分开,之所以被分开,是因为read的一部分序列能匹配到第三列的RNAME序列上,而被分开的那部分不能匹配到RNAME序列上。
=:表示正确匹配到序列上
X:表示错误匹配到序列上

注意:
1) H只出现在一条read的前端或末端,但不会出现在中间,S一般会和H成对出现,当有H出现时,一定会有一个与之对应的S出现 。
2) S可以单独出现,而H必须有与之对应的S出现时才可能出现,不可在相同第一列的情况下单独出现。
3) N:如果是mRNA-to-genome,N出现的位置代表内含子,其它比对形式出现N时则没有具体解释 。
4) M/I/S/=/X:这些数值的加和等于第10列SEQ的长度。

第七列:MRNM (chr)
这条reads第二次比对的位置,在利用bwa mem产生sam文件时,如果该列是“*”,而第3列RNAME不是“*”则表示该reads比对到第3列显示序列名的序列上,而没有比对到其他位置。在利用bwa aln及bwa sampe比对生成的sam文件,如果和上述情况相同,则第7列为“=”,上述情况均表示该reads只比对到这一个位置 。如果第3列RNAME和第7列MRNM都为“*”,则说明这条reads没有匹配上序列,如果这条reads匹配两个序列,则第一个序列的名称出现在第3列,而第二个序列的名称出现在第7列。

第八列:MPOS (mate position)
该列表示与该reads对应的mate pair reads的比对位置,如果这对pair-end reads比对到同一条reference序列上,在sam文件中reads的id出现2次,Read1比对的第4列等于Read2比对的第8列。同样Read1比对的第8列等于Read2比对的第4列。

第九列:ISIZE
TLEN:signed observed Template LENgth (可以理解为文库插入片段长度)
如果R1端的read和R2端的read能够mapping到同一条Reference序列上(即第三列RNAME相同),则该列的值表示第8列减去第4列加上第6列的值,R1端和R2端相同id的reads其第九列值相同,但该值为一正一负,R1文件的reads和R2文件的reads,相同id的reads要相对来看。在进行该第列值的计算时,如果取第6列的数值,一定要取出现M的值,S或H的值不能取。
详见Illumina中paired end sequencing 和 mate pair sequencing。
ISIZE为正,说明amplicon的start 为POS,amplicon 的end为 pos + isize-1
ISIZE为负,说明amplicon的start为mate position,amplicon的end为mate position - isize-1
ISIZE为0,说明无法计算出amlicon的大小。

第十列:Sequence
序列片段的序列信息,就是read的碱基序列,如果是比对到互补链上则是reverse completed。如果不存储此类信息,此处为’*‘,注意CIGAR中M/I/S/=/X对应数字的和要等于序列长度。

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

第十二列:Optional fields
可选的区域
格式如:TAG:TYPE:VALUE,其中TAG有两个大写字母组成,每个TAG代表一类信息,每一行一个TAG只能出现一次,TYPE表示TAG对应值的类型,可以是字符串、整数、字节、数组等。如,AS:i:-10
在这里插入图片描述

find . -name *.sam #查找sam格式的文件
bwa mem hg19  MiSeq_SOP/tmp.fq > tmp.sam 
cat tmp.sam | less -S
samtools view -bS tmp.sam > tmp.bam
samtools view tmp.bamsamtools sort tmp.bam > tmp.sorted.bam
samtools view tmp.bam | less -S #无序
samtools view tmp.sorted.bam | less -S #按染色体顺序
samtools view -h tmp.sorted.bam | less -S #-h:查看头文件

其余文件格式见后续。

参考阅读:
http://genome.ucsc.edu/FAQ/FAQformat.html
Sam格式详解手册:http://samtools.github.io/hts-specs/SAMv1.pdf
Sam格式相关文献:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2723002/
https://www.cnblogs.com/yahengwang/p/10695981.html
https://www.jianshu.com/p/a9deb1adb5a6


http://chatgpt.dhexx.cn/article/Zndpryrt.shtml

相关文章

NGS数据过滤之trimmomatic

NGS 原始数据过滤对后续分析至关重要,去除一些无用的序列也可以提高后续分析的准确率和效率。Trimmomatic 是一个功能强大的数据过滤软件。 Trimmomatic 介绍 Trimmomatic 发表的文章至今已被引用了 2810 次,是一个广受欢迎的 Illumina 平台数据过滤工具…

NGS基础:测序原始数据批量下载

生物或医学中涉及高通量测序的论文,一般会将原始测序数据上传到公开的数据库,上传方式见测序文章数据上传找哪里;并在文章末尾标明数据存储位置和登录号,如 The data from this study was deposited in NCBI Sequence Read Archive under acc…

NGS之数据格式

生物信息中常见的几种数据格式有:fasta、fastq、bam、sam、vcf、bed、gff。 参考:http://www.biotrainee.com/thread-42-1-1.html FASTQ 参考:https://en.wikipedia.org/wiki/FASTQ_format fastq格式是文本格式。它有对应序列字符的质量分数&#xff…

生信小白学习日记Day3——NGS基础 NGS分析注解(质量分析软件)

2019年5月27日,天气舒适,忙碌一天之后开始今天的生信学习。今天就昨天Day2-2的一些标记加以查询说明,仅供参考。 NGS基础 NGS分析注解 1. 质量分析软件 昨天提到,拿到数据后可以通过一些软件来评估测序质量的好坏,…

NGS 数据过滤之 Trimmomatic

NGS Trimmomatic 支持多线程,处理数据速度快,主要用来去除 Illumina 平台的 Fastq 序列中的接头,并根据碱基质量值对 Fastq 进行修剪。软件有两种过滤模式,分别对应 SE 和 PE 测序数据,同时支持 gzip 和 bzip2 压缩文…

NGS基础名词解释(1)

什么是高通量测序? 高通量测序技术( High-throughput sequencing , HTS )是对传统 Sanger 测序(称为一代测序技术)革命性的改变 , 一次对几十万到几百万条核酸分子进行序列测定 , 因此在有些文献中称其为…

【评测】NGS建库试剂盒

NGS建库试剂 一、基本信息: 1、产品名称:SynplSeq DNA Library Prep Kit for Illumina 2、货号及规格 3、保存条件:-20℃ 二、产品描述: 1、产品介绍 文库构建是NGS测序的关键环节。SynplSeq DNA Library Prep Kit for illu…

NGS分析流程

NGS实验步骤 核酸提取与检测、文库构建与文库检测、上机测序 生信分析步骤 1. 质量分析 fastqc、multiqc、SolexaQA 测序数据的质量好坏会影响我们的下游分析。但不同的测序平台其测序错误率的图谱都是有差别的。因此,非常建议在我们分析测序数据之前先搞清楚如…

生信小白学习日记Day2-2——NGS基础 NGS分析

2019年5月26日下午,无意中看到hanli0902的关于NGS分析的博文https://blog.csdn.net/hanli1992/article/details/82790386有很多需要学习的地方,在这里贴一些并就不理解之处做些笔记,仅供参考。 NGS基础——NGS分析 NGS 分析步骤 1. 质量分析…

NGS实验室设计

NGS(Next-Generation Sequencing)实验室是进行高通量测序研究的场所,其规划布局需要考虑实验室的功能需求、设备需求、安全性、通风与空调、废弃物处理等多方面的因素。以下是NGS实验室规划布局需要考虑的几个方面: 1、实验室空间…

【gis技术】web墨卡托投影和经纬度直投的差别

本文不适用于不知道投影概念的人。 web墨卡托投影 是以经度0,纬度90为原点,x正轴朝东(右),y轴朝南(下); 格网分割为2*2格网划分,如图 经纬度直投的原点和轴向与前者一致…

墨卡托投影坐标系(Mercator Projection)原理

Web墨卡托投影坐标系: 以整个世界范围,赤道作为标准纬线,本初子午线作为中央经线,两者交点为坐标原点,向东向北为正,向西向南为负。 X轴:由于赤道半径为6378137米,则赤道周长为2*P…

网络墨卡托投影的前世今生

谷歌地图、微软地图、百度地图、腾讯地图、高德地图等网络地图所使用的投影都是网络墨卡托投影(Web Mercator),尽管我们喜欢把百度地图、高德地图称之为火星坐标系,不过它们还是没逃出网络墨卡托投影的手心。 网络墨卡托投影由墨卡…

墨卡托投影原理及瓦片公式推导

墨卡托投影 墨卡托投影将地球球面投影到一个圆柱体柱面上,将地球看作一个正球体时,以 O O O为地球球心,从球心向外辐射射线,与地球外接圆柱面交与 P ′ P P′。 设纬度为 ϕ \phi ϕ,经度为 λ \lambda λ,其中: ϕ ∈ ( − π 2 , π 2 ) \phi\in(-\frac{\pi}{2},\fr…

墨卡托投影实现

又称正轴等角圆柱投影。圆柱投影的一种,由荷兰地图学家墨卡托(G. Mercator)于1569年创拟。为地图投影方法中影响最大的。 设想一个与地轴方向一致的圆柱切于或割于地球,按等角条件将经纬网投影到圆柱面上,将圆柱面展为…

墨卡托投影推导

废话 为啥一堆人都说墨卡托投影是从圆心向圆柱面发射线, 反正我觉得不是那样, 不然公式显然就不对了(也可能是我马虎), 后来去wiki查了一下, 找到了公式的推导. 公式 x = R ( λ − λ 0 ) , y = R ln ⁡ [ tan ⁡ ( π 4 + φ 2 ) ] . {\displaystyle x=R(\lambda -\lambda …

墨卡托投影学习

看下图; 这是超图自带示例;墨卡托坐标系图层的加载; 右下角,看上去数字很大,还有五位小数,的数字,这值就是墨卡托坐标的值; 看一下代码,看不出来是墨卡托坐标系&#x…

墨卡托投影与瓦片地图

目录 一、开胃小知识 二、墨卡托投影 1、什么是墨卡托投影? 2、墨卡托投影的特点 3、墨卡托投影的缺点 三、瓦片地图 1、GIS介绍 2、瓦片地图原理 四、瓦片地图原理---续 1、经纬度 2、投影 3、瓦片 4、瓦片编号 5、关于中国的经纬度 一、开胃小知识 …

墨卡托投影简单介绍

墨卡托投影简单介绍 非洲没有想象的那么小,欧亚大陆也没有看上去那么大,一切都依赖于墨卡托投影。今天就跟小编一起来了解一下墨卡托投影吧。 1 什么是墨卡托投影? 墨卡托(Mercator)投影,又名”等角正轴圆柱投影”,荷…

横轴墨卡托投影参数_横轴墨卡托投影

说明 横轴墨卡托投影也称为高斯-克吕格投影,与墨卡托投影类似,不同之处在于圆柱与沿子午线而非赤道的球体或椭圆体相接触。通过这种方法生成的等角投影不会保持真实的方向。中央经线位于感兴趣区域的中心。这种中心对准方法可以最大程度减少该区域内所有属性的变形。此投影最…