PAINT User Guide

From GO Wiki
Revision as of 04:34, 5 October 2017 by Paul Thomas (talk | contribs)

Jump to: navigation, search



PAINT is a Java application for viewing and annotating phylogenetic trees. This document briefly describes how to set up and use the tool.

File:Background slides on family and function evolution.pdf


Java 1.6 (aka Java 6 on a Macintosh) must be installed.

Installing and configuring PAINT

PAINT is a Java application, and can be run on a wide variety of platforms. To install PAINT on either Mac or Windows, follow these steps:

  • Download the PAINT application at:

Launching PAINT

  • On a Windows machine, run the program lauchPAINT.bat.
  • On a Mac, open a Unix terminal window, go to the directory containing the PAINT program, and execute the command:
sh     OR      ./



You are required to login before you can open a tree. The purpose is to record proper acknowledgement for all the curations created by you.

Go to File -> Login, and then enter your username and password.

If you don’t have a login and password, send an email to and request one.

Curating a gene family

The analogy is to a library. You will first find and check out (lock) the families you want to curate, and then select a family to curate from your list of locked families. All families now have a curation status (curated, partially curated, uncurated).

Step 1: Find and "lock" the families you would like to curate

When you lock the family, other curators won’t be able to curate them. This is to prevent people from working on the same family.

  • Go to File -> Manage and View Books …
    • A window, as shown in Figure 1, will pop up. You can search families by following ways.:
      • Search by keywords in specified fields, such as Gene Symbol, Protein Identifier, Gene Identifier, or gene definition.
      • Enter a specific PTHR ID
      • Retrieve a list of all families, or just the uncurated families.

Step 2: Open a family to curate

Step3: Save your annotations

You can choose to save but keep the family locked so you can continue the curation later. You can also save and unlock the family.

Loading a PANTHER family tree and its GO annotations

There are two ways to load a PANTHER family tree

Open a new tree

Once you launched the PAINT tool, you can search for a tree in the PANTHER database by going to Annotate -> New. If you know the PANTHER family ID of the protein(s) you are interested in, you can select it from the drop-down menu or type it directly into the lower dialog box. Otherwise, you can search for the gene symbol, gene identifier, protein identifier, or description of your gene of interest in the upper dialog box. Note that:

  1. Wildcard characters won't work, though for some of the searches you can enter partial names with no wildcard characters.
  2. The search is case-sensitive. Keep in mind that gene name case varies from species to species - which may sometimes help in queries.
  3. You will have to select which type of search you would like using the radio buttons.

A list of families will appear in the “Search Results” box. Double-click on the family id to open that family in PAINT.

Opening the family may take several minutes.

In the future, you will be able to "lock" the book to prevent others from having write access during curation, but for now this is disabled. Right now you can view a family by clicking on the family identifier in the search results box.

Open a previous curated tree

To open a previously curated tree located on your hard drive, use Annotate -> Open, and navigate to the folder that contains the GAF file. Open the tree with the .paint file.

Appearance and Basic Operation


Fig. 1 Main paint window

PAINT is organized into three main panes (Figure 1):

  • The upper left pane shows a phylogenetic tree.
  • The upper right pane allows you to switch back and forth between (i) the Annotation Matrix; (ii) the Protein Information Table and (iii) a multiple sequence alignment (MSA) of all sequences.
  • The bottom pane contains two tabs: Annotations and Evidence.

All the tabbed panes may be resized or split out into windows.

  • Click on a tab (e.g., Protein Information, Evidence) to bring it to the front.
  • Click the icons in the tabs or the upper right corner to Undock/Dock, Minimize, Maximize, or close individual tabs or groups of tabs (red circle, Figure 1).
  • Tabs and panes may also be rearranged within a window by dragging.
  • Columns in the Protein Information Table can be resized.
  • Windows may be closed, arranged, or resized in the standard ways.

Phylogenetic Tree

