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:
Load (and reload) tree files quickly.
Allow copying and pasting of serialized trees (useful for debugging complex phylogenetic inference algorithms).
Allow easy exploration of trees using maps-style pan/zoom.
Provide keyboard shortcuts for
all
functions.
Handle BEAST-style node annotations.
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
Aimed primarily at visualizing output of computational inference tools (BEAST 1&2, MrBayes, ...).
Focus is solely on
rooted
trees/networks.
Viewing only
- no editing. (Although rerooting is now possible.)
Ease of use
takes priority over feature count.
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
Recent Bioinformatics article:
10.1093/bioinformatics/btx155
.
Online IcyTree manual:
icytree.org/manual
. (Also accessible from the IcyTree Help menu.
The IcyTree GitHub repository:
github.com/tgvaughan/icytree
.
Open issues to request features or report bugs.
Fork it, hack it, send me a pull request!