Introduction - arklumpus/TreeViewer GitHub Wiki

Producing publication-quality depictions of phylogenetic trees is often a time-consuming endeavor, involving multiple steps that need to be performed in different programs (e.g. first plotting the phylogenetic tree, post-processing it with a vector graphics editor, and finally exporting it in a general-purpose graphics format). Since creating the raw tree plot is usually the first step in this workflow, if at any point it becomes necessary to change the way the tree is plotted (e.g. by re-rooting it, switching children, transforming the branch lengths etc.), then all the post-processing work has to be done again from scratch.

One of the main design goals of TreeViewer is to prevent this waste of time, by creating a program that is able to produce publication-quality figures without any necessity for post-processing. Furthermore, the program keeps track of the whole process that has been used to create the tree plot; this means that it is possible to alter individual steps in the pipeline, without having to plot everything from scratch.

This approach has many advantages, including:

  • Saving time
    • For example, imagine noticing after a few weeks that you have rooted the tree in the wrong place: with TreeViewer, you can fix the plot with just a few clicks.
  • Improving reproducibility and collaboration
    • TreeViewer tree files can include the whole pipeline, as well as the original tree. Reviewer and collaborators can thus see all the steps that have been involved in producing the tree and suggest changes or apply them to their own trees.
  • Versatility
    • Individual plot items (and tree transformations) can be added or removed independently of each other, which makes it possible to create many different plots using just a few basic elements.

The following pages contain introductions about:

  • The interface of TreeViewer.
  • The process that happens behind the scenes of a TreeViewer plot.
  • The various kinds of modules.