BAM

来自医学百科
120.244.141.225讨论2026年2月7日 (六) 20:21的版本 (建立内容为“<div style="padding: 0 4%; line-height: 1.8; color: #1e293b; font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', Arial, sans-serif; background-color: #ffffff…”的新页面)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

BAM(Binary Alignment Map,二进制比对图)是生物信息学中用于存储序列比对数据的标准文件格式。它是 SAM(Sequence Alignment/Map)格式的二进制压缩版本
BAM 文件由 Li Heng 等人(Samtools 团队)开发,旨在解决文本格式(SAM)体积庞大、读取速度慢的问题。它采用了专门的 BGZF 压缩算法,既大大减小了文件体积(通常为 SAM 的 1/4),又支持随机访问(Random Access)。
在几乎所有的现代基因组分析流程(如 GATK 变异检测)中,BAM 都是核心的中间数据格式,用于连接上游的比对(Mapping)和下游的变异检出(Variant Calling)。

BAM
Binary Alignment Map (点击展开)
基因组数据的“压缩胶囊”
格式档案
全称 Binary Alignment Map
扩展名 .bam
伴随索引 .bai
压缩算法 BGZF (分块Gzip)
开发者 Li Heng (Samtools)
主要内容
Header @HD, @SQ, @RG, @PG
Alignment 比对位置, CIGAR
Quality Phred 分数 (ASCII)
操作工具 Samtools, Picard

从文本到二进制:为什么需要 BAM?

虽然 SAM (Sequence Alignment/Map) 格式人类可读(Human-readable),但它对于计算机来说处理效率极低。BAM 的设计初衷就是为了解决这个问题。

特性 SAM (文本) BAM (二进制)
体积 巨大 (100GB+) 压缩 (约 25-30GB)
可读性 可以直接用文本编辑器打开 乱码,需用 samtools view 查看
随机访问 不支持 (必须从头读到尾) 支持 (需配合 .bai 索引)
应用场景 中间查看、调试 存储、分析、IGV 可视化

核心机制:索引与随机访问

BAM 文件之所以能被 IGV 快速加载,或被 GATK 并行处理,完全归功于其索引机制。

  • BGZF 压缩: BAM 并非一个大的压缩包,而是由许多独立的 64KB 小压缩块(Blocks)串联而成。这使得软件可以解压文件的任意一部分,而无需解压整个文件。
  • BAI 索引 (.bai): 类似于书籍的目录。它记录了每条染色体的特定位置(坐标)在 BAM 文件中的字节偏移量(Offset)。
  • 使用规则: 在进行任何下游分析前,必须对 BAM 文件进行排序(Coordinate Sort),并生成索引文件。BAM 和 BAI 必须同名且在同一目录下。
       关键相关概念 [Key Concepts]
       

1. CIGAR String (雪茄串): 描述 Read 如何比对到参考序列上的字符串。例如 100M 表示 100 个碱基完全匹配;50M2I48M 表示中间有 2 个碱基的插入(Insertion)。它是 BAM 记录对齐信息的核心。

2. Bitwise Flag (位标识): 一个整数(如 99, 147, 4),其二进制形式的每一位代表不同的含义(如:是否配对、是否反向互补、是否 PCR 重复)。使用 samtools flags 可以解读其含义。

3. CRAM: 下一代格式。比 BAM 压缩率更高(体积减小 30-50%),因为它只记录与参考基因组不同的碱基。随着数据量激增,CRAM 正在逐渐取代 BAM。

       学术参考文献 [Academic Review]
       

[1] Li H, Handsaker B, Wysoker A, et al. (2009). The Sequence Alignment/Map format and SAMtools. Bioinformatics.
[点评]:SAM/BAM 格式的奠基论文。定义了该格式的标准规范,至今仍是生物信息学引用率最高的文献之一。

[2] Bonfield JK, et al. (2021). The SAM/BAM/CRAM format specifications. GitHub / HTS-Specs.
[点评]:GA4GH 组织维护的官方技术文档,详细规定了 BAM 文件的每一个字节如何定义,是开发者必须遵循的“法律”。

           生物信息学 · 知识图谱
上级分类 生物信息学 • 文件格式
衍生格式 SAM (文本) • CRAM (高压缩) • BAI (索引)
核心工具 SamtoolsPicardGATKIGV