资料总结分享:SAM,bam,bed文件格式

目录

sam文件

bam文件

bed 文件


sam文件

SAM(Sequence Alignment/Map)文件是存储测序数据比对结果的一种常见格式。SAM文件通常用于存储DNA或RNA测序数据在参考基因组上的比对结果。
SAM文件由多行文本组成,每一行代表一个比对结果。SAM文件中的每一行包含了比对的序列ID、比对的标志、参考序列的名称、序列的起始位置、比对得分、序列的序列等信息。
SAM文件的格式如下所示:
头部(Header):以“@”开头的行,用来描述比对的元数据信息。
对齐记录(Alignment Records):每个对齐记录占据一行,包含了比对的详细信息。
总体来说,SAM文件提供了一个标准化的方式来存储和传输测序数据比对的结果,方便生物信息学分析和数据交换。

SAM文件的文件结构包括头部(header)和数据部分(body)。下面是SAM文件的基本结构:

1. 头部(Header):
   - 头部包含一系列以“@”符号开头的元数据行,这些元数据行提供有关测序数据、参考基因组、比对算法等信息。
   - 头部的元数据行可以包含信息如下:
     - @HD:文件的版本和排序信息。
     - @SQ:参考序列的信息,包括序列名称、长度等。
     - @RG:测序样本的信息。
     - @PG:比对软件的信息。
     - 其他自定义的元数据行。

2. 数据部分(Body):
   - 数据部分包含比对结果的详细信息,每一行代表一个比对结果。
   - 每行包含多个字段,用制表符(tab)进行分隔。字段包括:
   1.  - QNAME:测序read的名称。
   2.  - FLAG:标志位,标识比对信息。
   3.  - RNAME:参考序列的名称。

表示read比对的那条序列的序列名称(名称与头部的@SQ相对应),如果这列是“*”,可以认为这条read没有比对上的序列,则这一行的第四,五,八,九 列是“0”,第六,七列与该列是相同的表示方法。


     4.- POS:比对的起始位置。

        表示read比对到RNAME这条序列的最左边的位置,如果该read能够完全比对到这条序列(CIGAR string为M)则这个位置是read的第一个碱基比对的位置,如果该read的反向互补序列比对到这条序列,则这个位置是read的反向互补序列的第一个碱基比对的位置,所以无论该read是正向比对到该序列,或是其反向互补序列比对到该序列,比对结果均是最左端的比对位置。


    5. - MAPQ:比对质量得分。

        表示为mapping的质量值,mapping Quality, It equals -10log10Pr{mapping position is wrong}, rounded to the nearest integer, A value 255 indicates that the mapping quality is not available. 该值的计算方法是mapping的错误率的-10log10值,之后四舍五入得到的整数,如果值为255表示mapping值是不可用的,如果是unmapped read则MAPQ为0,一般在使用bwa mem或bwa aln(bwa 0.7.12-r1039版本)生成的sam文件,第五列为60表示mapping率最高,一般结果是这一列的数值是从0到60,且0和60这两个数字出现次数最多。


         6.  - CIGAR:比对的CIGAR字符串,描述read和参考序列的比对关系。

CIGAR string,可以理解为reads mapping到第三列序列的mapping状态,

对于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"表示错误匹配到序列上

而H只出现在一条read的前端或末端,但不会出现在中间,S一般会和H成对出现,当有H出现时,一定会有一个与之对应的S出现

例如:

162M89S

162H89M

149M102S

149H102M

40S211M

20M1D20M211H

S可以单独出现,而H必须有与之对应的S出现时才可能出现,不可在相同第一列的情况下单独出现

N:如果是mRNA-to-genome,N出现的位置代表内含子,其它比对形式出现N时则没有具体解释

