Skip to content

amkozlov/raxml-ng

Repository files navigation

RAxML Next Generation

Build Status DOI License

Introduction

RAxML-NG is a phylogenetic tree inference tool which uses maximum-likelihood (ML) optimality criterion. Its search heuristic is based on iteratively performing a series of Subtree Pruning and Regrafting (SPR) moves, which allows to quickly navigate to the best-known ML tree. RAxML-NG is a successor of RAxML (Stamatakis 2014) and leverages the highly optimized likelihood computation implemented in libpll (Flouri et al. 2014).

RAxML-NG offers improvements in speed, flexibility and user-friendliness over the previous RAxML versions. It also implements some of the features previously available in ExaML (Kozlov et al. 2015), including checkpointing and efficient load balancing for partitioned alignments (Kobert et al. 2014).

RAxML-NG is currently under active development, and the mid-term goal is to have most functionality of RAxML 8.x covered. You can see some of the planned features here.

Documentation: github wiki

Installation instructions

  • For most desktop Unix/Linux and macOS systems, the easiest way to install RAxML-NG is by using the pre-compiled binary:
    Download Linux binary (x86)
    Download OSX/macOS binary (x86 and ARM)

  • For clusters/supercomputers (i.e., if you want to use MPI), please use the following installation package which contains pre-built libpll. You will need GCC 6.4+ and CMake 3.0.2+ in order to compile RAxML-NG for your system.
    Download RAxML-NG-MPI for Linux

  • On Windows, you can use linux binary via Windows Subsystem for Linux, but performance might be lower than with native Linux execution.

  • If neither of the above options worked for you, please clone this repository and build RAxML-NG from scratch.

1. Install the dependecies. On Ubuntu (and other Debian-based systems), you can simply run:

sudo apt-get install flex bison libgmp3-dev

For other systems, please make sure you have following packages/libraries installed:

If you do not want to use git submodules (e.g., for packaging), you also need to install:

2. Build RAxML-NG.

PTHREADS version:

git clone --recursive https://github.com/amkozlov/raxml-ng
cd raxml-ng
mkdir build && cd build
cmake ..
make

MPI version:

git clone --recursive https://github.com/amkozlov/raxml-ng
cd raxml-ng
mkdir build && cd build
cmake -DUSE_MPI=ON ..
make

Portable PTHREADS version (static linkage, compatible with old non-AVX CPUs):

git clone --recursive https://github.com/amkozlov/raxml-ng
cd raxml-ng
mkdir build && cd build
cmake -DSTATIC_BUILD=ON -DENABLE_RAXML_SIMD=OFF -DENABLE_PLLMOD_SIMD=OFF ..
make

Documentation and Support

Documentation can be found in the github wiki. For a quick start, please check out the hands-on tutorial.

Also please check the online help with raxml-ng -h.

If still in doubt, please feel free to post to the RAxML google group.

Usage examples

  1. Perform single quick&dirty tree inference on DNA alignment (one parsimony starting tree, general time-reversible model, ML estimate of substitution rates and nucleotide frequencies, discrete GAMMA model of rate heterogeneity with 4 categories):

    ./raxml-ng --search1 --msa testDNA.fa --model GTR+G

  2. Perform an all-in-one analysis (ML tree search + non-parametric bootstrap) (10 randomized parsimony starting trees, fixed empirical substitution matrix (LG), empirical aminoacid frequencies from alignment, 8 discrete GAMMA categories, 200 bootstrap replicates):

    ./raxml-ng --all --msa testAA.fa --model LG+G8+F --tree pars{10} --bs-trees 200

  3. Optimize branch lengths and free model parameters on a fixed topology (using multiple partitions with proportional branch lengths)

    ./raxml-ng --evaluate --msa testAA.fa --model partitions.txt --tree test.tree --brlen scaled

  4. Map support values from existing set of replicate trees:

    ./raxml-ng --support --tree bestML.tree --bs-trees bootstraps.tree

License and citation

The code is currently licensed under the GNU Affero General Public License version 3.

When using RAxML-NG, please cite this paper:

Alexey M. Kozlov, Diego Darriba, Tomáš Flouri, Benoit Morel, and Alexandros Stamatakis (2019) RAxML-NG: A fast, scalable, and user-friendly tool for maximum likelihood phylogenetic inference. Bioinformatics, 35 (21), 4453-4455 doi:10.1093/bioinformatics/btz305

The team

  • Alexey Kozlov
  • Alexandros Stamatakis
  • Diego Darriba
  • Tomáš Flouri
  • Benoit Morel
  • Ben Bettisworth
  • Sarah Lutteropp
  • Julia Haag
  • Anastasis Togkousidis

References

  • Stamatakis A. (2014) RAxML version 8: a tool for phylogenetic analysis and post-analysis of large phylogenies. Bioinformatics, 30(9): 1312-1313. doi:10.1093/bioinformatics/btu033

  • Flouri T., Izquierdo-Carrasco F., Darriba D., Aberer AJ, Nguyen LT, Minh BQ, von Haeseler A., Stamatakis A. (2014) The Phylogenetic Likelihood Library. Systematic Biology, 64(2): 356-362. doi:10.1093/sysbio/syu084

  • Kozlov A.M., Aberer A.J., Stamatakis A. (2015) ExaML version 3: a tool for phylogenomic analyses on supercomputers. Bioinformatics (2015) 31 (15): 2577-2579. doi:10.1093/bioinformatics/btv184

  • Kobert K., Flouri T., Aberer A., Stamatakis A. (2014) The divisible load balance problem and its application to phylogenetic inference. Brown D., Morgenstern B., editors. (eds.) Algorithms in Bioinformatics, Vol. 8701 of Lecture Notes in Computer Science. Springer, Berlin, pp. 204–216