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