Protein-protein interactions: a structural bioinformatics approach