This is a backup server running the last version of iTOL2. You can use it freely and upload new trees, but they will not be visible in current version of iTOL.
Login

Help and FAQs

Browser requirements
iTOL uses Flash and Javascript to display trees. Any modern browser which supports Flash should work OK. Go to Adobe's page to download and install the latest Flash plugin for your browser.
We tested the following:
  • Linux/Unix: Chrome, Firefox and Opera work fine with Flash 7 plugin.
  • Windows: Microsoft Internet Explorer 7 or later, Chrome, Firefox and Opera work fine. Due to many security problems and ActiveX bugs, we do not recommend Internet Explorer. Version 6 of Internet Explorer is not supported at all.
  • Mac: Chrome, Firefox, Opera and Safari all work without problems.
Several iTOL features require browser cookies, so make sure your browser or firewall are not filtering them.
User interface

Basic elements of iTOL's user interface are shown in the image on the right.

  1. Main tree display shows the current tree. To move/pan the tree, simply click it and drag with your mouse. Make sure you click the area between the branches/leaves.
  2. Zoom controls. Zoom in to get a closer view at a specific part of the tree, or zoom out to get an overview of the whole tree. Clicking the '1:1' icon will return the tree to the initial zoom/position. When used together with the panning, zoom controls provide a quick and easy way to navigate around the tree display.
    Other functions: Various functions are available here, depending on the tree displayed. 'Search' can be used to quickly find a specific leaf or internal node. 'Toggle horizontal transfers' will show/hide the horizontal transfer lines (if present).
  3. Control buttons. Use the 'Update tree' button to redraw the tree after adjusting display options or pruning/collapsing/rotating branches/clades (explained below). 'Reset tree' button will revert the tree to the default view, expanding all collapsed nodes and removing any pruning information. 'Export tree' button takes you to the tree export page (explained below).
  4. Display options are used to adjust the look and features shown on the tree. See the separate help item below for detailed explanation. The options available will vary depending on the presence of bootstrap and branch length information in the tree.
  5. Legends. If there are additional datasets or color ranges associated with the tree, their legends will be displayed here. To show/hide a dataset or colored ranges, click the corresponding box inside the legend. You can position legends anywhere in the tree display area. To move a legend, click on its caption and drag it to the desired position.
  6. Save current tree view. Current state of the tree can be saved for easy access in the future. Enter a label and click 'Save' to store the view in our database. Use the 'SAVED VIEWS' tab on top of the page to restore the view later. This feature uses browser cookies, so the views will be associated with a particular browser. If you use a public browser, be aware that other users will be able to see and access your saved views.

iTOL's user interface (click to enlarge)
Basic functions, display options and tree features

Tree display modes

iTOL can display phylogenetic trees in 3 different modes: normal (rectangular), circular and unrooted (radial) mode. To switch the display mode, hover the mouse over the current mode name in the 'Basic options' box, click on the desired mode name and press the 'Update tree' button.

When circular or unrooted mode is selected, two extra options are available: Rotation and Arc.

  • Rotation is used to rotate whole tree clockwise by the specified angle (in degrees).
  • Arc is used to define the total angle which the tree will cover (default is 350 ° for circular and 360 ° for unrooted)


Tree display modes (click to enlarge)

Branch lenghts and bootstrap values

  • If the tree has branch lenghts defined, they will be used by default. Selecting 'Ignore branch lenghts' will display the tree with identical branch lengths for all branches and leaves. To display branch lengths directly on the tree, check 'Display branch lengths'.
  • If branches of the tree have bootstrap values defined, there are several ways to show them.
    1. To quickly display the bootstrap of any branch, just put your mouse pointer over it and the value will be displayed in a popup window.
    2. To display bootstraps directly on the tree, check 'Display bootstrap values' and select minimum or maximum values to be included. You can select three types of display:
      1. Bootstrap text will show the actual values on the branches
      2. Bootstrap marks will plot squares on the branches. Square size is proportional to the bootstrap value.
      3. Colors will change the color of the branches based on their bootstrap values. When the 'colors' option is selected, an extra selector with three colored boxes will be show. Click on each box to select the color. You can specify the color for different bootstrap values in the tree, and iTOL will caluclate a gradient based on those colors. Actual values used will depend on selected filtering type:
        Bootstrap filteringMinimum colorMaximum color
        <Xlowest bootstrap in the treeX and above
        >XX and belowhighest bootstrap in the tree

        For example, in a tree with maximum bootstrap value of 100, the following options are selected:

        example

        Gradient will be calculated using red for bootstrap value 80, and green for bootstrap value 100. Clades with bootstraps below 80 will be colored red.

        Optionally, a third color can be selected, which will be used for the midpoint bootstrap value, and a three color gradient will be generated. In order to use the midpoint color, check the box next to the 'Through:' color selector.


