Bioinformatics algorithms : techniques and applications