Homepage of TreeTime

TreeTime is an extensible C++ software package for the Bayesian sampling of phylogenetic trees from molecular data.
It is freely available under the terms of the GNU General Public License (GPL).

TreeTime has been developed by Lin Himmelmann as part of his Bioinformatics PhD thesis
Bayessche Methoden zur Schätzung von Stammbäumen mit Verzweigungszeitpunkten aus molekularen Daten (PDF)
at the Goethe-University Frankfurt am Main in the group of his PhD adviser Dirk Metzler (now at University of Munich, LMU).

Quick Guide

Follow these steps to perform a TreeTime analysis:

  1. Put the progam TreeTime and your nexus input file in one directory
  2. Navigate to the directory and execute TreeTime
  3. After TreeTime has finished you will find the output files in the directory
  4. Analyse the output files

An illustrative example with a brief description of the input file and explanation of the output processing is given in the example section.

Download and Documentation

TreeTime v1.0

Compiled versions of TreeTime v1.0 are available for:
Windows, Mac OS and Linux.

NOTES: i, To run TreeTime under Windows you can just double-click the executable file TreeTime.exe. ii, For Linux and Mac OS, navigate to the executable file TreeTime with the terminal/console-program. Type the command ./TreeTime to run the program. You probably have to change the mode with the command chmod 775 TreeTime first.

Source Code

The following zip-file contains the source code for TreeTime v1.0:

Compilation: Make sure that the GNU Scientific Library (including header files) and the GNU C++ compiler are available on your computer. Download and unzip the sources, navigate into the directory TreeTime and call the command make. This should generate an executable file TreeTime in the directory TreeTime/bin. NOTE: For compilation under MacOS you have to remove the compiler flag "-static" on Line 63 of the makefile, which is located in the TreeTime directory.


Short Reference (you will need a Flash-Player Plug-In >9.0.0 to view this):
TreeTime Short Reference

Download the TreeTime User Manual:
PDF: User Manual

Extend TreeTime with your own models:
PDF: How to extend TreeTime


Get R-Files for the analyis of TreeTime's output:
TreeTime Analysis R-Files

To run the analysis, R and the R-Package Ape have to be installed on your computer.


TreeTime is controlled by your input file in nexus format. The nexus input file contains all data, operations and parameters to set up and run the analysis. If you execute TreeTime, it will search a nexus file called input.nex in the current directory. If TreeTime doesn't find a file called input.nex, it requests you to typ a different name (and path) to your nexus input file.

The following example is an adaptation of the primates example from the Beast website (Divergence Dating (Primates) v1.0): You can download the nexus input file for TreeTime with the primates data here: TreeTime primates input file. You can find an interactive illustration of the nexus file here: Illustration. Just move your mouse over the nexus file to read the comments. You will need a Flash-Player Plug-In >9.0.0 to view this.

Put the primates nexus file in the same directory as the TreeTime executable. Execute TreeTime. After TreeTime has finished, you will find all output files of the TreeTime analysis in the directory. Screenshots.

Go to the "Download and Documentation" section to download the R-Files for the processing of the TreeTime output. Download and unzip the R-files in the same directory as the output files. Make sure that R and the R-Package Ape is installed on your computer. Navigate to the output directory and execute R. Make sure that getwd() returns the output directory containing the TreeTime output and the unzipped R-files. Otherwise use setwd("path") to navigate to the correct directory. Type the command source("TreeTime_analysis.r") to generate four PDF-files which contains the summary of the the analysis, prints different consensus trees, shows the model parameters to monitor convergence, etc.. Screenshots.

Among the output you will find the file "tt_treesUM.tre" which contains the sampled trees. To analyse the trees you can use any program that reads and prints trees in the newick file format. For example TreeView or FigTree. The program TreeView can be used to convert the trees in "tt_treesUM.tre" in many other common file formats. You can build a consensus tree with the program consense.exe from the Phylip-Package. The R-Packages Ape and apTreeshape can be used to perform more elaborate analyses (consensus trees, splitting times, tree shape, etc.). Screenshots.


A general description of TreeTime will be published in

Please read and cite this paper when using TreeTime for scientific work.

Also relevant:

Related Software

More useful software developped by Lin Himmelmann, e.g. for visualizing TreeTime's output, can be found here.

Other software packages for Bayesian phylogeny reconstruction: BEAST, MrBayes, BAMBE, BAliPhy, StatAlign, BayesPhylogenies, PhyloBayes, ...

IMPRESSUM, 10 May 2009, Lin Himmelmann