A phylogenetic tree contains nodes and branches (Figure 1). There are three types of nodes, root, internal and leaf. Leaf nodes correspond to the proteins in the tree. Root and internal nodes represent the inferred most common ancestor of the descendants. Branch length may be interpreted as time estimates between the nodes.

Fig. 2 PAINT phylogenetic tree

The root and internal nodes of the tree are shown as circles (speciation events) and squares (gene duplication events). If the tree has been previously curated, the nodes maybe colored in indicate the type of annotation (e.g., with inferred or experimental evidence). More details will be described in the "Making an inferrence" section of this guide. The nodes are numbered in a defined order starting with the root, AN0. (“AN” = “Ancestor.”) Mouse over a node to see its identifier. If you right-click on a node, a menu will appear (Figure 2) with the options to

  • Collapse node - the entire clade is collapsed to a single node (rectangle). All the descendants are hidden, but the GO term assignments to them are still available for annotation. Right-click the node again and select "Expand node" to re-expand it.
  • Reroot to node - make the selected node and the root, and hide the rest of the tree. This is useful when the tree is too large. To bring back the entire tree again, use menu "Tree -> Reset Root to Main".
  • Export seq ids from leaves - the ids of all leave sequences descended from the node are exported to a text file
  • Prune -- All nodes descended from the node are removed from the tree.

The tree branches can be rescaled if they are too long for comfortable viewing or too short to distinguish individual nodes. The default branch scale is 50, which works for most trees. To rescale, select Tree->Scale... and enter a different number.

Proteins with experimental annotations (IDA, EXP, IMP, IGI, IPI, or IEP evidence codes) for a particular ontology are colored and shown in boldface (blue circles, Figure 1). You may select one ontology at a time to examine using the radio buttons (red arrow, Figure 1) at the top of the window. You may change the color used to indicate annotations using Edit → Curation status colors… . Descriptions here refer to the default colors.

Navigating within the tree

  • Click on a protein name in the tree to highlight the protein in the tree and the table.
  • Left-click on a node in the tree to highlight the entire clade descended from it.

Annotation matrix

Figure 3. PAINT Annotation matrix

Note: The colors refer to the default colors in PAINT

The annotation matrix gives an overview of the annotations associated with any proteins in table format. It displays one of the three Gene Ontologies at a time. You can switch to a different ontology by clicking the radio button on the upper left part of the window (red arrow, Figure 1). Mouse-over the downward triangle to see the GO term (yellow circle, Figure 1). The terms in the annotation matrix are grouped, with the most specific terms on the left. A few very broad terms such as “protein binding” are not shown, even though they are listed in the Annotations pane.

The matrix has a row for each gene/gene product in the tree, and a column for each GO term that is directly annotated to at least one gene/gene product in the tree.

  • Click on a protein in the tree and the corresponding row will be highlighted in the matrix.
  • The annotations of the corresponding proteins and GO terms in the matrix are shown in colored squares (Figure 3).
    • When you first open a tree, only the experimental annotations are shown. These are the annotations than can be used for annotating ancestral genes.
      • Experimental annotations are represented by green color. If it is a direct annotation (i.e. the actual annotation is to that exact term in that column of the matrix), there is a black dot in the middle of the green square. If it is an indirect annotation (i.e. the actual annotation is to a child of the term in that column of the matrix), there is a white dot in the middle of the square.
      • NOT annotations are indicated with by a red circle with a white X.
    • When you have annotated an ancestral node, inferred annotations are also shown in the matrix. This allows you to easily keep track of what you've already annotated.
      • Inferred annotations are represented by blue color, with either a black (direct) or white (indirect) dot in the center, or X for NOT as above.
  • Mouse-over an annotation square to see the tool tip of the protein name and the term.
  • Click on the annotation square to highlight the row. All the annotations to the protein, as well as the evidences and confidence codes will be displayed in the Annotation panel (see below for more details).
  • Right-click (or Command-click in Mac) on the experimental annotation (green square) in the matrix will automatically highlight the inferred most recent common ancestor (MRCA) node for the term.

Protein Information table

