Protein ligand interactions and molecular docking