Computational Simulations Of Protein-Ligand Molecular Recognition Via Enhanced Samplings, Free Energy Calculations And Applications To Structure-Based Drug Design