Computational Approaches for Structure Based Drug Design and Protein Structure-Function Prediction