Overview | Applications | Download and Installation | Acknowledgments

Vanilla 1.2 (April 15, 2001)

Copyright (c) 1999-2001 Korbinian Strimmer
This package may be distributed under the terms of the GNU General Public License


Vanilla is a collection of command line programs written in Java to access some selected features in PAL, a Java library for molecular evolution and phylogenetics (see http://www.cebl.auckland.ac.nz/pal-project/ for details on PAL). Note that Vanilla does not provide all functionality available in PAL.

In fact, for the vast majority of things you still need to program yourself! In that respect, this package is provided in the hope that it may serve as a useful guide and introduction to learn how to use PAL in your own programs.

Vanilla 1.2 is only a minor update from Vanilla 1.1 to accommodate the changes from PAL 1.1 to PAL 1.2. It runs best in a shell environment (Unix, Windows, MacOS X) and requires Java 1.1 or better (see Download and Installation section).

Vanilla includes programs to compute maximum-likelihood distances for nucleotides and amino acid data, to estimate of maximum-likelihood branch lengths on trees (incl. clock trees and dated tips), for statistical (e.g., Shimodaira-Hasegawa) and topological (Robinson-Foulds) comparison of trees, to infer demographic parameters from trees (based on the coalescent), and also utility programs to reformat and modify alignments.

If you wish to cite this package please use a phrase like "the Vanilla 1.2 frontend to PAL 1.2", or similar, and refer to

Drummond, A., and K. Strimmer. 2001. PAL: An object-oriented programming library for molecular evolution and phylogenetics. Bioinformatics 17: 662-663.


Vanilla applications offer plain and simple text-only interfaces and are intended to be run in a shell environment. Be warned - there is no graphical user interface, Vanilla is definitely not Mac/Windows-like.

Applications with a PHYLIP-style character user interface (self-explanatory menus):

Applications with a command line interface:

To get a list of available options simply call the program without any parameter. On a Macintosh you will be asked to enter the command line parameters.

At the command line all applications must be called in lower case and prefixed by "v_" (v_mldist, v_showtree, etc.). Note that the "v_" is not part of the "official" name of a program, rather is makes installation and deinstallation more convenient.

Hint: In many shell environments typing "v_" followed by a tab will provide you with a list of all Vanilla applications.

Download and Installation:

Vanilla requires Java 1.1 (or better). It is strongly recommended to install a Java Virtual Machine with a JIT ("just in time") compiler. On Linux installation of Sun Java 1.3 for Linux is recommend because it includes a very fast runtime system (based on a so-called hot-spot compiler). On the Macintosh please install a recent version of the Macintosh Runtime for Java (MRJ). However, probably the best way to run Vanilla on a Mac is to install MacOS X and then install the UNIX version.

This version of Vanilla relies on PAL 1.2. PAL is (c) 1999-2001 by the PAL Core Development Team and is licensed under the GNU General Public License. Sources and documentation for PAL are separately available from the PAL web page at http://www.cebl.auckland.ac.nz/pal-project/.

Note that a Java compiler and download of PAL sources is not necessary as the Vanilla package already contains all necessary classes in precompiled form.

Vanilla 1.2 is distributed in two variants (for convenience only, functionality and sources are 100% identical across platforms):

Due to the arrival of Mac OS X (=Unix), a separate Macintosh version is no longer supported.

After uncompressing using appropriate tools the following simple directory structure will be created on all platforms:

              _______|______ _____ ______ __________
             |              |     |      |          |                
            bin           data   doc   classes     src        
         ____|____                       |          
        |    |    |                 vanilla.zip   
      unix  win  mac                   pal.zip
The "bin" folder contains the Vanilla "binaries", i.e. shell scripts (Unix), batch files (Windows) or JBindary files (Macintosh, no longer supported). The "data" directory contains some example data sets. The "doc" folder contains this page and some other documentation. The "classes" folder contains the precompiled Java class files for Vanilla and for PAL, and the "src" folder contains the Vanilla source code.

To be able to run the Vanilla programs the system needs to be told where the binaries and the Java bytecode sit on the hard drive. On Unix and Windows this is done by setting the PATH and CLASSPATH variables appropriately, on a Mac the Java classes need to be put in a special directory. In doubt please ask your local Unix/Windows/Mac expert for help:

The actual sequence of commands necessary for Unix and Windows will depend on the location of the Vanilla package on your hard disk and whether other programs make use of the PATH and CLASSPATH variables.

Vanilla can also be compiled into native code (as can PAL) using the GNU gcj compiler, makefiles are included with the distributions of both Vanilla and PAL.


I thank Oliver Pybus and Andrew Rambaut for discussion. The name Vanilla was suggested by Alexei Drummond. The prefixing trick (application names) is due to Catherine Letondal. This work is supported by an Emmy-Noether-Fellowship of the DFG to K.S.

Last modified: April 14, 2003