Computer-aided molecular design is an integral aspect of drug design and discovery. In general, computational methods for drug discovery and design may be divided into two categories. The first category is structure-based drug design. Using available 3D structural and other important biological information concerning the target protein, the binding strength of small molecule inhibitors is optimized. The 3D structural information is obtained either from experiment (X-ray or NMR determination of the protein structure) or from reliable computational methods (such as homology modeling, using a known structure showing high sequence similarity to the target protein). Molecular mechanical (MM) as well as quantum mechanical (QM) approaches may be used to identify small molecules with binding affinity, and then to refine the structure of these small molecules toward higher binding affinity.