M/I/S/=/X:这些数值的加和等于第10列SEQ的长度。

        7.MRNM

        该read的mate read比对上的参考序列的名字,该名字出现在Header section的@SQ行的SN标识中,

  • 如果和该read所在行的第三列“RNAME”一样,则用“=”表示,说明这对read比对到了同一条参考序列上;

  • 如果mate read没有比对上,第七列则用“*”表示;

  • 如果这对read没有比对到同一条参考序列,那么这一列则是mate read所在行第三列的“RNAME”。

        8.MPOS

        该read的mate read比对到的参考序列“RNAME”最左侧的位置坐标,也是mate read CIGAR中第一个比对标识“M”对应的最左侧碱基在参考序列的位置,未比对上的read在参考序列中没有坐标,此列标识为“0”。

        9.ISIZE

        表示pair read完全匹配到同一条参考序列时,两个read之间的长度,可简单理解为测序文库的长度。这个定义有两种情况(虚线表示未比对上的序列,即soft-clipped bases):

  1. 第一种情况如图4左所示,Read1和Read2比对到同一条参考序列,此时ISIZE即为Read2的最右侧比对坐标减去Read1最左侧比对坐标;

  2. 第二种情况如图4右所示,由于至今没有明确的定义和共识,因此ISIZE可以是TLEN#1,也可以是TLEN#2,视情况而定。

     

图片来自Sam/Bam文件格式详解

        10.SEQ

        存储的序列,没有存储,此列则用“*”标识。该序列的长度一定等于CIGAR标识中“M”,“I”,“S”,“=”,“X”标识的碱基长度之和。

         11.QUAL

        序列的每个碱基对应一个碱基质量字符,每个碱基质量字符对应的ASCII码值减去33(Sanger Phred-33 质量值体系),即为该碱基的测序质量得分(Phred Quality Score)。不同Phred Quality Score代表不同的碱基测序错误率,如Phred Quality Score值为20和30分别表示碱基测序错误率为1%和0.1%。

        SAM文件是一种文本文件格式,易于人类阅读和编辑。在生物信息学中,SAM文件通常会被进一步转换成二进制格式的BAM文件,以便于存储和处理大规模的测序数据。

bam文件

BAM(Binary Alignment/Map)文件是SAM文件的二进制版本,用于存储测序数据比对结果。相对于文本格式的SAM文件,BAM文件以二进制形式存储,具有更高的存储效率和读写速度。
BAM文件格式基本上与SAM文件格式相同,但是使用了二进制编码,使得文件大小更小,并且可以更快地进行数据读写操作。BAM文件还包含了索引(index)信息,可以方便地进行随机访问和查询。
BAM文件由两部分组成:
BAM头部(BAM Header):类似于SAM文件的头部,用来描述比对的元数据信息。
BAM记录(BAM Records):每个BAM记录包含了与SAM记录相同的比对详细信息,但以二进制格式编码。
BAM文件常用于存储大规模的测序数据比对结果,例如全基因组测序、转录组测序等。它是生物信息学研究中常用的标准格式之一,方便数据的处理和共享。

