The encyclopedia · R&D & Science · Technical decision · 2008–2009
SAM's eleven fields made read alignments shareable and BAM made them fast
Heng Li's 2009 SAM/BAM gave alignments one text format and one binary twin; the 1000 Genomes Project and every sequencer pipeline adopted it.
1000 Genomes Project
the move
Next-generation sequencers produced billions of short reads aligned to reference genomes, but every aligner emitted its own format, so outputs could not be compared or shared. Heng Li, Bob Handsaker and colleagues designed the Sequence Alignment/Map (SAM) format for the 1000 Genomes Project, which wanted to move away from the MAQ mapper's format.
The design choice was a fixed, tab-delimited schema: a header section whose lines start with '@', then one line per alignment with 11 mandatory fields — query name, bitwise flag, reference name, position, mapping quality, CIGAR string, mate information, sequence and quality. Optional TAG:TYPE:VALUE pairs carry extra metadata, and BAM is the same data in compressed binary.
SAMtools shipped with the format, giving the ecosystem index, sort, view and variant-calling tools, and the 2009 paper describes SAM as the format in which 1000 Genomes alignments are released. It is now used across the Broad Institute, the Wellcome Sanger Institute and GATK pipelines, and supports short and long reads up to 128 Mbp.
why it works
- Eleven mandatory fields fully describe an alignment
- TAB-delimited text is readable and debuggable
- BAM gives the same data a compact, indexable binary form
- SAMtools shipped with it, so the format had a working ecosystem from day one
what transfers
Give the same data a human-readable text form and a compact binary twin, and one format can serve both debugging and petabyte-scale pipelines.
what came after
SAM/BAM became the release format of the 1000 Genomes Project and the standard across the Broad Institute, Sanger and GATK; the hts-specs repository now maintains the SAM specification and the CRAM successor.
references
spotted an error? The archive wants to know.