Bootstrap display options (click to enlarge)

Automatically collapsing clades

You can use the 'Auto collapse clades' checkbox on the 'Advanced controls' tab to automatically collapse clades in the tree. Average branch length to all leaves will be calculated for all internal nodes, and those clades where this value is below your threshold will be collapsed.


Tree Of Life with auto-collapsed nodes (click to enlarge)

Filtering branches with low bootstrap support

You can use the 'Remove branches with bootstrap support <' checkbox on the 'Advanced controls' tab to filter all branches below certain bootstrap threshold. These branches will be removed, and their children transfered to the removed branch's ancestor. Please note that this procedure invalidates the original branch lengths in the tree (if present), and the tree will be displayed without any branch length information.

Other display features

  • Tree datasets. Trees can have up to 10 datasets associated and displayed. If there are datasets present, a 'Datasets' legend will be displayed showing their colors and labels. To display a dataset, click on its colored box in the legend. Hide the dataset by clicking on its box again. Putting your mouse over any of the data bars will popup its value and the leaf name it is associated with.
  • Branch and leaf popups. Moving your mouse cursor over a branch or a leaf will display a popup window with some extra information, if it's available. Branches will show their bootstrap values, branch lenghts and NCBI taxonomy assignment or name, and leaves will show the name, branch length and NCBI taxonomy ID together with an image of the species.

Datasets and leaf popups (click to enlarge)
Pruning and rerooting the tree, collapsing clades and rotating branches

iTOL's branch pruning, rerooting and collapsing functions allow you to customize the tree however you like. These functions are performed by clicking the left mouse button on any branch or leaf. You will get a popup window showing the available functions, depending on the current status of the node. You can also use the shortcuts mentioned in the function descriptions below. Remember to click the 'Update tree' button after you are finished with pruning/collapsing the nodes.

  • Pruning the tree: pruning is a process of selecting one or several branches from the original tree and creating a new, smaller tree. You can access this function directly by pressing the key 'P' while clicking on a branch/leaf.
  • Collapsing a clade: if you're not interested in the detailed structure of a particular clade, you can collapse it. Collapsed clades are displayed as gray triangles. Total branch lengths to the closest and the farthest leaf are used as sides of the triangle. You can access this function directly by pressing the key 'C' while clicking on a branch.
  • Rerooting the tree: any branch or leaf can be selected as the new root of the tree. You can access this function directly by pressing the key 'R' while clicking on a branch/leaf.
  • Rotating a branch: By default, iTOL will put the branch with fewer leaves to the top. If you want to reverse the position of the sub-branches, use the 'Rotate branch' function. A green line will show which branches will be swapped. If the line is blue, these branches were already swapped, and will be shown in the default sort order after the next tree update. You can access this function directly by pressing the key 'S' while clicking on a branch.

All these functions are non-destructive, meaning you can always go back to the original tree by clicking the 'Reset tree' button.


Pruning and collapsing (click to enlarge)
Exporting to other formats and downloading sequence alignments
iTOL can convert trees to various output formats. Clicking the 'Export tree' button will take you to the main tree export page. This page allows you to:
  • export the current tree into any of the following formats: Portable Network Graphics (png), Encapsulated Postscript (eps), Postscript (ps), Portable Document Format (pdf), Scalable Vector Graphics (svg), Newick (txt) or Nexus (txt). If you plan to include the tree in a publication, we recommend exporting to a 150 or 300 DPI png image. To further edit the tree in a vector based editing software (like Adobe Illustrator or Inkscape), use either svg or eps. Adobe Illustrator sometimes has problems with svg, so we recommend eps when using Illustrator. For best results and greatest amount of control, we recommend exporting to svg and using Inkscape to edit and convert the file.
  • download the multiple sequence alignment used to create the current tree (if available). It the tree is pruned, the alignment will contain only those species which are present in the pruned tree. You can choose clustal, phylip or FASTA as alignment output formats.

Note about transparency

If you use transparency in your datasets (for example in pie charts or connections), the only way to preserve it in the exported trees is to use either svg or png format. Exporting to pdf goes through an intermediary eps file, and transparency is not suppored by eps or ps.

Uploading and working with your own trees

In addition to the Tree Of Life and other precomputed trees available through the 'Other trees' page, you can upload and display your own trees.

To upload a tree, go to the 'Data upload' page. Your tree should be in a plain text file, and in any of the supported formats (Newick, Nexus or PhyloXML).

Example trees in Newick format:

