A number of computational tools have been developed for the prediction of the location of binding sites on proteins. These can be broadly classified into sequence based or structure based.  Sequence based methods rely on the assumption that the sequences of functionally conserved portions of proteins such as binding site are conserved.  Structure based methods require the 3D structure of the protein.  These methods in turn can be subdivided into template and pocket based methods.  Template based methods search for 3D similarities between the target protein and proteins with known binding sites.  The pocket based methods search for concave surfaces or buried pockets in the target protein that possess features such as hydrophobicity and hydrogen bonding capacity that would allow them to bind ligands with high affinity. Even though the term pocket is used here, similar methods can be used to predict binding sites used in protein-protein interactions that are usually more planar, not in pockets.