Algorithms and computational genomics