Tree with bootstraps and branch lenghts Tree with internal node IDs
    (A:0.1,(B:0.1,C:0.1)90:0.1)98:0.3);
    
    A, B, C  : leaf names
    0.1, 0.3 : branch lenghts
    90,98    : bootstrap values
   (A:0.1,(B:0.1,C:0.1)INT1:0.1[90])INT2:0.3[98]);

    A, B, C    : leaf names
    INT1, INT2 : internal node IDs
    0.1, 0.3   : branch lenghts
    90,98      : bootstrap values

Uploading datasets

When uploading a tree, you can optionally upload extra data for display on it. Unless you have a personal account in iTOL, the datasets must be uploaded together with the tree, at the same time. Otherwise, you can add or remove datasets from a tree through the tree and dataset function popups in your account (see account help for details). Up to 10 sets of data can be displayed on one tree. Each dataset should be in a separate plain text file. All fields should be separated using the same separator (you can choose space, comma or tab character). First field on each line should be a node ID (or an ID pair, see 'Defining names for internal nodes' below), followed by the actual data value(s).

iTOL can display the following types of data:

Binary data

Nodes of the tree have either zeroes or ones associated with them. Each value will be represented with a square, white for zeroes and your selected color for ones. Values for internal nodes will only be displayed on collapsed clades.

If multiple binary datasets are added to a tree, they will be automatically prevented from overlapping, allowing simultaneous display of several datasets.

Example:

Dataset file:
Gallus_gallus,1
Rattus_norvegicus,1        
Mus_musculus,0
Homo_sapiens,1
Pan_troglodytes,0
          
Graphical representation:
Binary data

Simple bar charts

Nodes have a single value associated with them. Highest value in the dataset is shown as a bar with the selected maximum pixel size, and others are adjusted proportionally to it. Bars will be filled with the color you selected during upload. Values for internal nodes will only be displayed on collapsed clades.

Simple bar charts support scales, as described in the 'Dataset scales' section below.

Example:

Dataset file:
Gallus_gallus,50
Rattus_norvegicus,10        
Mus_musculus,75
Homo_sapiens,100
Pan_troglodytes,90
          
Graphical representation:
Simple bar chart

Multi-value bar charts

Nodes have multiple values (up to a 100) associated with them. Node with the highest sum of values will be represented with a bar with the selected maximum pixel size, and all other values will be adjusted based on it. Values for internal nodes will only be displayed on collapsed clades. First line of the dataset file must contain the labels for individual fields (first field of the line should be LABELS, followed by the actual labels). Labels will be shown when hovering mouse cursor over the bars in the graphical display, and used to display a separate legend in the exported tree images. Second line can be used to define the colors for individual fields (optional; first field should be COLORS, followed by color definitions in standard hexadecimal RGB notation).

Multi value bar charts support scales, as described in the 'Dataset scales' section below.

Example:

Dataset file:
LABELS,mylabel_1,mylabel_2,mylabel_3    
COLORS,#ff0000,#00ff00,#0000ff
Gallus_gallus,20,20,20
Rattus_norvegicus,50,10,75        
Mus_musculus,100,50,20
Homo_sapiens,75,50,10
Pan_troglodytes,20,20,50
          
Graphical representation:
Bar chart with multiple values
If 'Align individual fields' is selected during upload, each field's start will be aligned based on the maximum values of previous fields. Graphical representation:
Multi value bar chart with aligned fields

Pie charts

Input file is almost identical to the 'Multi-value bar charts' described above, and follows the same rules. The important difference is that you can associate data with internal tree nodes. Internal nodes can be defined in two ways:

  1. If your tree has proper IDs associated with internal nodes (see the first section of 'Uploading and working with your own trees' section), you can use these directly.
  2. Use two leaf IDs separated with a vertical line (|), whose last common ancestor will be used as the internal node (see the example below).

In addition to standard data points for each node, first field after the node ID is used to define the radius of the pie chart (in format R + numeric value, for example R50). Values for all the radii defined will be normalized according to the values selected during upload ('Min. radius' and 'Max. radius' pixel values). If radius is not defined, data will be displayed as a multi-value bar, using the rules defined above (always visible for leaves, and visible only on collapsed internal nodes; in the example below, Gallus gallus and Pan troglodytes have radii defined, so their data is displayed as a pie chart).

Actual position of the pie chart on the branch can also be specified as a percentage of the node's total branch length. This optional value can be added after the radius value, separated with a vertical line. Value of 0 translates into the start of the branch, while 1 translates into the end. The default value is 0.5 (ie. the middle of the branch). In the example below, Gallus_gallus has the pie chart position specified as 1.0 ('R50|1.0'), which puts it at the very end of the branch. On the other hand, position value for Pan_troglodytes is 0.2 ('R50|0.2'), and the pie chart is displayed at 20% of the branch length. Note that position values are not limited to range of zero to one (ie. they can be bigger than one, or negative).

Example:

