Skip to content
Specifications of SAM/BAM and related high-throughput sequencing file formats
Branch: master
Clone or download
jmarshall Update PDFs (VCF formatting; CRAM rANS/slice/container/index)
And a tiny cosmetic improvement in [beg,end) formatting in tabix.pdf,
belatedly updated due to a change from June 2018.
Latest commit ad374ab Apr 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Adding circle-CI integration (PR #328) Mar 25, 2019
_includes Redo the index web page using Jekyll Nov 11, 2016
_layouts
img
pub Product review committee changes v1 (#336) Oct 4, 2018
scripts
.gitattributes Fix typo Mar 7, 2014
.gitignore Run BibTeX if needed Apr 8, 2019
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 Update PDFs (RNAME allowed chars; CRAMv3 tag encodings etc; OA tag) Feb 1, 2019
CRAMv2.1.tex Avoid \usepackage{ulem} as it conflicts with latexdiff [minor] Jan 22, 2019
CRAMv3.pdf Update PDFs (VCF formatting; CRAM rANS/slice/container/index) Apr 9, 2019
CRAMv3.tex
CSIv1.pdf
CSIv1.tex
CSIv2.pdf
MAINTAINERS.md Add latexdiff-vc rule to make diff/*.pdf Mar 25, 2019
Makefile Also clean BibTeX output and log Apr 9, 2019
README.md Version 0.2 of the refget API as discussed in PR #327 Aug 15, 2018
SAMtags.pdf Update PDFs (RNAME allowed chars; CRAMv3 tag encodings etc; OA tag) Feb 1, 2019
SAMtags.tex Improve table formatting [minor] Jan 30, 2019
SAMv1.pdf Update PDFs (RNAME allowed chars; CRAMv3 tag encodings etc; OA tag) Feb 1, 2019
SAMv1.tex Avoid awful header longtable page break [minor] Feb 1, 2019
VCFv4.1.pdf Update PDFs (VCF formatting; CRAM rANS/slice/container/index) Apr 9, 2019
VCFv4.1.tex Miscellaneous VCF formatting and typo fixes (#391) Mar 8, 2019
VCFv4.2.pdf Update PDFs (VCF formatting; CRAM rANS/slice/container/index) Apr 9, 2019
VCFv4.2.tex
VCFv4.3.pdf
VCFv4.3.tex Miscellaneous VCF formatting and typo fixes (#391) Mar 8, 2019
_config.yml
htsget.md
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 PDFs (VCF formatting; CRAM rANS/slice/container/index) Apr 9, 2019
tabix.tex

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.

You can’t perform that action at this time.