RAxML search algorithm for maximum likelihood based inference of phylogenetic trees. The RAxML home page is at https://github.com/stamatak/standard-RAxML.
RAxML is licensed under the terms of the GNU General Public License ("the GPL"), version 2 or (at your option) any later version. A copy of version 3 of the GPL as included with the RAxML software is available here.
Example script for the Pan cluster
#!/bin/bash -e #SBATCH --job-name RAxML_job #SBATCH --account nesi99999 #SBATCH --time 01:00:00 #SBATCH --ntasks 1 #SBATCH --cpus-per-task 4 #SBATCH --mem 8G #SBATCH --output RAxML_job.%j.out # Include the job ID in the names #SBATCH --error RAxML_job.%j.err # of the output and error files module load RAxML/8.2.10-gimkl-2017a srun raxmlHPC-PTHREADS-SSE3 -T $SLURM_CPUS_PER_TASK -m GTRCAT -s aln.fasta -n tree.out
raxmlHPC-SSE3 -help and the RAxML manual.
Each of our RAxML environment modules contains multiple RAxML executables:
These all implement the RAxML algorithm, but one is serial, one multithreaded, one MPI, and one MPI+threads.
MPI is only useful for bootstrapped trees.
The combinations of Slurm settings and RAxML types which make sense are:
raxmlHPC-SSE3with 1 task of 1 CPU.
raxmlHPC-PTHREADS-SSE3with 1 task which has multiple CPUs.
raxmlHPC-MPI-SSE3with multiple tasks of 1 CPU each.
raxmlHPC-HYBRID-SSE3with multiple tasks, each of which has multiple CPUs.
MPI and HYBRID are only useful for bootstrapped trees.
For the multi-threaded cases (PTHREADS and HYBRID) you should tell RAxML how many threads to use with the RAxML option
"SSE3" is the name for a set of Intel SIMD (Single Instruction Multiple Data) instructions.
On the nodes which support the newer AVX SIMD instructions there are also -AVX versions of RAxML (e.g.,
raxmlHPC-HYBRID-AVX) which can be 10-30% faster, so for example:
#!/bin/bash -e #SBATCH --time 01:00:00 #SBATCH --cpus-per-task 4 #SBATCH --mem 8G #SBATCH -C avx srun raxmlHPC-PTHREADS-AVX -T $SLURM_CPUS_PER_TASK -m GTRCAT -s aln.fasta -n tree.out