Algorithmic Foundations of Computational Biology