Figure 4. Protein information table

The phylogenetic tree is aligned with a protein information table showing additional information and linkouts to various databases (Figure 4). You can adjust the relative sizes of each within the window by dragging the line in the partition separating them. Note that the identifier table contains a lot of information that can be observed by scrolling to the right.

Navigating withing the Protein Information table

  • Click anywhere within a row in the table to highlight the protein in the tree and the table.
  • Click on one of the blue linkouts will open a link in your web browser.

Multiple sequence alignment (MSA)

Figure 5 Multiple Sequence Alignment view

The trees were estimated from an MSA (Figure 5). The evolutionarily conserved part of the alignment is indicated with uppercase letters. The other less conserved region is in lowercase letters. If a sequence misses a position in the matchstate, it is called a delete state and is designated by a dash. If a sequence needs to insert a position in the less conserved region in order to keep the match state region aligned, it is called an insert state and is designated by a dot.

The conserved columns are colored with dark blue, blue or light blue, which indicates the conservation of 80%, 60% or 40%, respectively, in the column.

Toggle back and forth between the table view (“Protein Information”) and the MSA view (“MSA”) using the buttons above the table/MSA panel.

Note: You can view the sequence of a hypothetical ancestral protein (node) by first collapsing the appropriate node.

Annotations window

Figure 6 The annotations window
Figure 7.

Click on a protein in the tree or table. Annotations associated with that protein appear in the Annotation pane (Figure 6). It contains five columns.

  • Term name - It lists the GO term name and accession. Click the term to link out to AmiGO. A term with a NOT annotation is shown in pink with strikethrough. If there is a green arrow in front of the term, it means "contribute_to" (Figure 6B).
  • Reference - A direct annotation to the term lists the reference (or experimental evidence) of the annotation. Click the reference to link out to the reference at PubMed or the appropriate model organism database. An inferred annotation lists the PAINT reference number (e.g.,PAINT_REF:0011409).
  • ECO/QUAL (Evidence code and qualifier) - This column shows the evidence code supporting the annotation and icons indicating any qualifiers, such as NOT (red arrow, Figure 6A), an experimental annotation (yellow arrow, Figure 6A), or an inferred annotation (arrange arrow, Figure 6A).
  • With - This column contains the evidence to support the inference. If a directly inferred node (orange color, Figure 9B) is selected, the column shows the sequence id(s) used for the inference that have experimental annotation (Figure 7A). When an individual protein is selected, it shows the ancestral node from which the inference is inherited (Figure 7B).
  • Undo - this is used to undo an inference made by PAINT (see Remove annotation section below).

Evidence window

