Describir: Efficient Algorithms for Finding Maximum and Maximal Cliques: Effective Tools for Bioinformatics