Now that many genome sequences are available, attention is shifting towards developing and improving approaches for genome annotation. Genome annotation can be classified into three levels: the nucleotide, protein and process levels. Gene finding is a chief aspect of nucleotide-level annotation. For complex genomes, the most successful methods use a combination of ab initio gene prediction and sequence comparison with expressed sequence databases and other organisms. Nucleotide-level annotation also allows the integration of genome sequence with other genetic and physical maps of the genome. The principal aim of protein-level annotation is to assign function to the products of the genome. Databases of protein sequences and functional domains and motifs are powerful resources for this type of annotation. Nevertheless, half of the predicted proteins in a new genome sequence tend to have no obvious function. Understanding the function of genes and their products in the context of cellular and organismal physiology is the goal of process-level annotation. One of the obstacles to this level of annotation has been the inconsistency of terms used by different model systems. The Gene Ontology Consortium is helping to solve this problem. There are several approaches to genome annotation: the factory (reliance on automation), museum (manual curation), cottage industry (exemplified by Proteome, Inc.) and party (the Celera Drosophila annotation jamboree). As more scientists come to rely on genome annotation, it will become more important for the scientific community as a whole to contribute to this continuing process.