Dataset file:
LABELS,test0,test1,test2,test3
COLORS,#ff0000,#00ff00,#0000ff,#ff00ff
Gallus_gallus|Homo_sapiens,R50,10,20,20,10
Rattus_norvegicus|Mus_musculus,R100,20,20,20,10    
Homo_sapiens|Pan_troglodytes,R50,20,10,10,20
Homo_sapiens|Mus_musculus,R75,10,10,10,10
Homo_sapiens,20,20,20,20
Pan_troglodytes,R50|0.2,20,20,20,20
Mus_musculus,10,20,30,40
Rattus_norvegicus,20,10,40,40
Gallus_gallus,R50|1.0,20,20,20,20
          
Graphical representation:
Pie charts

Color gradients

Leaves have a single value associated with them. Each value is converted into a colored box, using the color selected during upload.In addition, you can specify the color in the dataset file, using a line starting with field 'COLOR' and using a color hex code after the separator (for example, "COLOR,#ff00ff"). Highest value in the dataset is displayed using the exact color specified, with lower values gradually fading towards white (for the lowest value in the dataset).

Example:

Dataset file:
Gallus_gallus,50
Rattus_norvegicus,5        
Mus_musculus,20
Homo_sapiens,10
Pan_troglodytes,40
          
Graphical representation:
Color gradients

Color strips