BAM 文件的文件结构主要包括以下几个部分:

  1. 文件头(Header):BAM 文件的头部包含了一些元信息,如文件版本、参考基因组信息、测序仪器信息等。文件头通常以固定长度的MAGIC字符串开头,用于标识该文件是一个BAM文件。

  2. 对齐记录(Alignment records):BAM 文件的主要内容是对齐记录,每个对齐记录记录了一条测序数据的对齐信息,包括测序序列、测序质量、对齐位置等。对齐记录由多个字段组成,如QNAME(读取的名称)、FLAG(对齐标志)、RNAME(对齐到的染色体名称)、POS(对齐到的起始位置)、CIGAR(对齐方式)、SEQ(测序序列)、QUAL(测序质量)等。

  3. 索引表(Index):BAM 文件通常包含一个索引表,用于快速定位某个特定位置的对齐记录,加快数据检索速度。

        文件头部信息通常以固定格式存储,其中包含了一系列的标签-值对(tag-value pairs),用于描述和标识测序数据的相关属性。

        具体来说,BAM文件的文件头部信息通常包括以下内容:

  1. 申明:文件开始处包含"BGZF"四个字节的魔数标识,表示文件采用BGZF压缩格式。
  2. 全局头部(Header):包含了关于整个BAM文件的元信息,如文件版本号、排序顺序、参考基因组信息等。
  3. 参考序列(Reference Sequences):描述了BAM文件中所用到的参考基因组序列的信息,包括序列名、长度等。
  4. 读组(Read Groups):描述了测序数据的读组信息,如测序样本ID、测序平台、测序文库信息等。
  5. 标题(Comments):可以包含一些注释性的信息。

        header内容不多,也不会太复杂,每一行都用‘@’ 符号开头,里面主要包含了版本信息,序列比对的参考序列信息,如果是标准工具(bwa,bowtie,picard)生成的BAM,一般还会包含生成该份文件的参数信息,@PG标签开头的那些。这里需要重点提一下的是header中的@RG也就是Read group信息,这是在做后续数据分析时专门用于区分不同样本的重要信息。它的重要性还体现在,如果原来样本的测序深度比较深,一般会按照不同的lane分开比对,最后再合并在一起,那么这个时候你会在这个BAM文件中看到有多个RG,里面记录了不同的lane,甚至测序文库的信息,唯一不变的一定是SM的sample信息,这样合并后才能正确处理。

其中,Alignment records部分包含了每条reads的比对信息,主要包括以下字段:

  1. QNAME:reads的唯一标识符。
  2. FLAG:比对标记,包括reads的比对状态和方向等信息。
  3. RNAME:比对到的参考基因组的染色体名称。
  4. POS:reads的起始位置在参考基因组上的坐标。
  5. MAPQ:比对质量得分,表示reads比对的可靠性。
  6. CIGAR:用于描述reads与参考基因组的比对关系。
  7. RNEXT:下一个比对的参考序列名称。
  8. PNEXT:下一个比对的起始位置。
  9. TLEN:模板长度,表示reads与其配对reads之间的距离。

Flag信息

这是一个非常特别并且重要的数字,也是一个容易被忽视的数字,这可能和许多生信工程师也并不完全理解这个值有关。许多同学在第一次看到其官方文档中的描述之后依然会觉得十分困惑,但它里面实际上记录了许多有关read比对情况的信息。想要读懂它的一个关键点是我们不能够将其视为一个数字,而是必须将其转换为一串由0和1组成的二进制码,这一串二进制数中的每一个位(注意是“位”,bit的意思)都代表了一个特定信息,它一共有12位(以前只有8位),所以一般会用一个16位的整数来代表,这个整数的值就是12个0和1的组合计算得来的,因此它的数值范围是0~2048(2的12次方,计算机科学的同学对这种计算应该不陌生)。

CIGAR 

CIGAR是Compact Idiosyncratic Gapped Alignment Report的首字母缩写,称为“雪茄”字符串。它用数字和几个字符的组合形象记录了read比对到参考序列上的细节情况,读起来要比FLAG直观友好许多,只是记录的是不同的信息。比如,一条150bp长的read比对到基因组之后,假如看到它的CIGAR字符串为:33S117M,其意思是说在比对的时候这条read开头的33bp在被跳过了(S),紧接其后的117bp则比对上了参考序列(M)。这里的S代表软跳过(Soft clip),M代表匹配(Match)。CIGAR的标记字符有“MIDNSHP=XB”这10个,分别代表read比对时的不同情况:

图片来自从零开始完整学习全基因组测序(WGS)数据分析之理解并操作BAM文件

除了最后‘=XB’非常少见之外,其它的标记符通常都会在实际的BAM文件中碰到。另外,对于M还是再强调一次,CIGAR中的M,不能觉得它代表的是匹配就以为是百分百没有任何miss-match,这是不对的,多态性碱基或者单碱基错配也是用M标记!

 BAM文件相对于SAM文件有几个明显的优点:
