Algorithms and Data Structures in Next-Generation Sequencing