Characterizing Pockets On The Surface Of Proteins By Computational Tools