Specifications of SAM/BAM and related high-throughput sequencing file formats
Clone or download
Latest commit 9fd15c5 Jun 1, 2017
Permalink
Failed to load latest commit information.
_includes Redo the index web page using Jekyll Nov 11, 2016
_layouts Add ga4gh-retrieval.md to README and index Dec 13, 2016
img Make images non-executable Mar 14, 2014
pub Product review committee changes v1 (#336) Oct 4, 2018
scripts Move genversion.sh to scripts/; remove new/ from repository Oct 1, 2018
.gitattributes Fix typo Mar 7, 2014
.gitignore Move genversion.sh to scripts/; remove new/ from repository Oct 1, 2018
BCFv1_qref.pdf Added compiled PDF docs to github page Nov 27, 2013
BCFv1_qref.tex Note that BCF1 is obsolete Jul 3, 2013
BCFv2_qref.pdf Added compiled PDF docs to github page Nov 27, 2013
BCFv2_qref.tex Rerun LaTeX by checking .aux/etc files rather than scraping .log Oct 1, 2018
CRAMv2.1.pdf Batch PDF updates for only a week [MAINTAINERS.md]; update PDFs Oct 1, 2018
CRAMv2.1.tex Bug fix NP encoding type. May 4, 2018
CRAMv3.pdf Batch PDF updates for only a week [MAINTAINERS.md]; update PDFs Oct 1, 2018
CRAMv3.tex Bug fix NP encoding type. May 4, 2018
CSIv1.pdf Update CSIv1.pdf, SAMv1.pdf, tabix.pdf to f35504b Nov 21, 2014
CSIv1.tex Rerun LaTeX by checking .aux/etc files rather than scraping .log Oct 1, 2018
CSIv2.pdf Added PDF version of CSIv2 and VCFv4.3 drafts Jan 14, 2015
MAINTAINERS.md Batch PDF updates for only a week [MAINTAINERS.md]; update PDFs Oct 1, 2018
Makefile Move genversion.sh to scripts/; remove new/ from repository Oct 1, 2018
README.md Version 0.2 of the refget API as discussed in PR #327 Aug 15, 2018
SAMtags.pdf Batch PDF updates for only a week [MAINTAINERS.md]; update PDFs Oct 1, 2018
SAMtags.tex Add links between CT/PT and the Assembly Sequences Guide Jul 26, 2018
SAMv1.pdf Batch PDF updates for only a week [MAINTAINERS.md]; update PDFs Oct 1, 2018
SAMv1.tex Add optional SS subsort attribute to HD header (PR #221) Oct 18, 2018
VCFv4.1.pdf Batch PDF updates for only a week [MAINTAINERS.md]; update PDFs Oct 1, 2018
VCFv4.1.tex Fix type of GQ in example (#299) Sep 22, 2018
VCFv4.2.pdf Batch PDF updates for only a week [MAINTAINERS.md]; update PDFs Oct 1, 2018
VCFv4.2.tex Fix type of GQ in example (#299) Sep 22, 2018
VCFv4.3.pdf Update VCFv4.3.pdf (BND restored) Oct 10, 2018
VCFv4.3.tex Breakend restored as a valid SVTYPE (#348) Oct 3, 2018
_config.yml Move genversion.sh to scripts/; remove new/ from repository Oct 1, 2018
htsget.md Make "future enhancements" an unordered list [minor] Sep 16, 2018
htsget_interop.html Update htsget_interop.html Oct 4, 2018
index.md Version 0.2 of the refget API as discussed in PR #327 Aug 15, 2018
refget.md Product review committee changes v1 (#336) Oct 4, 2018
tabix.pdf Update CSIv1.pdf, SAMv1.pdf, tabix.pdf to f35504b Nov 21, 2014
tabix.tex Cosmetic improvement in [beg,end) formatting Jun 6, 2018

README.md

SAM/BAM and related specifications

Links in bold point to the corresponding PDFs on this repository's GitHub Pages website.

Please request improvements or report errors using this repository, but see also the list of maintainers if you need to contact them directly.

Alignment data files

SAMv1.tex is the canonical specification for the SAM (Sequence Alignment/Map) format, BAM (its binary equivalent), and the BAI format for indexing BAM files. SAMtags.tex is a companion specification describing the predefined standard optional fields and tags found in SAM, BAM, and CRAM files. These formats are discussed on the samtools-devel mailing list.

CRAMv3.tex is the canonical specification for the CRAM format, while CRAMv2.1.tex describes its now-obsolete predecessor. Further details can be found at ENA's CRAM toolkit page. CRAM discussions can also be found on the samtools-devel mailing list.

The tabix.tex and CSIv1.tex quick references summarize more recent index formats: the tabix tool indexes generic textual genome position-sorted files, while CSI is htslib's successor to the BAI index format.

Unaligned sequence data files

We do not define or endorse any dedicated unaligned sequence data format. Instead we recommend storing such data in one of the alignment formats (SAM, BAM, or CRAM) with the unmapped flag set. However for completeness, we list the commonest formats below with external links.

FASTA is an early sequence-only format originally defined by William Pearson's tool of the same name.

FASTQ was designed as a replacement for FASTA, combining the sequence and quality information in the same file. It has no formal definition and several incompatible variants, but is described in a paper by Cock et al.

Variant calling data files

VCFv4.3.tex is the canonical specification for the Variant Call Format and its textual (VCF) and binary (BCF) encodings, while VCFv4.1.tex and VCFv4.2.tex describe their predecessors. These formats are discussed on the vcftools-spec mailing list.

BCFv1_qref.tex summarizes the obsolete BCF1 format historically produced by samtools. This format is no longer recommended for use, as it has been superseded by the more widely-implemented BCF2.

BCFv2_qref.tex is a quick reference describing just the layout of data within BCF2 files.

Transfer protocols

Htsget.md describes the hts-get retrieval protocol, which enables parallel streaming access to data sharded across multiple URLs or files.

Refget.md enables access to reference sequences using an identifier derived from the sequence itself.