SAMtools bindings allow for reading and writing BAM/SAM data. A progress report of the mapping of SAMtools can be found here