SplitsTree3: Analyzing and Visualizing Evolutionary Data
| Evolutionary data is most often presented as
phylogentic tree, the underlying assumption being that evolution is a
process. However, real data is never ideal and thus doesn't always
a unique tree, but often supports more than one possible tree. Hence,
makes sense to consider tree reconstruction methods that produce a
if the given data heavily favors one tree over all others, but
produces a more general graph that indicates different possible
One such method is the Split Decomposition introduced by Hans-Juergen
and Andreas Dress (1992) and its variations. Another example is
Analysis developed by Hendy, Penny and others.
These and other methods are implemented in the program SplitsTree, that I wrote with contributions from Dave Bryant, Mike Hendy, Holger Paschke, Dave Penny and Udo Toenges. It is based on the Nexus format.
|SplitsTree reloaded: SplitsTree4|
|Together with David Bryant, we have
developed an all-new implementation of SplitsTree in Java, which is
SplitsTree4, available here!
|SplitsTree was recently upgraded to
3.2, with a number of bug fixes. Also, the linux distribution now
all source files. Please note that the program was originally written
the ThinkC C+objects compiler and is thus not really in C++ but in a
C-based half-object-oriented language... This is the most current Windows95 version
It is available for Linux
and Solaris. The Source-Code is also
will need to install TCL-TK
Windows95 or TCL
(8.0.5) and TK
(8.0.5) for Linux, for this to work.
To be precise, there are two variants of the unix version: xsplits provides a menu driven graphical user interface and looks like a Windows program. Splits is a command line program with command line editing.
(Local users: /afs/wsi/sun4x_58/ab/bin/splits, /afs/wsi/sun4x_58/bin/xsplits & /afs/wsi/sun4x_58/share/bin/jsplits).
NEW: Version built for MacOS X (10.5, intel). No installation of TCL-TK 8.0.5 necessary, download here.
|This is the previous Windows 95 version of the program. It is also available for Linux. You will need to install TCL-TK (8.0.5) for Windows 95 or TCL (8.0.5) and TK (8.0.5) for Linux, for this to work.|
|This version SplitsTree2.4 of the program is available for MacOS (classic only). I wrote most of it while visiting Mike Hendy, Pete Lockhart and Dave Penny for a couple of months in Palmerston North, New Zealand. Also, additional bits were written while visiting Mike Steel at the Maths-Bio research Centre at the University of Canterbury in Christchurch, New Zealand. The rest was written while I was working with Andreas Dress at the Institute for the Study of Structure Formation at Bielefeld University, Germany.|
|This version of SplitsTree is no longer available. It was written in cooperation with Rainer Wetzel, who developed a number of the algorithms involved as part of his PhD thesis under supervision of Andreas Dress. (The code is pretty shaky, but some people like this version of the program because it can read the old nexus format and has some features that I haven't got around to putting into later versions yet.)|
| The command line version splits of
is written in C++ and uses the gnu readline code to provide line
The GUI variant xsplits of SplitsTree3 is based on precisely the same
code as splits, but additionally provides a GUI written in Tcl-TK.
The source code is available from the author up on request, but please don't expect to learn good programming style from it! SplitsTree was originally written using Think C with objects, which is not the same as C++. In particular, originally objects could not be passed by reference and so you will find heavy use of pointers, which is very bad style. Secondly, I wish I took the time to develop something systematic for reading NEXUS files. Unfortunately I didn't and you will see endless lines of if() then else... to parse the NEXUS format.
|To Do List|
|Lot's to do. SplitsTree4 is receiving a
lot of programming attention. SplitsTree3 is no longer being updated.