The Exelixis Lab

Enabling Research in Evolutionary Biology

Phylogenetic Inference


Our standard tool for Maximum-likelihood based phylogenetic inference.


Exascale Maximum Likelihood (ExaML): Code for extremely large-scale phylogenetic inference on supercomputers using MPI.

Phylogenetic Likelihood Library

Phylogenetic Likelihood Library: A highly optimized and parallized library for rapid prototyping and development of likelihood based phylogenetic inference codes.

Perpetually updating trees

A pipeline that automatically updates reference trees using RAxML-Light when new sequences for the clade of interest appear on GenBank or are added by the user.


A strapped down checkpointable RAxML version for computing huge trees on supercomputers. Development of this code has stopped, please use ExaML instead!


A fast and simple open-source parsimony program for building phylogenies on DNA data.

Hybrid MrBayes

A hybrid MPI/OpenMP version of MrBayes v3.1.2.


Parallelized Bayesian tree inference for large-scale datasets.


New, flexible low level phylogenetic likelihood library.

RAxML next generation

The all new, from scratch re-design of RAxML: better, faster, more scalable, easier to use.

ModelTest next generation

The all new faster ModelTest, superseding jModelTest and ProtTest.


Second version of libpll, including site repeats optimization.


A tool for massively parallel model selection and phylogenetic tree inference on thousands of genes, using ModelTest-NG and RAxML-NG.


A tool for species tree-aware maximum likelihood based gene family tree inference under gene duplication, transfer, and loss.


A tool for maximum likelihood species tree inference from gene family trees under duplication, transfer, and loss.


A tool for accurate and fast maximum likelihood based inference of phylogenetic networks.


A tool for species tree inference from gene trees under high proportions of missing data.


A tool for gene and species tree co-estimation and reconciliation under a probabilistic model of gene duplication, transfer and loss

Phylogenetic Post-Analysis

Visual Tree Comparer

A simple graphical tree comparison tool that visualizes differences between up to four different trees by highlighting the branches (bipartitions/splits) that are not shared among those trees.

Tree Visualization Tool (very old)

Old Tree visualization tool using treemaps and taxonomic information.


Highly optimized versions of Pierre Legendre's Parafit and DistPCoA programs for statistical analysis of host-parasite coevolution.

Rogue Taxon Identification

A new, scalable algorithm for rogue taxon identification.


An optimized (using vector intrinsics) and parallelized version (using OpenMP) of the DPPDIV (original code by Tracy Heath) code for estimating divergence times with a dirichilet process prior.

Phylogenetic Binning tool

The code from the paper: S. Berger, R. L├╝cking, A. Stamatakis on "Morphology-based phylogenetic binning of the lichen genera Graphis and Allographa (Ascomycota: Graphidaceae) using molecular site weight calibration" is available for download here.


Prediction of missing sequences and branch lengths on phylogenies inferred using MSAs that have missing/gappy data.


A tool for delimiting species on phylogenies and evolutionary placements.


A substantially faster, more scalable, and more accurate version of our PTP tool for single locus species delimitation.


RootDigger is a program that will, when given a MSA and an unrooted tree place a root on the given tree.


Species Counting on Reference trees viA Phylogenetic Placements

Next Generation Sequencing & Sequence Analysis


A fast, parallel, and accurate Illumina paired-end read merger. There is the PEAR documentation and a Google Group for PEAR users. The old PEAR page is not longer maintained, but still might contain some relevant information.


A tool for flexible pairwise sequence alignment with a variable, but bounded, number of gaps.


An ultrafast library for pairwise short-read alignment, based on GapMis, including accelerated SSE-based and GPU-based versions.


A toolkit for working with phylogenetic data, mainly for evolutionary placements of short NGS reads on a reference phylogenetic tree. The library supports many data types for phylogenetics, sequences, taxonomis, as well as a plethora of utility functions and tools. See also

Evolutionary Placement Algorithm

Algorithm for placing short reads onto a given reference phylogeny. This is part of standard RAxML.


PArsimony-based Phylogeny-Aware Read alignment program. The tool uses a given multipe sequence alignment and corresponding reference tree to align short reads for analysis with the EPA (Evolutionary Placement Algorithm).


An accurate and efficient tool for MoTif eXtraction.


A tool for analyzing and editing/correcting chromatogram data.


Semi-Automatic Taxonomy Improvement and Validation Algorithm. Identifies taxonomically mislabeled sequences and suggests corrections using EPA (Evolutionary Placement Algorithm).

EPA next generation

Stand-alone, much faster, and massively parallel re-implementation of the Evolutionary Placement Algorithm.


Analysis and visualization tool, mainly for metagenomic sequence analysis, which implements our phylogenetic placement pre- and post-processing methods, such as Edge Correlation, Phylogentic k-means, Placement-Factorization, and many others.

Population genetics


A very fast forward-in-time simulator for population genetics.


A parallel and checkpointable tool that implements a composite likelihood ratio test for detecting selective sweeps. SweeD is based on the SweepFinder algorithm.


A parallel tool for rapid & scalable detection of selective sweeps in whole-genome datasets using the omega statistic.

Web services

RAxML-Light Web-Service

Avaliable at the San Diego Supercomputer Center (supported by the NSF iPlant collaborative) To use this service you will first need to create an iPlant login here and subsequently log in on the CIPRES portal using your iPlant credentials.

WEB-Servers for RAxML-NG

The brand new web-server for the completely re-designed version of RAxML, called RAxML-NG is available here.

Rogue Taxon Identification Web-Server

access the server here.

PTP Web-Service

Access the web server for species delimitation using our new PTP method.

RAxML Web Servers

Vital IT unit of the Swiss Institute of Bioinformatics
CIPRES portal at San Diego Supercomputer Center
New beta-version of the CIPRES portal that provides a full workbench

MPTP Web Server

Access the new species delimitation web service using the new mptp approach. The MCMC version of mptp is now also offered as a web service here.


Microbenchmark for Denormalized Floating Point Numbers

A small benchmark code, mainly for teaching purposes that can be used to highlight the performance impact of de-normalized floating point numbers.

Reconfigurable Architectures (FPGAs)

Reconfigurable architectures for Bioinformatics applications designed by our former lab member Dr. Nikos Alachiotis.

File conversion scripts

Shell script for fasta to phylip conversion.
Matlab programs by Lowie Li for fasta to phylip and phylip to fasta conversion.


Small program to compute the number of possible rooted and unrooted binary trees for n taxa or to compute the number of possible binary trees given a multi-furcating constraint tree.


A tool and benchmark for assessing adherence of scientific software to coding quality standards.

RAxML Grove

A database comprising more than 60,000 inferred trees and respective model parameter estimates from fully anonymized empirical datasets that were analyzed using RAxML and RAxML-NG on the web servers at the San Diego Supercomputer Center and the SIB Swiss Institute of Bioinformatics.


A tool to predict the difficulty of phylogenetic analysis of Multiple Sequence Alignments (MSA). Predicting the difficulty using Pythia is substantially faster than inferring multiple ML trees using RAxML-NG. Pythia can be used to increase user awareness with respect to the amount of signal and uncertainty to be expected in phylogenetic analyzes, and hence inform an appropriate (post-)analysis setup.