Home / tools / samtools


Samtools is a set of utilities that manipulate alignments in the BAM format. It imports from and exports to the SAM (Sequence Alignment/Map) format, does sorting, merging and indexing, and allows to retrieve reads in any regions swiftly. Samtools is designed to work on a stream. It regards an input file `-' as the standard input (stdin) and an output file `-' as the standard output (stdout). Several commands can thus be combined with Unix pipes. Samtools always output warning and error messages to the standard error output (stderr). Samtools is also able to open a BAM (not SAM) file on a remote FTP or HTTP server if the BAM file name starts with `ftp://' or `http://'. Samtools checks the current working directory for the index file and will download the index upon absence. Samtools does not retrieve the entire alignment file unless it is asked to do so.


    • HL
      Heng Li

      wrote most of the initial source codes of SAMtools and various converters.

    • BH
      Bob Handsaker

      A major contributor to the SAM/BAM specification. He designed and implemented the BGZF format, the underlying indexable compression format for the BAM format. BGZF does not support arithmetic between file offsets.

    • JR
      Jue Ruan

      Designed and implemented the RAZF format, an alternative indexable compression format. RAZF is no longer used by or provided with SAMtools. Source code remains available in older SAMtools 0.1.x releases and from the standalone branch in the repository.

    • CH
      Colin Hercus

      updated to support gapped alignment by novoalign.

    • PD
      Petr Danecek

      contributed the header parsing library sam_header.c and script.



What do you think?