You can define your own colors for each leaf separately. Use standard hexadecimal color notation (for example, #ff0000 for red). Optionally, each leaf can have a text label associated with it. The label, if defined, will appear in a popup window when the mouse pointer is above the corresponding dataset point. Labels should be the 3rd field in the dataset file (in the example below, it would be "Homo_sapiens,#0000ff,MY_LABEL").

In addition, you can use this dataset type to automatically assign colors to tree branches. Ancestral branches whose children have identical colors will be colored as well. In the example below, upload option 'color branches and show boxes' was used (in the Branch coloring section).

Example:

Dataset file:
Gallus_gallus,#ff0000
Rattus_norvegicus,#00ff00      
Mus_musculus,#00ff00
Homo_sapiens,#0000ff
Pan_troglodytes,#0000ff
          
Graphical representation:
Color strips

Time series

This dataset will provide an animated view of multiple values associated with each leaf (ie. an animated simple bar chart). First line of the dataset file must contain the labels for individual values (first field of the line should be LABELS, followed by the actual labels). Labels will be shown in the animation control box, above the progress bar. Second line can be used to define the colors for individual fields (optional; first field should be COLORS, followed by color definitions in standard hexadecimal RGB notation).

When a time series is displayed in iTOL, you will see a 'Time series control' box, which is used to control the animation. Click the play/pause button to start or stop the animation. You can also drag the progress bar indicator to quickly find a specific field.

Time series datasets support scales, as described in the 'Dataset scales' section below.

Example:

Dataset file:
LABELS,test0,test1,test2,test3,test4
COLORS,#ff0000,#00ff00,#0000ff,#ff00ff,#ffff00
Gallus_gallus,10,30,20,50,30
Rattus_norvegicus,30,20,40,5   
Mus_musculus,20,50,10,30,50
Homo_sapiens,10,30,40,20,40
Pan_troglodytes,30,10,50,20
          
Graphical representation:
Time series

Protein domain architecture

Each node in the tree can have a protein domain architecture associated with it. Even though it's primary use is for the display of protein domains, it can be used for various other purposes. The format is as follows: Each line should have a node ID, total protein length, and the definitions of the domains. The domain definitions field contains one or more domains, separated using the same character which is used in the first two fields. Each domain definition consists of 5 parts, separated with vertical lines ("|"). For example:

RE|100|150|#ff0000|SH2
The fields are:
  1. RE: 2 character code defining the domain shape (see below for supported shapes)
  2. 100: domain start position
  3. 150: domain end position
  4. #ff0000: color definition (hexadecimal RGB notation)
  5. SH2: domain label

Supported domain shapes:

CodeShapeExample
RErectangleRE
HHhorizontal hexagonRE
HVvertical hexagonRE
ELellipseRE
DIrhombus (diamond)RE
TRright pointing triangleRE
TLleft pointing triangleRE
PLleft pointing pentagramPL
PRright pointing pentagramPR
PUup pointing pentagramPU
PDdown pointing pentagramPD
OCoctagonOC
GPrectangle (gap)RE

'GP' shape (for 'gap') will be displayed as a 1/3 height rectangle, and it's primary use is for the gaps in the multiple sequence alignments.

Exported trees with a protein domain architecture dataset will contain an additional legend listing all domains and their labels. The legend will not be shown in interactive mode, since you can hover your mouse cursor over any domain to show its label and other associated information. Domain architectures for internal nodes will only be displayed on collapsed clades.

Protein domain arcitectures support scales, as described in the 'Dataset scales' section below.

Example:

Dataset file:
Gallus_gallus,300,EL|10|50|#ff0000|DUF17,DI|200|290|#aaff00|DUF22
Rattus_norvegicus,360,TR|50|170|#aa00cc|DUF2,TL|175|270|#f044ff|DUF4
Mus_musculus,320,DI|80|190|#f0c0c0|DUF7,EL|175|225|#3400ff|DUF10
Homo_sapiens,350,RE|100|150|#a0faa0|DUF4,HH|250|310|#ffff00|DUF7
Pan_troglodytes,350,HV|20|110|#0043ff|DUF1,EL|125|325|#0dfff0|DUF2
          
Graphical representation:
Protein domains

Heatmaps

Leaves have multiple values associated with them, which are converted into colors based on gradients selected during upload. You have to select 3 values and their correpsonding color: maximum,minium and midpoint. They don't need to correspond to the actual min and max values in the dataset, and midpoint does not need to be exactly in the middle. These values are used to construct 2 color gradients (from minimum to mindpoint and from midpoint to maximum). Dataset values are then mapped to these gradients to select their color. Each value will be represented with a colored box of the width specified during upload. The whole dataset cannot be wider than 5000 pixels, so pratically the limit is 5000 values per leaf (with 1px box width).

First line of the dataset file must contain the labels for individual fields (first field of the line should be LABELS, followed by the actual labels). Labels will be shown when hovering mouse cursor over the boxes in the graphical display, and used to display a separate legend in the exported tree images.

An optional Newick formated file can be uploaded with the heatmap dataset. Its leaf IDs must exactly match the dataset labels. The tree will be used to sort the dataset fields, and will be displayed above the dataset (in normal display mode only).

Example:

Dataset file:
LABELS,mylabel_1,mylabel_2,mylabel_3,mylabel_4,mylabel_5,mylabel_6
Gallus_gallus,-10,-5,0,5,-10,15
Rattus_norvegicus,-5,0,5,10,-15,15
Mus_musculus,-20,0,20,30,-25,30
Homo_sapiens,-10,5,15,25,-30,25
Pan_troglodytes,-5,0,10,30,-10,20
          
Graphical representation:
Heatmap
Additional tree file:
(((mylabel_1,mylabel_2),(mylabel_3,(mylabel_4,mylabel_6))),mylabel_5);
  

Boxplots

Boxplot datasets can be uploaded in 2 ways:

  1. Direct upload of five-number summaries and extremes: each leaf has a least 5 values associated with it. Starting from left, the first 6 fields must be: leaf ID, minimum value, lower percentile, median, upper percentile and maximum value. An unlimited number of extra fields can be added, each representing an outlier value (either high or low).
  2. Upload of raw data: each leaf has at least 4 values associated with it. iTOL will calculate all needed values to display a boxplot for each leaf. You can specify the lower and upper percentile during upload (by default, these will be 25% and 75%). You can also define the step constant, which will be multiplied with each leaf's box size to define the related whisker size. The constant can be any number above zero, and is normally set to 1.5. When uploading raw data, you can also optionally control the drawing of outliers, using the 'Calculate extremes' option in the upload form.

Boxplots support scales, as described in the 'Dataset scales' section below.

Example:

In this example, the dataset contains the five-number summary for each leaf, plus several outliers (for Gallus_gallus, Mus_musculus and Pan_troglodytes)

Dataset file:
Gallus_gallus,10,15,20,25,30,0,5,60
Mus_musculus,5,20,40,50,60,70,80
Rattus_norvegicus,15,30,40,50,65
Homo_sapiens,10,20,35,50,55
Pan_troglodytes,10,20,40,55,65,80
    
Graphical representation:
Boxplot

Connections

This dataset type is only available in inverted circular display mode. Any two nodes in the tree (leaves or internal) can be connected with a line of specified width, color and transparency. Additionaly, each connection can have an associated label, which will be shown in the popup window when mouse pointer is hovering above the line. Each line in the dataset must contain the following fields:

NODE_ID_1  NODE_ID_2  LINE_WIDTH  LINE_ALPHA  LINE_COLOR  LABEL

If your tree doesn't have internal node IDs, you can use the last common ancestor method described below, in the 'Defining names for internal nodes' section. LINE_ALPHA defines the transparency of the line (from 0 for fully transparent to 255 for opaque). LINE_COLOR should be in standard hexadecimal color notation (for example #ff0000 is red), and LINE_WIDTH represents the width in pixels (valid range is 1-1000).

Example:

Dataset file:
Homo_sapiens,Gallus_gallus,10,255,#ff0000,Example connection
Anopheles_gambiae,Homo_sapiens|Mus_musculus,50,125,#00ff00,Connection to internal node
Mus_musculus,Danio_rerio,5,255,#0000ff,Another leaf to leaf connection
Gallus_gallus|Danio_rerio,Anopheles_gambiae|Caenorhabditis_elegans,100,100,#ffff00,Internal to internal
Caenorhabditis_elegans,Eremothecium_gossypii,200,55,#00ffff,Connection 5
Schizosaccharomyces_pombe,Caenorhabditis_briggsae,50,100,#ff00ff,Connection 6
    
Graphical representation:

Connections example (click to enlarge)

Circles

Nodes have multiple values (up to a 50) associated with them. Values will be shown as circles of different radii. Highest value in the dataset will have the largest radius (caluclated based on tree display, depending on available space between the leafs). Radius for the smallest value will be calculated based on the percentage selected in the upload form. Values for internal nodes will only be displayed on collapsed clades.

First line of the dataset file must contain the labels for individual fields (first field of the line should be LABELS, followed by the actual labels). Labels will be shown when hovering mouse cursor over the bars in the graphical display, and used to display a separate legend in the exported tree images. Second line can be used to define the colors for individual fields (optional; first field should be COLORS, followed by color definitions in standard hexadecimal RGB notation). If colors are not defined in the dataset file, all circles will be assigned the same color which was selected in the upload form.

Example:

Dataset file:
LABELS,label_1,label_2,label_3,label_4,label_5
COLORS,#ff0000,#00ff00,#0000ff,#ff00ff,#ffff00
Gallus_gallus,20,20,30,80,50
Rattus_norvegicus,50,10,75,40,5
Mus_musculus,100,50,20,60,10
Homo_sapiens,75,50,10,70,30
Pan_troglodytes,20,20,50,90,10
          
Graphical representation:
Circles dataset

Displaying custom scales with datasets

Several dataset types support the display of custom scales: Simple bar chart, Multi value bar chart, Time series, Boxplot and Protein domains. Scales are defined through a separate line on top of the dataset file (or below the LABELS line, if present). The line should start with the field "DATASET_SCALE", followed by a list of values which define where the scale lines will be displayed (see Example 1 below). Optionally, it is possible to define the line color and a label to be displayed with each line (see Example 2 below). Label and color for a scale line are added after the value, separated with dashes:

DATASET_SCALE,VALUE1-LABEL1-COLOR1,VALUE2-LABEL2-COLOR2

Use the standard hexadecimal notation for colors, and make sure that the label doesn't contain the separator character.

Examples:

1. Multi barchart Dataset file:
LABELS,mylabel_1,mylabel_2,mylabel_3
DATASET_SCALE,10,20,30,40,50
Gallus_gallus,10,10,20
Rattus_norvegicus,5,10,30
Mus_musculus,15,25,30
Homo_sapiens,5,5,35
Pan_troglodytes,10,15,20
          
Graphical representation:
Circles dataset
2. Simple barchart dataset file:
DATASET_SCALE,2000-2k line-#0000ff,10000-example 10k-#ff0000,20000
Gallus_gallus,17709
Rattus_norvegicus,22159
Mus_musculus,25307
Homo_sapiens,22287
Pan_troglodytes,21506
          
Graphical representation:
Circles dataset

Displaying horizontal gene transfers (HGTs) on your tree

iTOL is one of the first tree display tools which can display horizontal gene transfers annotated in the original Newick file, ie. no extra files are necessary. HGT information is included in the IDs of tree nodes. Therefore, in addition to leaf IDs, your tree must have unique IDs assigned to all internal nodes. A valid Newick tree with internal node IDs is shown in the example above (first part of the 'Uploading and working with your own trees' section). In addition to direct annotation in the tree, HGT definitions can also be uploaded in a separate file (listed under 'Advanced options' in the tree upload page).

Annotating HGTs in the Newick tree

HGT information is included in the ID of the originating node. After the ID, first add the keyword #HT# followed with a list of one or mode destination nodes. Separate multiple destinations with a + sign. You can optionally define the color and label for each HGT. Use standard RGB hexadecimal notation (for example, 0xff0000 for red) and put the color after the destination node ID, separated with a | symbol (vertical line). Labels are added in the same way, after the color definition and they will be shown in the popup windows when hovering the mouse pointer over the HGT arrow.

Here are two examples:

Newick tree:Graphical representation:
(A:0.1,(B:0.1,C:0.1)INT1#HT#A:0.1[90])INT2:0.3[98]);
Internal node INT1 is the originating node and leaf A is the destination.
HGT example
                                                                             s e p a r a t o r s
                                                                          |        |         |    |
                                                                          |        |         |    | 
  
((A#HT#C:0.1,(B:0.1,C:0.1)INT1:0.1[90])INT2:0.3[98],(D:0.1,E:0.2)INT3#HT#B|0xff0000|my_label1+INT1|0x0000ff|my_label2:0.3[95]);
                                                                         |           |
                                                                         |           |
                                                                   destination 1   destination 2   
There are 3 HGTs annotated here.
First is a simple one from leaf A to leaf C. Other two are originating from internal node INT3. HGT towards leaf B will be colored red (0xff0000), and the one towards node INT1 will be blue (0x0000ff). Destinations are separated with a + (plus) sign, and colors and labels are separated from destinations with a | (vertical line) sign.
HGT example

Defining HTGs in a separate file

Alternatively, you can upload HGT definitions in a plain text file by using the advanced upload option 'Horizontal gene transfers'. The file should be tab separated plain text file with the following fields:

SOURCE_NODE_ID     DESTINATION_NODE_ID     COLOR     LABEL
Both SOURCE_NODE_ID and DESTINATION_NODE_ID can be either leaf IDs or internal node IDs. If your tree doesn't have internal node IDs, use the last common ancestor method described below, in the 'Defining names for internal nodes' section. For the COLOR field, use standard hexadecimal notation (ie. #ff0000 for red). LABEL is optional, and will be shown in the popup windows when hovering over the HGT arrow.

Example:

HGT definition file:
Gallus_gallus                  Pan_troglodytes|Homo_sapiens   #0000ff   fake_transfer_1
Pan_troglodytes|Homo_sapiens   Rattus_norvegicus              #00ff00   fake_transfer_2
Mus_musculus                   Gallus_gallus                  #ff0000   fake_transfer_3
Tree:
HGTs

Automatic assignment of species names and taxonomic names for internal nodes

After a sucessful upload, you will get an option of automatic assignment of taxonomy information to your tree. This option will only be available if all leaf IDs in your tree are NCBI species taxonomy IDs. The procedure is as follows:

  1. For each internal node in the tree, get all leaf IDs
  2. For each of these leaves, find the lowest common taxonomic classification in the NCBI tree
  3. If this name is assigned to other internal nodes which are not subnodes of the current node, add the keyword 'subclade'

In addition to the internal nodes, leaf IDs will be changed from taxID into their proper scientific names.

This function can also be accessed through the tree options popup in your personal iTOL account.

Defining color ranges, clade and label colors

You can define clade (branch lines) or label (leaf text label) colors and color ranges using the color editor. After a sucessful upload, one of the links under 'What now?' section will take you to the editor. The editor can also be accessed through the tree options menu in your iTOL account.

Alternatively, you can upload the color definitions in a plain text file by using the advanced upload option 'Color definitions'. The file should be tab separated plain text file with the following fields:

NODE_ID     TYPE     COLOR     LABEL

NODE_ID can be a leaf ID or an internal node ID. If your tree doesn't have internal node IDs, use the last common ancestor method described below, in the 'Defining names for internal nodes' section. TYPE should be either range, label or clade. For the COLOR field, use standard hexadecimal notation (ie. #ff0000 for red). LABEL is used only for color ranges, and will be shown in the legend box. Please note that multiple ranges with identical colors must also have identical labels.

Thumbnail
Leaf color ranges on a tree (click to enlarge)

Example:

Color definition file:
Gallus_gallus|Homo_sapiens     clade   #0000ff   no_label
Pan_troglodytes|Homo_sapiens   clade   #00ff00   no_label      
Mus_musculus|Homo_sapiens      range   #aaffaa   Euarchontoglires
Homo_sapiens                   range   #00ff00   important1
Gallus_gallus                  range   #ff0000   important2
Homo_sapiens                   label   #ffff00   
Gallus_gallus                  label   #0000ff   
Pan_troglodytes                label   #ff0000   
          
Tree:
Color ranges and clades

Defining font styles for the leaf labels

You can use various font styles (bold, italic or bold-italic) in the leaf labels. These styles will only be used during tree export to graphical file formats. Font style definitions should be uploaded in a separate file, using the file selection box provided below the main tree upload box.

Styles are defined as follows:

  • one line per leaf, two fields per line, tab separated
  • first field corresponds to a tree leaf ID
  • second field defines the font style, using simple tags
The following tags are supported: <B> </B> for bold, <I> </I> for italic and <BI> </BI> for bold-italic.

Here is an example file:

Homo_sapiens           <B>Homo</B> <BI>sapiens</BI>
Pan_troglodytes        Pan <I>troglodytes</I>
Escherichia_coli_K12   <B>Escherichia coli</B> <I>K12</I>
In the final tree, these would be displayed as:
Homo sapiens
Pan troglodytes
Escherichia coli K12

Defining names for internal nodes

To define names for internal nodes in your tree, you can upload an extra file (using the 'Names for internal nodes' field on the upload page).

Names are defined in the file as follows:

  • one line per leaf, two fields per line, tab separated
  • first field defines the internal node:
    1. directly, using an ID (if your tree has proper internal node IDs assigned)
    2. using two leaf IDs separated with a vertical line (|), whose last common ancestor will be used as the internal node
  • second field defines the name of the internal node

Example:

Name definition file:
Gallus_gallus|Homo_sapiens     Gnathostomata
Mus_musculus|Homo_sapiens      Euarchontoglires    
Homo_sapiens|Pan_troglodytes   Hominidae
          

In this example

  • 'Gnathostomata' will be used for node INT1,
  • 'Euarchontoglires' for node INT2
  • and 'Hominidae' for node INT3

Tree:
Internal node names

Defining clades which will be collapsed by default

If you are working with very large trees, you can upload a file with a set of internal node IDs which should be collapsed by default. The IDs should be on separate lines in the file (ie. one ID per line), and can either be direct internal node IDs (if your tree has them), or you can define them by using two leaf IDs for which that node is the last common ancestor (see the details in the section above, 'Defining names for internal nodes'). For the example tree above, if your pre-collapsed clades file contains only the line:

Mus_musculus|Homo_sapiens

the node INT2 will be collapsed by default.

Defining node labels

iTOL can display custom labels next to any node in the tree. Each labels' color and text can be separately defined and uploaded through the 'Branch labels' field in the 'Advanced options' part of the upload page. The file should be in plain text, with each line containing 3 tab-separted fields:

NODE_ID     BRANCH_LABEL_TEXT    BRANCH_LABEL_COLOR

When specifying information for internal nodes, you can either use the exact internal node IDs (if your tree uses them), or you can define them using the last common ancestor (see the details in the section 'Defining names for internal nodes' above). Colors should be in standard hexadecimal notation (for example, #ff0000 for red).

Example:

Branch labels file:
Gallus_gallus|Homo_sapiens     Gnathostomata
Mus_musculus|Homo_sapiens      Euarchontoglires    
Homo_sapiens|Pan_troglodytes   Hominidae
          
Tree:
Branch labels

Defining custom information for node popups

Custom information for the node popup windows can be uploaded by using the 'Popup box info' field in the 'Advanced options' part of the upload page. The file should be in plain text, with each line containing 3 tab-separted fields:

NODE_ID     POPUP_TITLE_TEXT    POPUP_HTML_CONTENT

When specifying information for internal nodes, you can either use the exact internal node IDs (if your tree uses them), or you can define them using the last common ancestor (see the details in the section Defining names for internal nodes' above). For the popup content, only a few basic HTML tags are supported (limited by Flash). Please use only double quotes in the HTML definition. See the sample file below for some examples.

In addition to the HTML content and popup titles, you can define the Cascading Style Sheets which will be applied to each popup box. Cascading style sheet definitions should be included at the top of the file. First field must contain the keyword CSS followed with a tab character and the actual style definition.

Note about including external images:

Only JPEG and GIF formats are supported. Due to weird Flash problems, you should use the following format to properly display the image:


<textformat tabstops="[IMAGE_WIDTH]">
<img src="http://IMAGE_URL" height="IMAGE_HEIGHTpx" width="IMAGE_WIDTHpx" />
\t&nbsp;
</textformat>

Replace IMAGE_WIDTH, IMAGE_HEIGHT and IMAGE_URL with the correct values.

Example:

The sample popup shown on the right was defined using this example file. Note that you can "invent" new tags for styling (for example, tag box in the definition file).

Customized popup window:
Custom popup
Personal user accounts

If you are using iTOL to upload and display your own trees, you can create a personal iTOL account. It will allow you to access your trees from anywhere, organize them into workspaces and projects and easily manage datasets and other tree features. Your trees are kept private and stored localy in iTOL. You can easily share your trees with others by sending them a link to your tree in iTOL.

Detailed help and explanation of user account features is avaliable on a separate page.

API and batch access

Advanced users are encouraged to use iTOL batch access capabilities for large scale tree upload and export. The interfaces are described in detail on a separate page, together with example upload and download scripts.

Frequently Asked Questions (FAQs)
  1. How can I get branch lengths and/or bootstraps on a tree created using your NCBI tree generator?

    You cannot. These trees simply represent a pruned version of NCBI taxonomy in Newick format, nothing more. Proper phylogenetic tree reconstruction methods must be used to get branch lengths and bootstrap values.

  2. Why is transparency lost when exporting trees to PDF?

    Export to PDF goes through an intermediary EPS file, and EPS does not support transparency. Please use SVG or PNG instead.

If you have a question/comment, please contact the developer.