Protein folding, the problem of how an amino acid sequence folds into a unique three-dimensional shape, has been a long-standing problem in biology. The success of genome-wide sequencing efforts has increased the interest in understanding the protein folding enigma, because realizing the value of the genomic sequences rests on the accuracy with which the encoded gene products are understood. Although a complete understanding of the kinetics and thermodynamics of protein folding has remained elusive, there has been considerable progress in techniques to predict protein structure from amino acid sequences. The prediction techniques fall into three general classes: comparative modeling, threading and ab initio folding. The current state of research in each of these three areas is reviewed here in detail. Efforts to apply each method to proteome-wide analysis are reviewed, and some of the key technical hurdles that remain are presented. Protein folding technologies, while not yet providing a full understanding of the protein folding process, have clearly progressed to the point of being useful in enabling structure-based annotation of genomic sequences.