Algorithmic Problems in Strings with Applications to the Analysis of Biological Sequences