The evidence window is a text editor used to record notes on the curation process. It is pre-seeded with a general overview of the PAINT process (GO_REF:0000033 on NOTE: The purpose of the annotation notes is to convey important points about the annotations and the phylogenetic tree both to other annotators and to users, so annotators should try to make the notes as clear as possible.

The annotator uses this Evidence to describe important points in the annotation process, including:

  • References used to annotate the family (for example, a few major reviews)
  • Any important points about the family topology, including potential inconsistencies in the tree
  • Reasons for annotating to a different node than the MRCA (most common recent ancestor), ie the node that triangulation of annotation identifies.

“Find” function

Figure 8

The Find function (Edit → Find…, Figure 8A) allows you to search for either a gene or a GO term. Select a gene or term search using the radio buttons (Figure 8B). Searches are case-insensitive.

A gene search matches against exact match of any text stored in the database, such as any sequence identifiers, gene symbol, or even gene name (red arrow, Figure 8C). The search does not return partial match (blue arrow, (Figure 8C). To do a partial match, wildcard character(s) (*) can be added before and/or after the search term. Scroll through the list of matches and click on a specific match to highlight it in the tree, table, and annotation matrix, and to display its annotations in the Annotations window.

You may search GO terms using text, or you may use numbers to search for GO IDs.

Recommended configuration for curation

  • Bigger is better. Use as much of the monitor as you can afford. If you are using a laptop, you may wish to attach an external monitor.
  • Adjust the width of the window and the partition between the Tree and the Table until you are comfortable with them.

Making an inference: Transferring annotations

Ancestral nodes in the tree can be annotated with any GO term that has been annotated to one (or more) of its descendants. These “inferred” annotations can be propagated to its other descendants.

Annotating an ancestral node, and propagating to descendants by inheritance

Figure 9

In the example shown in Figure 9, the GO term adenine deaminase activity in the 1st column of the Annotation Matrix (red arrow, Figure 9A) is annotated to three proteins. To annotate the ancestral node,

  1. right-click (or Command-click in Mac) a GO term (green square) from the Annotation Matrix (an inferred node will be highlighted in grey (blue arrow, Figure 9A);
  2. drag the term to the ancestral node you wish to annotate. This can be the inferred node or any other nodes. When you mouse over it, the node will turn dark. Release the mouse button to annotate. (Click here for a video demo of the procedure:
  3. the node is now annotated with that term using the evidence code “IBD” (“Inferred from Biological Descendant”).
  4. All descendants of the node will now be annotated with that term using the evidence code “IBA” (“Inferred from Biological Ancestry”) (Figure 9B). (Proteins and nodes already annotated with the term or one of its child terms will remain unchanged.)

Note: You may only annotate a node with a given GO term if AT LEAST ONE descendant has an annotation to that term or a child term. If a node does not turn dark (step 2), it cannot be annotated.

Removing an annotation

If you make a mistake or change your mind, you can remove an annotation.

  1. Click on the desired node. Nodes with inferred annotations are colored orange (Figure 9B).
  2. Go to the Annotation tab. To remove an annotation, click the trash can icon in the Undo column (Figure 7A).

"NOT" annotations

Note: In the context of PAINT, adding the NOT modifier indicates a belief that the specified function was present in an ancestral protein and has been LOST in the indicated protein or clade. This is a special case of existing GO guidelines for NOT, which state that a NOT annotation may be made in situations where a particular function is expected but not observed.

You may add a NOT modifier to an existing annotation if you feel the evidence warrants it for one of the following reasons, listed here in order of decreasing strength:

  • There are experimental annotations indicating that a function has been lost from one or more proteins. (Evidence code IDS = Inferred from Descendant Sequences)
  • Specific residues have been mutated at, for example, an enzyme’s catalytic site, and a specified function is no longer possible. (Evidence code IMR = Inferred from Mutant Residues)
  • A protein or clade has evolved rapidly, losing the original function and gaining a new one. This may be visible as a long branch in the tree, but the meaning of “long” varies by context, and a visibly long branch is not strictly required. (Evidence code IRD = Inferred from Rapid Divergence)

To add the NOT qualifier:

  1. Select a node or protein from the tree. This may be either a directly annotated node or one of its children.
  2. In the ECO/QUAL column of the Associations window, click on the “IAS.” A popup menu will appear.
  3. Under “NOT,” select which evidence code justifies the NOT qualifier.
  4. All annotations to proteins and nodes descended from that node will have the NOT qualifier added.

You may remove a NOT qualifier by clicking the trash can in the Undo column. Note that you can only remove the qualifiers from the specific node to which it was made.

Preventing propagation to a clade or protein

If you do not wish to allow a positive annotation to propagate into a particular clade AND you do not wish to make a statement as strong as a NOT annotation, you may block an annotation from propagating into the clade. Instead of selecting a choice from the NOT menu as above, choose “STOP.” In addition to the annotation no longer propagating downward, a small hash mark will appear near the node in the tree to indicate that the block exists. Note that a hash mark only indicates the existence of at least one block, not that every annotation through that node is blocked.

You may remove a STOP qualifier in the same way, and with the same restrictions and consequences, as a NOT qualifier.

Annotation with Qualifiers

If you propagate an annotation with a qualifier, e.g. "NOT", "contributes_to" (for MF only), or "colocalizes_with" (for CC only), you will get a pop-up window asking if you wish to also propagate the relevant qualifier(s). The default is No; to accept this option, click OK. To propagate the qualifier, tick the Yes button and click OK.

Partial annotation of trees

Figure 10 The RAB GTPase superfamily

When you want to annotate a very large family, e.g. the RAB GTPase superfamily (PTHR24073), it may not be feasible to annotate all clades at the same time. In this kind of situation, you may choose to annotate only the clades you are knowledgeable and confident of, and leave other clades unexamined. When you do this, you should fully annotate the clades you choose to annotate. For example, if you choose to do the IFT27 clade, do it fully. Please don't do piecemeal annotations in various locations that may make it hard for a subsequent annotator to understand what has been done.

We also agreed at the July 2014 PAINT Jamboree that you can make propagations all the way to the root if you feel that there is an ancestral role, even if you think that some clades have lost this. For example, in the RAB GTPase superfamily, we think that it had an ancestral function as a GTPase, but it is possible that some clades, e.g. the IFT22 clade, have lost this ancestral activity. You can make these high level propagations as part of your initial annotation of the family. If there are clades where this is wrong, perhaps the IBA annotation from PAINT will generate feedback that will help us correct it.

Recording partial annotation in the notes file

If you only partially annotate a tree, please record in the notes file which clades you have worked on using the node number, e.g. Eukaryota_PTN001180007 as well as a common name, e.g. IFT27, if it is helpful.

Special SVN commit message for indicating partial annotation of a tree

Instead of using the standard SVN commit message ("new PAINT annotations"), please commit with a special SVN log message: "new PAINT annotations for PARTIALLY annotated tree".

Recording trees examined, but not annotated

When you examine a tree and feel that it should not be annotated for some reason, please record that in the Evidence Notes so that we can track the fact that the family has been examined. Please use one of these tags (in all caps) in the Notes section of the Evidence tab. You can additional information after the tag if you wish (syntax between tag and additional info not discussed or determined). Then, save your annotations as normal so that PAINT will save the notes file.

  • MISSING ANNOTATION - Use this if the tree looks OK, but there are insufficient experimental annotations to propagate any annotations.
  • MISSING SEQUENCE - Use this if you feel that a specific sequence or sequences is missing. You can list the IDs of the sequence(s) after the tag.
  • BAD TREE - Use this if you feel that the tree has major problems beyond one or a few missing sequences.

Saving your annotations

To save your annotations to your hard drive in Gene Association File (GAF) format, select Annotate -> Save. Since PAINT saves 8-9 files in one stroke, we recommend that, in the dialog box, you create a new folder in your hard drive designated to house these files. Typically, we recommend that you name this new folder with the ID of the tree, such as PTHR11409. Follow the on-screen directions to complete the process.

Importing an existing GAF file

If you have quit PAINT and wish to resume curating a family, you may reload your annotations from the GAF file. Select Annotate -> Open and navigate to the GAF file using the dialog box. Click on the .paint' file and the tree will be loaded to the PAINT tool with all the previously curated annotations.

Reporting bugs and feature requests

  • Please submit bugs and feature requests as Issues (upper right corner) on [Suzi's GitHub tracker]
  • And for good measure fire off a message to the mailing list to get our attention:
    Please use the GO-discuss list with "PAINT" in the subject line
    go-discuss @

Archives of older bugs and feature requests are in the SourceForge trackers

Other useful links

Using SVN to submit PAINT annotations to the GO database

Check out the SVN directory

  • Note you will only have to do this once.
  • The command below will create a local directory called GO-paint, which can be modified and checked back in to SVN.
  • Your GO-paint directory will be a subdirectory of the directory you are in when you give this command. You can put it anywhere within your directory structure that you wish.
    svn co svn+ssh:// GO-paint
    where username is your GO username

Saving Annotations (New, Updated, or Partial) or just the Notes

  • BEFORE opening PAINT
    • Update - use this command to update your repository to the latest version
      1. Move to the directory above your "GO-paint/" directory.
        cd [path]/
      2. Update the entire GO-paint directory with this command:
        svn update GO-paint/
    • Create a new directory (for a new family, either for all files or just for notes)
      1. cd GO-paint
      2. mkdir PTHRnnnnnn
        (where PTHRnnnnnn is the family you will be working on, e.g. PTHR10003)
      3. svn add PTHRnnnnn
      4. svn commit -m "new directory for Panther family" PTHRnnnnn/
  • WHILE using PAINT on family PTHRnnnnn,
    • For a family you are annotating, save to this new directory.
    • For a family where you only want to save the notes (e.g. the PTHRnnnn.txt file) because it has a bad tree or missing annotations:
      1. You could consider saving to a directory outside of your SVN repository and moving just the PTHRnnnn.txt file to the SVN directory. If you save all files to the SVN directory and do not remove them, the "svn status" command will list all of the other files for the family as files that are not under SVN control.
      2. You can also save to the family directory within your SVN directory, and then remove the uncommitted files later.
  • AFTER saving, when you're finished editing the PAINT notes and annotations, check in to the SVN repository
    • To save ALL files for a NEWLY annotated family:
      1. Go to the directory where you've saved the new PAINT files
        cd [path]/GO-paint/PTHRnnnnn
        where [path] is wherever you saved the SVN directory and PTHRnnnnn is the family you're working on
      2. Add the new files to SVN
        svn add PTHR*
      3. Commit the new files
        svn commit -m "new PAINT annotations"
    • To save ALL files for an UPDATED family:
      1. Go to the directory where you've saved the new PAINT files
        cd [path]/GO-paint/PTHRnnnnn
        where [path] is wherever you saved the SVN directory and PTHRnnnnn is the family you're working on
      2. Commit the updated files
        svn commit -m "updated PAINT annotations"
    • To save ALL files for a PARTIALLY annotated family:
      1. Go to the directory where you've saved the new PAINT files
        cd [path]/GO-paint/PTHRnnnnn
        where [path] is wherever you saved the SVN directory and PTHRnnnnn is the family you're working on
      2. Add the new files to SVN
        svn add PTHR*
      3. Commit the new files
        svn commit -m "new PAINT annotations for a PARTIALLY annotated family"
    • To save ONLY the NOTES file, PTHR*.txt, for a family you are not annotating at this time:
      1. Go to the directory where you've saved the new PAINT files
        cd [path]/GO-paint/PTHRnnnnn
        where [path] is wherever you saved the SVN directory and PTHRnnnnn is the family you're working on
      2. Add only the new *.txt file to SVN
        svn add PTHR*.txt
      3. Commit the new file
        svn commit -m "new note for examined but unannotated Panther family"

To remove PAINT annotations for a family (e.g. if you've made a mistake)

  1. Go to the directory where you've saved the new PAINT files
    cd [path]/GO-paint/PTHRnnnnnn
    where [path] is wherever you saved the SVN directory and PTHRnnnnnn is the family you're working on
  2. Remove the files from SVN
    svn rm PTHRnnnnn*
  3. Commit the removal of the files
    svn commit -m "undoing"

Checking the status of a file or directory in svn

Here are commands to check if you have committed a file or files already.

Note that if you commit a set of files that has already been committed and there are no changes in your personal copy since the last time they were committed, svn will recognize that and not commit with a message that there were no changes. So, no harm done if you try to commit something already committed.

If there have been changes since a previous commit, the commit will work, and svn will update the files to the new versions from your personal copy.

The "status" command

The "svn status" command is a very useful command for anyone working with any files managed in our SVN repository. It tells you if you have any local modifications that have not been committed. It will also tell you if there are files in your local copy of the directory that have not been added to the repository. It's also just a good way of checking if anything else is amiss.

If you get no output, then it suggests that you have not made any local modifications that have not been checked in. This is typically the default state, unless you are part-way through a family.

  1. Go to your GO-paint directory where you have all of the directories for your families
    cd [path]/GO-paint/
    where [path] is wherever you saved the SVN directory
  2. Check the status of your entire SVN directory using the status command
    • Give this command:
      svn status

You can also use this same command to check a single directory at a time simply by moving down into the directory of interest.

The "log" command

The log command will show you the messages that were included with commits for directories or single files depending on the directory or filename you list after the word log. This can be useful to see the history.

  1. Go to your GO-paint directory where you have all of the directories for your families
    cd [path]/GO-paint/
    where [path] is wherever you saved the SVN directory
  2. Check the status of a directory or a single file using the log command
    • To check the status of an entire directory
      Give this command:
      svn log PTHRnnnnn/
      - where "PTHRnnnn" is the name of the directory for the family you want to check
      - make sure to include the slash after the directory name
      The output on your screen will show all commits for that directory and the files within it, from newest at the top to oldest at the bottom.
    • To check the status of a single file:
      Give a command like this:
      svn log [filename]
      e.g. svn log PTHRnnnnn.txt
      - where "filename" is the exact name of the file for the family you want to check
      The output on your screen will show all commits for that file, from newest at the top to oldest at the bottom.

GO SVN help page

For more help with SVN commands, you can look at the [GO SVN help] page.

viewing the SVN repository on the web

You can webView SVN here -

This is particularly useful to see the last SVN commit log messages for each family.

Interpreting the PANTHER trees

Speciation and duplication events, and horizontal transfer

In the tree, a speciation node is shown with a circle, and a gene duplication node with an square. Horizontal transfer events also appear in the tree, though more rarely, and these are represented with a diamond.

Branch lengths

  • Branch lengths show the amount of sequence divergence that has occurred between a given node and its ancestral node, in terms of the average number of amino acid substitutions per site. Shorter branches indicate less sequence divergence and therefore greater conservation of ancestral characters. A branch might be shorter because of a slower evolutionary rate (greater negative selection), or because less "time" has gone by (actually a combination of number of generations and population dynamics), or both.
  • Very long branches indicate an unreliable divergence estimate, due to insufficient data. Note that sometimes there is not enough data to compare all branches that descend from a given node. In this case, we have set all descendant branches to a length of 2.0 (very long branches). Branch lengths of 2.0 are often due to a sequence fragment, and at a duplication node it may also indicate a gene that has been incorrectly broken into two different genes by a gene prediction program.
  • Following a gene duplication (after a square node), the relative branch lengths for descendant branches are particularly useful: the shortest branch (least diverged) is more likely to have greater functional conservation.

Multiple sequence alignment (MSA)

  • Some columns in the MSA have upper-case characters (and dashes '-' for insertions/deletions). These columns were used to estimate the phylogenetic tree.
  • Lower-case characters and periods (‘.’ for insertions/deletions) denote positions that were ignored when estimating the phylogenetic tree. Sometimes, tree errors arise because not enough columns were used, and the phylogeny could not be reconstructed well based on the included columns. Since they were not used in the phylogeny, lower-case characters can be particularly helpful in verifying the tree topology: any conserved insertions should be parsimoniously traceable to a common ancestor.

Known bugs

Errors in phylogenetic trees, PANTHER version 8.0

Most often, the errors in phylogenetic trees are due to problems with the sequence alignment, or the specific MSA columns used to estimate the phylogeny. The phylogeny inference program performs fairly robust handling of sequence fragments, but sequence fragments still cause errors. Another source of error is when the sequences evolve very slowly, generating little variation from which to estimate phylogeny. In this case, the errors can usually be fixed by including additional alignment positions to consider in the phylogeny.

Bugs in version paint1.0_beta56

  • Upon collapsing, the ancestral sequence at that node is not shown in the MSA

Reporting bugs or likely errors in the trees

Please email Paul directly at

Curation Guidelines

Those guidelines have been published (Gaudet, Livestone, Lewis, Thomas, 2011) [1]

Please refer to this PDF file for curation guidelines: File:PAINT demo and curation guidelines 120710.pdf

Curation guidelines are described in detail on this page: