Skip to content

RAxML Next Generation

Randomised Axelerated Maximum Likelihood (RAxML) is a phylogenetic tree inference tool which uses maximum-likelihood optimality criterion.

RAxML Next Generation (NG) is available as a module on Apocrita.

Versions

Each RAxML NG version on Apocrita contains two different versions:

  • The serial (PTHREADS) version, suitable for serial only jobs
  • The MPI version, suitable for parallel only jobs

Usage

To run the default installed serial version of RAxML NG, simply load the raxml-ng module:

$ module load raxml-ng
$ raxml-ng --help
Usage: raxml-ng [OPTIONS]

To run the default installed MPI version of RAxML NG, simply load the raxml-ng-mpi module:

$ module load raxml-ng-mpi
$ raxml-ng-mpi --help
Usage: raxml-ng [OPTIONS]

For usage documentation, run raxml-ng --help or raxml-ng-mpi --help depending on the version being used.

Example jobs

Serial job

Here is an example job running on 2 cores and 2GB of memory:

#!/bin/bash
#SBATCH -n 2               # (or --ntasks=2) Request 2 cores
#SBATCH --mem-per-cpu=1G   # Request 1GB RAM per core
#SBATCH -t 1:0:0           # Request 1 hour runtime

module load raxml-ng

raxml-ng \
  --parse \
  --msa input_file.phy \
  --model GTR+G \
  --prefix T2 \
  --threads ${SLURM_NTASKS}

Parallel job

Here is an example job running on 96 cores across 2 ddy nodes using MPI:

#!/bin/bash
#SBATCH -N 2             # (or --node=2) Request 2 nodes
#SBATCH -n 96            # (or --ntasks=96) Request 96 cores
#SBATCH -t 240:0:0       # Request 240 hours runtime
#SBATCH -p parallel      # (or --partition=parallel) Request parallel partition
#SBATCH -- exclusive
#SBATCH --mem=0

module load raxml-ng-mpi

# Slurm knows how many tasks to use for mpirun, detected automatically from
# ${SLURM_NTASKS}. Use -- to ensure arguments are passed to the application
# and not mpirun
mpirun \
  -- \
  raxml-ng-mpi \
    --parse \
    --msa input_file.phy \
    --model GTR+G \
    --prefix T2

References