Algorithms for the alignment of biological sequences