存储效率:BAM文件采用二进制格式存储数据,相比文本格式的SAM文件,文件大小更小,节省存储空间。
读写速度:由于是二进制格式,BAM文件的读写速度比SAM文件更快,特别是在处理大规模测序数据时能够显著提高效率。
索引支持:BAM文件包含了索引信息,可以快速定位到特定区域或记录,方便进行随机访问和查询。
数据安全性:由于是二进制格式,BAM文件对数据的完整性和安全性有更好的保障,减少了数据损坏或篡改的风险。
格式标准化:作为生物信息学领域的标准格式之一,BAM文件具有一定的格式标准,方便数据的交换、共享和统一处理。
总的来说,BAM文件相比SAM文件在存储效率、读写速度、索引支持等方面具有明显优势,特别适用于处理大规模的测序数据以及需要高效率访问和处理数据的情况。因此,在生物信息学研究中,BAM文件被广泛应用于测序数据的存储、处理和分析。

bed 文件

BED 文件由多行组成,每行代表一个基因组区域或特征的记录。每一行包含了一系列字段,对应于区域的起始位置、结束位置以及其他属性信息。以下是 BED 格式中列的含义:

chrom:区域所在的染色体或者contig名称或编号。

start:区域的起始位置,表示在染色体上的第一个碱基位置。

end:区域的结束位置,表示在染色体上的最后一个碱基位置。

name:区域的名称或标识符。

score:区域的得分或质量值,可以表示各种数值信息,如测序深度、信号强度等。

strand:区域的方向,表示正链(+)、负链(-)或未确定链(.)。

BED 文件常用于描述基因组上的基因、转录本、外显子、修饰位点等区域,并可以携带与这些区域相关的数值数据。它在基因组注释、染色质亚结构分析和可视化等领域具有广泛的应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/7780.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QX-mini51学习---(2)点亮LED

目录 1什么是ed 2led工作参数 3本节相关原理图分析 4本节相关c 5实践 1什么是ed 半导体发光二极管,将电能转化为光能,耗电低,寿命长,抗震动 长正短负,贴片是绿点处是负极 2led工作参数 3本节相关原理图分析 当…

计算图:深度学习中的链式求导与反向传播引擎

在深度学习的世界中,计算图扮演着至关重要的角色。它不仅是数学计算的图形化表示,更是链式求导与反向传播算法的核心。本文将深入探讨计算图的基本概念、与链式求导的紧密关系及其在反向传播中的应用,旨在为读者提供一个全面而深入的理解。 计…

嵌入式5-7

练习:优化登录框,输入完用户名和密码后,点击登录,判断账户是否为 Admin 密码 为123456,如果判断成功,则输出登录成功,并关闭整个登录界面,如果登录失败,则提示登录失败&a…

JavaScript异步编程——03-Ajax传输json和XML

Ajax 传输 JSON JSON 的语法 JSON(JavaScript Object Notation):是 ECMAScript 的子集。作用是进行数据的交换。语法更为简洁,网络传输、机器解析都更为迅速。 语法规则: 数据在键值对中 数据由逗号分隔 花括号保存对象 方括号保存数组…

远程桌面连接不上,远程桌面连接不上的专业解决策略

在信息技术领域,远程桌面连接是一种非常重要的工具,它允许用户从任何地点、任何时间访问和操作远程计算机。然而,当远程桌面连接出现问题时,可能会严重影响工作效率。以下是一些可能导致远程桌面连接不上的原因以及相应的解决方案…

Verilog刷题笔记47

题目: From a 1000 Hz clock, derive a 1 Hz signal, called OneHertz, that could be used to drive an Enable signal for a set of hour/minute/second counters to create a digital wall clock. Since we want the clock to count once per second, the OneHer…

普洱茶泡多少茶叶才算淡茶?

