BamTools: a C++ API and toolkit for analyzing and managing BAM files

BamTools: a C++ API and toolkit for analyzing and managing BAM files

April 14, 2011 | Derek W. Barnett, Erik K. Garrison, Aaron R. Quinlan, Michael P. Strömberg and Gabor T. Marth
BamTools is a C++ API and toolkit for analyzing and managing BAM files. It provides a public C++ API for BAM file support and a command-line toolkit. The API allows programmers to query and generate BAM files, with classes such as BamReader, BamWriter, and BamAlignment. It also includes convenience classes like BamMultiReader, SamHeader, and BamIndex. The toolkit offers utilities for querying and manipulating BAM files, including alternative indexing formats, coverage output, conversion to other text formats, and filtering. The BamTools index format (BTI) is based on fixed read counts rather than alignment positions, providing faster access than the standard BAI format. The C++ API is efficient, easy to use, and leverages object-oriented design and RAII (Resource Acquisition Is Initialization) for safer code. It is supported on Linux, Mac OS X, and Windows. BamTools is used in various applications, including the BEDtools suite and the freeBayes variant caller. It plays an integral role in the 1000 Genomes Project pipeline. The toolkit is freely available at http://github.org/pezmaster31/bamtools. Funding comes from the National Institutes of Health. No conflicts of interest are declared.BamTools is a C++ API and toolkit for analyzing and managing BAM files. It provides a public C++ API for BAM file support and a command-line toolkit. The API allows programmers to query and generate BAM files, with classes such as BamReader, BamWriter, and BamAlignment. It also includes convenience classes like BamMultiReader, SamHeader, and BamIndex. The toolkit offers utilities for querying and manipulating BAM files, including alternative indexing formats, coverage output, conversion to other text formats, and filtering. The BamTools index format (BTI) is based on fixed read counts rather than alignment positions, providing faster access than the standard BAI format. The C++ API is efficient, easy to use, and leverages object-oriented design and RAII (Resource Acquisition Is Initialization) for safer code. It is supported on Linux, Mac OS X, and Windows. BamTools is used in various applications, including the BEDtools suite and the freeBayes variant caller. It plays an integral role in the 1000 Genomes Project pipeline. The toolkit is freely available at http://github.org/pezmaster31/bamtools. Funding comes from the National Institutes of Health. No conflicts of interest are declared.
Reach us at info@study.space
Understanding BamTools%3A a C%2B%2B API and toolkit for analyzing and managing BAM files