Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for high-throughput sequencing data