普洱茶淡茶一般放几克茶叶,品深茶官网根据多年专业研究与实践结果,制定了淡茶冲泡标准。在冲泡普洱茶淡茶时,茶叶的投放量是关键因素之一。淡茶冲泡标准旨在保持茶汤的清爽口感,同时充分展现普洱茶的独特风味。 根据《品深淡茶冲…

AMEYA360详解:蔡司利用纳米探针技术探索半导体微观电学性能

半导体器件尺寸不断缩小和复杂度增加,纳米探针(Nanoprobing)技术成为解决微观电学问题和优化器件性能的重要工具,成为半导体失效分析流程中越来越重要的一环。 随着功率半导体的快速发展,其厂商也开始密切关注纳米探针技术在PN结特性分析和掺…

js宏任务微任务输出解析

第一种情况 setTimeout(function () {console.log(setTimeout 1) //11 宏任务new Promise(function (resolve) {console.log(promise 1) //12 同步函数resolve()}).then(function () {console.log(promise then) //13 微任务})})async function async1() {console.log(async1 s…

贪吃蛇大作战(C语言--实战项目)

朋友们!好久不见。经过一段时间的沉淀,我这篇文章来和大家分享贪吃蛇大作战这个游戏是怎么实现的。 (一).贪吃蛇背景了解及效果展示 首先相信贪吃蛇游戏绝对称的上是我们00后的童年,不仅是贪吃蛇还有俄罗斯⽅块&…

【数据库表的约束】

文章目录 一、NULL vs (空字符串)二、not null 和default三、列描述字段comment四、zerofill五、primary key 主键总结 一、NULL vs ‘’(空字符串) NULL和空字符串’’ NULL代表什么都没有。 空字符串’代表有,但串…

纯干货分享|源代码泄露的有效方法

企业的源代码怎么加密? 源代码防泄密的重点和方法到底是怎样的? 源代码开发环境复杂,涉及的开发软件、文件类型庞杂多变,究竟有什么源代码加密软件能够适应众多开发软件而不影响原有的工作效率? 相信这是很多IT管理…

如何用TONGYILingma进行AI辅助编程?

通义灵码,是阿里云出品的一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云的云服务使用场景调优&#xff0c…

面试笔记——工厂模式(简单工厂、工厂方法模式、抽象工厂模式)

场景需求:设计一个咖啡店点餐系统。 设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设计一个咖啡店类(CoffeeStore&#xff09…

软件设计师-应用技术-UML建模题3

基础知识及技巧: 1. 用例图: 1.1 考点: 题干里面有关项目的详细描述,完整用例图中的某些参与者和某些用来扣掉,根据题干内容和已有用例图补充。根据题干,分析用例图之间的关系。 1.2 基础知识&#xff…

Linux进程通信-信号

信号概念 信号是 Linux 进程间通信的最古老的方式之一,是事件发生时对进程的通知机制,有时也称之为软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号 可以导致一个正在运行的进程被另一个正在运行的异…

通过 Java 操作 redis -- String 基本命令

关于 redis String 类型的相关命令推荐看 Redis - String 字符串 要想通过 Java 操作 redis,首先要连接上 redis 服务器,推荐看通过 Java 操作 redis -- 连接 redis 本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单…

Day 63:单调栈 LeedCode 84.柱状图中最大的矩形

84. 柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:heights [2,1,5,6,2,3] 输出:10 解释&a…

论文精读-基于FPGA的卷积神经网络和视觉Transformer通用加速器

文章目录 论文精读-基于FPGA的卷积神经网络和视觉Transformer通用加速器概述研究背景卷积和注意力机制概述计算方式差异非线性与归一化操作差异 问题小结 加速器设计乘法单元探索非线性与归一化加速单元加速器架构 实验结果QA 论文精读-基于FPGA的卷积神经网络和视觉Transforme…

交易复盘-20240507

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 蔚蓝生物 (5)|[9:25]|[36187万]|4.86 百合花…