Bioinformatic Algorithms