We address the issue of providing highly informative annotations using information revealed by the structured vocabularies of Gene Ontology (GO). For a target, a set of candidate terms used to infer the target’s property is collected and forms a unique distribution on the GO directed acyclic graph (DAG). We propose a generic and adaptive algorithm— GOMIT, which bases on term distributions and GO hierarchical characteristics to assign correct annotations for a target. We establish a quantitative model with parameters that can be trained for optimal performance for different applications. We propose several criteria for evaluating GOMIT’s performance, and conducted three experiments involving a) automated functional annotations, b) biological annotations of microarray data clusters and c) protein family GO assignments. In these experiments, we used our proposed criteria to compare GOMIT with other algorithms. Results not only reflect GOMIT‘s generality and adaptability, but also...