Specifications of SAM/BAM and related high-throughput sequencing file formats
TeX Other
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
new Generate PDFs into a new/ subdirectory Dec 6, 2016
pub Rename to "htsget", the newly-chosen name for the protocol Jan 31, 2017
.gitattributes Fix typo Mar 7, 2014
.gitignore Redo the index web page using Jekyll Nov 11, 2016
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 r198: changed the BCF2 magic to BCF\2\1 Aug 21, 2012
CRAMv2.1.pdf Update out-of-date specification PDFs Dec 8, 2016
CRAMv2.1.tex Corrected the CRAM File Definition major/minor version numbers. Sep 5, 2016
CRAMv3.pdf Update out-of-date specification PDFs Dec 8, 2016
CRAMv3.tex Merge pull request #168 from samtools/cram_versions Sep 8, 2016
CSIv1.pdf Update CSIv1.pdf, SAMv1.pdf, tabix.pdf to f35504b Nov 21, 2014
CSIv1.tex Move "optional" to the first column Nov 20, 2014
CSIv2.pdf Added PDF version of CSIv2 and VCFv4.3 drafts Jan 14, 2015
Makefile Fix LaTeX-rerun test now that we have a new/ subdirectory Dec 15, 2016
README.md Rename to "htsget", the newly-chosen name for the protocol Jan 31, 2017
SAMtags.pdf Add SAMtags.pdf and update SAMv1.pdf to e087be0 Sep 2, 2016
SAMtags.tex Populate tag detail subsections Sep 1, 2016
SAMv1.pdf Fix LaTeX-rerun test now that we have a new/ subdirectory Dec 15, 2016
SAMv1.tex Clarify meaning of 0x40/0x80 FIRST/LAST flag bits Sep 7, 2016
VCFv4.1.pdf Update out-of-date specification PDFs Dec 8, 2016
VCFv4.1.tex responding to review comments and applying change retroactively as di… Jun 11, 2016
VCFv4.2.pdf Update out-of-date specification PDFs Dec 8, 2016
VCFv4.2.tex Update VCFv4.2.tex Nov 16, 2016
VCFv4.3.pdf Fix LaTeX-rerun test now that we have a new/ subdirectory Dec 15, 2016
VCFv4.3.tex Description of special allele characters in meta Number field Sep 22, 2016
_config.yml Merge gh-pages branch and build web site from master Dec 6, 2016
htsget.md Rename to "htsget", the newly-chosen name for the protocol Jan 31, 2017
index.md Rename to "htsget", the newly-chosen name for the protocol Jan 31, 2017
tabix.pdf Update CSIv1.pdf, SAMv1.pdf, tabix.pdf to f35504b Nov 21, 2014
tabix.tex Move "optional" to the first column Nov 20, 2014

README.md

SAM/BAM and related specifications

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

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.

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.