Molecular docking tools aim to predict the binding mode of ligands to protein receptors. The main tasks are sampling ligand conformations and scoring protein-ligand complexes. Early methods treated proteins and ligands as rigid bodies, while newer methods introduce flexibility. Popular algorithms include Monte Carlo, molecular dynamics, simulated annealing and genetic algorithms. Scoring functions evaluate shape complementarity, empirical potentials, force fields or knowledge-based potentials derived from protein-ligand structures. Consensus scoring integrating multiple functions improves binding affinity prediction over single functions.