From GO Public
PAINT (Phylogenetic Annotation and INference Tool)
PAINT is a Java software application for supporting inference of ancestral as well as present-day characters (represented by ontology terms) in the context of a phylogenetic tree. PAINT is currently being used in the GO Reference Genome Annotation Project to support inference of GO function terms (molecular function, cellular component and biological process) by homology.
Principles underlying PAINT
Annotation of a gene's function by homology is often referred to as "transitive annotation", in which an experimentally-characterized function of one gene is "transferred" to another gene because of their similarity in sequence. This pairwise transfer paradigm derives from the success of sequence searching algorithms such as BLAST and Smith-Waterman. Of course, pairwise conservation of function is really due to descent from a common ancestor (homology). In other words, two sequences of sufficient length are similar because they share a common ancestor, and the reason they have a common function is most likely that they inherited that function from their common ancestor. This process can be explicitly captured using a phylogenetic model.
Rather than a pairwise paradigm, PAINT uses this more accurate phylogenetic model to infer gene function by homology. PAINT annotation is intended to capture actual inferences about the evolution of gene function within a gene family: the gain, inheritance, modification and loss of function over evolutionary time. Inference is a two-step process, and involves directly annotating a phylogenetic tree. In the first step, experimental GO annotations for extant sequences are used to make inferences about when a given function may have first evolved. In PAINT, this is referred to as "up-propagation", in which ancestral genes are annotated based on information about extant sequences. In the second step, "down-propagation", ancestral annotations are used to make inferences about unannotated extant sequences, based on the principle of inheritance from the common ancestor, and allowing for modification and even loss of function during evolution.
PAINT is currently being implemented in Java 1.6, as a joint project between Paul Thomas's group (now at USC, formerly at SRI International) and Suzanna Lewis's group (LBL). Development of PAINT is being funded by grant GM081084 from the U.S. National Institutes of Health.
Installing and using PAINT
See the PAINT User Guide for more information.
Standard operating procedures for GO annotation using PAINT
The GO Reference Genome Project is annotating trees generated for PANTHER version 7.
Annotation of GO terms using PAINT requires an understanding of the semantics of annotations, and is governed by a set of SOPs (see the PAINT SOP). An annotation of an ancestral node means that a gene function is inferred to have first arisen somewhere along the branch of the tree immediately preceding that node. Loss of a function "X" is annotated using the GO "NOT" qualifier, and means that a given function was inferred to have been lost along the branch immediately preceding the annotated node. Only experimental GO annotations (as represented by the evidence code) can be used as a basis for annotation of ancestral genes. NOT annotations can be supported by either an experimental GO annotation, absence of specific residues in the sequences, or generally accelerated evolutionary rate.