Docking and design are the major computational steps toward understanding and affecting receptor-ligand interactions. The flexibility of many ligands makes these calculations difficult and requires the development and use of special methods. The need for such tools is illustrated by two examples: the design of protease inhibitors and the analysis and design of peptide antigens binding to specific MHC receptors. We review the computational concepts that have been extended from rigid-body to flexible docking, as well as the following important strategies for flexible docking and design: (a) Monte Carlo/molecular dynamics docking, (b) in-site combinatorial search, (c) ligand build-up, and (d) site mapping and fragment assembly. The use of empirical free energy as a target function is discussed. Due to the rapid development of the methodology, most new methods have been tested on only a limited number of applications and are likely to improve results obtained by more traditional computational or graphic tools.