案例库 · 研发与科研 · 技术决策 · 2008–2009
SAM 的 11 个字段让比对结果得以共享,BAM 让比对结果飞驰
Heng Li 2009 年推出的 SAM/BAM 为比对结果提供了一种文本格式和一种二进制孪生格式;千人基因组计划及所有测序流程都采用了它。
千人基因组计划
解法
新一代测序仪产生了数十亿条短读段,它们需要比对到参考基因组上,但每个比对软件都有自己的输出格式,导致结果无法相互比较或共享。Heng Li、Bob Handsaker 及其同事为千人基因组计划设计了序列比对/映射(SAM)格式,因为该计划想要摆脱 MAQ 比对软件的格式。
设计选择是一个固定的、制表符分隔的模式:头部区域的每一行以 '@' 开头,然后每一行比对结果包含 11 个必填字段——查询名称、位标志、参考名称、位置、比对质量、CIGAR 字符串、配对信息、序列和质量。可选的 TAG:TYPE:VALUE 对携带额外元数据,而 BAM 是相同数据的压缩二进制格式。
SAMtools 与格式一同发布,为生态提供了索引、排序、查看和变异调用工具;2009 年的论文将 SAM 描述为千人基因组计划发布比对结果的格式。如今它被广泛用于博德研究所、桑格研究所和 GATK 流程中,并支持长达 128 Mbp 的短读段和长读段。
生效的原因
- 11 个必填字段完整描述了一次比对
- 制表符分隔的文本可读且易于调试
- BAM 为相同数据提供了紧凑、可索引的二进制形式
- SAMtools 随格式一起提供,因此该格式从一开始就拥有一个可用的生态系统
取得的成效11 个由制表符分隔的字段能描述任何比对结果利落
可借鉴之处
为同一份数据提供人类可读的文本形式和紧凑的二进制孪生形式,一种格式就能同时服务于调试和 PB 级流程。
后续进展
SAM/BAM 成为千人基因组计划的发布格式,并成为博德研究所、桑格研究所和 GATK 的标准;hts-specs 仓库目前维护着 SAM 规范及其继任者 CRAM。
资料来源
发现哪里写错了?告诉我们。