Hidden Markov models (HMMs) are statistical models that can be used to model systems with hidden states. HMMs assume the system is a Markov process where the probability of each state depends only on the previous state. HMMs have applications in DNA sequence analysis, protein family profiling, prediction of DNA functional sites, prediction of genes, and digital communications. Popular HMM-based tools include GENSCAN, GENMARK, and HMMgene. Both structural and functional annotation of genomes is important. Structural annotation identifies genomic elements like open reading frames and gene structure, while functional annotation attaches biological information like biochemical function. Functional annotation is important to understand large lists of genes/proteins. Gene ontology annotation is commonly used for