Skip to content

RAxML Next Generation: faster, easier-to-use and more flexible

License

Notifications You must be signed in to change notification settings

togkousa/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

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

Adaptive version (currently under development):

git clone --recursive -b adaptive https://github.com/togkousa/raxml-ng.git
cd raxml-ng
mkdir build && cd build
cmake ..
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

  5. To execute the adaptive version, the user needs to add the --adaptive option:

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

  6. Stopping criteria can be activated using the --stopping-criterion {sn-normal|sn-rell|KH|KH-mult} option. In case users want to execute only the Simplified version (sRAxML-NG), they can use the --extra simplified-on option:

# stopping criterion (for example the KH-test with Multiple testing correciton)
./raxml-ng --msa testDNA.fa --model GTR+G --stopping-criterion KH-mult 

# Executing only the Simplified version (without any stopping rule):
./raxml-ng --msa testDNA.fa --model GTR+G --extra simplified-on

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

When using the adaptive RAxML-NG version, please cite this paper:

Anastasis Togkousidis, Oleksiy M Kozlov, Julia Haag, Dimitri Höhler, Alexandros Stamatakis (2023) Adaptive RAxML-NG: Accelerating Phylogenetic Inference under Maximum Likelihood using Dataset Difficulty. Molecular Biology and Evolution, 40 (10) doi:10.1093/molbev/msad227

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

About

RAxML Next Generation: faster, easier-to-use and more flexible

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 96.7%
  • CMake 1.8%
  • Groovy 0.6%
  • Python 0.6%
  • Dockerfile 0.2%
  • Shell 0.1%