Bio-samtools: Ruby bindings for SAMtools, a library for accessing BAM files containing high-throughput sequence alignments
1 The Genome Analysis Centre, Norwich Research Park, Colney Lane, Norwich, NR4 7UH, UK
2 Istituto Nazionale Genetica Molecolare, Via F. Sforza 28, Milan 20122, Italy
3 The Sainsbury Laboratory, Norwich Research Park, Colney Lane, Norwich, NR4 7UH, UK
Source Code for Biology and Medicine 2012, 7:6 doi:10.1186/1751-0473-7-6Published: 28 May 2012
The SAMtools utilities comprise a very useful and widely used suite of software for manipulating files and alignments in the SAM and BAM format, used in a wide range of genetic analyses. The SAMtools utilities are implemented in C and provide an API for programmatic access, to help make this functionality available to programmers wishing to develop in the high level Ruby language we have developed bio-samtools, a Ruby binding to the SAMtools library.
The utility of SAMtools is encapsulated in 3 main classes, Bio::DB::Sam, representing the alignment files and providing access to the data in them, Bio::DB::Alignment, representing the individual read alignments inside the files and Bio::DB::Pileup, representing the summarised nucleotides of reads over a single point in the nucleotide sequence to which the reads are aligned.
Bio-samtools is a flexible and easy to use interface that programmers of many levels of experience can use to access information in the popular and common SAM/BAM format.