Dynamic Programming Algorithms for DNA sequence alignment