BAM文件数据结构详解

BAM文件(Binary Alignment/Map格式)是用于存储大规模测序数据的二进制文件格式,特别是用于存储序列与参考基因组的比对结果。它是SAM(Sequence Alignment/Map)文件的压缩版本,设计用于更有效的存储和快速的数据访问。以下是BAM文件数据结构的详细介绍,以及一个简单的例子来说明其结构:

数据结构

  1. 文件头(Header):
  • 包含关于BAM文件本身、参考序列和比对程序的信息。
  • 包括的字段可能有:文件格式版本、参考序列的名称和大小、排序方式、比对程序的信息等。

  1. 对齐段(Alignment Blocks):
  • 每个对齐段代表一个读段(read)的比对信息。
  • 包括的字段有:
    • QNAME:读段的名字。
    • FLAG:一组标志,表示读段的特定属性(例如,是否配对、是否比对到参考序列等)。
    • RNAME:参考序列的名字。
    • POS:读段比对到参考序列的起始位置。
    • MAPQ:比对质量分数。
    • CIGAR:一种编码方式,描述如何将读段与参考序列对齐。
    • SEQ:原始读段的核苷酸序列。
    • QUAL:读段序列的质量分数。

  1. 附加数据:
  • 可以包括一些可选的标签,如读段的比对分数、配对信息等。

例子

假设我们有一个简单的BAM文件,它包含了两个读段的比对信息。这里是一个抽象的、简化的表示:

  1. 文件头:
  • 版本:1.5
  • 参考序列:chr1,长度249250621

  1. 对齐段:
  • 读段1:
    • QNAME: read0001
    • FLAG: 0
    • RNAME: chr1
    • POS: 123456
    • MAPQ: 60
    • CIGAR: 76M
    • SEQ: ATCGATCGATCG...
    • QUAL: *(表示没有质量信息)

    • 读段2:
      • QNAME: read0002
      • FLAG: 16 (表示读段比对到参考序列的反向互补链)
      • RNAME: chr1
      • POS: 123501
      • MAPQ: 60
      • CIGAR: 76M
      • SEQ: GCTAGCTAGCTA...
      • QUAL: *(表示没有质量信息)

在这个例子中,我们看到了BAM文件的两个主要部分:文件头和对齐段。每个对齐段都详细描述了一个单独的读段如何比对到参考序列。例如,读段1(read0001)比对到了参考序列chr1的位置123456,而读段2(read0002)则比对到了位置123501,并且是在参考序列的反向互补链上。

相关推荐

  1. BAM文件数据结构详解

    2024-01-06 13:22:02       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-06 13:22:02       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-06 13:22:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-06 13:22:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-06 13:22:02       18 阅读

热门阅读

  1. leetcode 93. 复原 IP 地址

    2024-01-06 13:22:02       47 阅读
  2. python中使用socket服务发送接收图像

    2024-01-06 13:22:02       32 阅读
  3. Jtti:为什么建议企业使用存储型服务器?

    2024-01-06 13:22:02       35 阅读
  4. A Tour of Go部分练习

    2024-01-06 13:22:02       40 阅读
  5. 设置模式:适配器模式

    2024-01-06 13:22:02       34 阅读
  6. Linux平台下gcc安装升级

    2024-01-06 13:22:02       44 阅读
  7. Kendo UI for Angular 学习笔记

    2024-01-06 13:22:02       42 阅读
  8. Redhat(liunx)连接虚拟机

    2024-01-06 13:22:02       23 阅读
  9. 阿里的通义灵码在android studio上的使用方法

    2024-01-06 13:22:02       52 阅读
  10. 07GoF之工厂模式

    2024-01-06 13:22:02       27 阅读
  11. K8S三种发布方式和声明式资源管理

    2024-01-06 13:22:02       32 阅读