In recent years there has been a growing interest in computer-based screening. One of the driving forces has been the increased efficiency of protein crystallography leading to the real possibility of using structure-based design as a significant contributor to the discovery of novel ligands. In 1957 after 22 years of work the first protein structure, determined by x-ray crystallography was produced . Now the process has become increasingly automated and nearly 20,000 protein structures are available in the Protein Data Bank (PDB) . Equally, progress in genomics will result in a great expansion of validated targets for cancer therapy. The understanding of the relationships between structure and function of gene products will be one of the key routes to new therapeutic advances. The challenge now is to use this data in the discovery of novel therapeutics. One approach is obviously to synthesize molecules and co-crystallize or soak them into the protein crystal and so determine the position and interaction of the molecule with the protein. The structural information obtained (where does the molecule bind; what are the ligand / protein / solvent interactions?) can be invaluable in the generation of novel molecules or in the re-design of existing molecules whose drug properties are not optimal. However, when dealing with large numbers (millions) of molecules, when crystallization is difficult or in testing hypotheses, a significant contribution can be made using computer based screening methods. In order to use the structural information derived from x-ray crystallography (or other sources, for example NMR or homology modelling) when evaluating the utility of a novel ligand, we need to understand where in the protein (or other macromolecule such as RNA) the ligand is likely to bind and also if possible, the strength of the binding interactions. This problem is known as the ‘docking problem’. There have been many approaches to the solution of this problem over the last ten years. For example, some methods rely on complex molecular dynamics simulations while others use less costly graph matching approaches. There is generally a compromise between speed and accuracy, with some methods giving much more information and insight into the nature of the protein / ligand interactions and other methods optimised for speed of docking thousands of putative ligands. We will describe some of the more common methods and algorithms used to solve the docking problem and in particular, we will review recent applications in cancer research.