Protein-protein interaction: Prediction, design, and modulation