Computational Methods For Studying Molecular Recognition, And Applications For Drug Discovery And Improved Treatment Options