IcyTree

Quick and easy browser-based
phylogenetic visualization

Tim Vaughan
Centre for Computational Evolution
University of Auckland, New Zealand
Tree Visualization Workshop, May 4–5, 2017

Why another tree viewer?

  • Existing viewers didn't do what I wanted them to do:
    1. Load (and reload) tree files quickly.
    2. Allow copying and pasting of serialized trees (useful for debugging complex phylogenetic inference algorithms).
    3. Allow easy exploration of trees using maps-style pan/zoom.
    4. Provide keyboard shortcuts for all functions.
    5. Handle BEAST-style node annotations.
    6. Understand extended Newick format for phylogenetic networks.
  • Having a web-based tool solves deployment.
  • Existing web-based viewers (in 2013) all seemed to require communication with a server, which made them relatively slow to use from New Zealand.

Development Philosophy

  1. Aimed primarily at visualizing output of computational inference tools (BEAST 1&2, MrBayes, ...).
  2. Focus is solely on rooted trees/networks.
  3. Viewing only - no editing. (Although rerooting is now possible.)
  4. Ease of use takes priority over feature count.
  5. Usability for experienced users takes priority over usability for new users. (Where there is a trade-off.)

Features

  • 100% JavaScript: to load, point (Chrome/Firefox/Safari) at icytree.org.
  • Load tree files from the menu, drag-and-drop or by pasting their contents into a dialog box.
  • BEAST Nexus, Newick, Extended Newick, PhyloXML and NeXML input/output support.
  • SVG/PNG/JPEG export support.
  • Intuitive pan/zoom.
  • Style options accessible via single key-press.
  • Logarithmic axis scale for easy viewing of coalescent-like trees.
  • Practical strategy for drawing phylogenetic time networks such as ARGs.

Demonstration

Shareable visualization workflow?

  • IcyTree neither reads nor writes style information from/to tree files.
  • Reproducing an IcyTree state currently requires both the input file and a list of style options that need to be set by the user.
  • Internally, IcyTree maintains a TreeStyle object that contains this missing style information.
  • This object could be trivially serialized and shared with the tree file to enable sharing of the visualization workflow.
  • Of course, a solution that enabled interoperability where possible with other software would be preferable.

More information