RAxML - bwHPC Wiki RAxML - bwHPC Wiki

RAxML

From bwHPC Wiki
Jump to: navigation, search
Description Content
module load bio/raxml
Availability bwUniCluster
License GPLv3
Citing RAxML | raxmlGUI
Links RAxML Homepage | RAxML 8 Manual (PDF)
Graphical Interface Yes
Requirements Python 2.7 (raxmlGUI)

1 Description/What is RAxML?

RAxML-HPC (randomized axelerated maximum likelihood for high performance computing) is a sequential and parallel program for inference of large phylogenies with maximum likelihood (ML). Low-level technical optimizations, a modification of the search algorithm, and the use of the GTR+CAT approximation as replacement for GTR+Γ yield a program that is between 2.7 and 52 times faster than the previous version of RAxML.

A large-scale performance comparison with GARLI, PHYML, IQPNNI and MrBayes on real data containing 1000 up to 6722 taxa shows that RAxML requires at least 5.6 times less main memory and yields better trees in similar times than the best competing program (GARLI) on datasets up to 2500 taxa. On datasets ≥4000 taxa it also runs 2–3 times faster than GARLI.

RAxML has been parallelized with MPI to conduct parallel multiple bootstraps and inferences on distinct starting trees. The program has been used to compute ML trees on two of the largest alignments to date containing 25 057 (1463 bp) and 2182 (51 089 bp) taxa, respectively.
For more information on features please visit the [ RAxML Homepage]

2 Versions and Availability

A list of versions currently available on all bwHPC-C5-Clusters can be obtained from the

Cluster Information System CIS

On the command line interface you'll get a list of available versions by using the command 'module avail bio/raxml'.

$ module avail bio/raxnk
--------------------------- /opt/bwhpc/common/modulefiles ---------------------------
bio/raxml/8


3 License

RAxML and raxmlGUI are free software packages.

4 Citation

4.1 RAxML

A. Stamatakis: "RAxML Version 8: A tool for Phylogenetic Analysis and
Post-Analysis of Large Phylogenies". In Bioinformatics, 2014

4.2 raxmlGUI

Silvestro, D. & Michalak, I. (2012) raxmlGUI: A graphical front-end for RAxML.
Organisms Diversity & Evolution 12, 335-337, DOI: 10.1007/s13127-011-0056-0

5 Loading the module

5.1 Default

You can load the default version of RAxML with the command 'module load bio/raxml'.

$ module purge
$ module load bio/raxml
$ module list
Currently Loaded Modulefiles:
  1) bio/raxml/8

The module will try to load modules it needs to function. If loading the module fails, check if you have already loaded one of those modules, but not in the version needed for RAxML.

5.2 Special Version

If you wish to load a version of RAxML, you can do so using module load bio/raxml/'version' to load the version you desires.

Example:
$ module avail bio/raxml
--------------------------- /opt/bwhpc/common/modulefiles ---------------------------
bio/raxml/8
$ module load bio/raxml/8
$ module list
Currently Loaded Modulefiles:
  1) bio/raxml/8

6 Contents of the RAxML Home Folder

$ ls -xF $RAXML_HOME
bin/ # executable files
bwhpc-build-log.d/  # build-logs
bwhpc-examples/  # bwHPC-examples 
manual/  # vendor supplied documentations
modulefiles/  # modulefile
raxmlGUI/  # raxmlGUI-version
usefulScripts/ # vendor scripts

'*' indicates the file is executable. '/' indicates its a folder.

6.1 Program Binaries

You can find the binaries in the main folder of the RAxML system. After loading the raxml module ('module load bio/raxml') this path is also set to the local $PATH- and $RAXML_HOME environments.
You can run RAxML in one of two modes, either as an raxmlGUI in which you can dynamically load files or in a command-line version.

6.1.1 Command Line Version

6.1.1.1 Sequential Version

To run 'RAxML non-interactively start it with the command:

raxmlHPC-SSE3

or

raxml

6.1.1.2 MPI Version

The MPI built version is called:

raxmlHPC-MPI-SSE3

or

raxml_mpi

6.1.2 GUI Version

raxmlGUI

or

raxmlGUI.py

6.2 Graphical User Interface Version

raxmlGUI requires Python 2.7!
You can run RAxML in a Graphical-Interface-Mode where you can load the files you want to process and the raxmlGUI will display the results on screen (see example).
This GUI version is located in the $RAXML_HOME/raxmlGUI subfolder.
The $PATH is set to this folder, too.

$ pwd; ls -l raxmlGUI
/opt/bwhpc/common/bio/raxml/8
raxmlgui/ # Python files
raxmlGUI # GUI start (symbolic link)
raxmlGUI.py # GUI start
README.txt 

  • You must have a running X-Window server on your local system (X-forwarding).
  • Start the ssh-session with the option "-X" (ssh -X 'your-id'@'your-cluster-DN').

Example:

$ raxmlGUI & 
$ /opt/bwhpc/common/bio/raxml/8/raxmlGUI/raxmlgui
 "/opt/bwhpc/common/bio/raxml/8/raxmlGUI/raxmlgui" 
 "/opt/bwhpc/common/bio/raxml/8/raxmlGUI/raxmlgui/raxml" 


RAxML GUI-Version

7 bwHPC Examples for RAxML

  • Use raxml_mpi for the MPI version in your Moab submit scripts.


In the folder $RAXML_EXA_DIR you'll find an example how to use this module.

$ echo $RAXML_EXA_DIR
/opt/bwhpc/common/bio/raxml/8/bwhpc-examples
$ ls -l $RAXML_EXA_DIR
# bwhpc example submit script for Moab (bwUniCluster)
bwhpc-raxml-example.moab
# Test datasets : 
# Trees of alignments of DNA characters/alignments of protein characters
# in PHYLIP format.
binary.phy 
dna.phy
dna_protein.phy
multiState.phy
protein.phy


7.1 bwhpc-example file

  • bwhpc-raxml-example.moab

Use this Moab start-script to start your own RAxML session in interactive mode. Look for this section inside the file and do your modifications.

7.1.1 How to use the RAxML Test-Script

  • Create your own work-space
# WS-Name        Days alive (max. 60)
ws_allocate raxml_repo 30
  • Change dir to your workspace
cd $(ws_find raxml_repo)
  • Copy the moab-example file you'll find in this folder and make your modifications
cp $RAXML_EXA_DIR/bwhpc-raxml-example.moab .
  • Submit your job
msub bwhpc-raxml-example.moab
  • Wait for awhile...

... until you see some more files created The *.tgz-file contains your data.

tar xvzf *.tgz to extract the file-contents


7.1.2 Exerpt from bwhpc-raxml-example.moab

These parameters are allying for the use of RAxML on the bwUniCluster.

#!/bin/bash
#
#MSUB -N raxml_job
#MSUB -j oe
#MSUB -o $(JOBNAME).$(JOBID)
#MSUB -m ae
# -M 'your e-mail-address@DN'
#MSUB -l nodes=2:ppn=2
#MSUB -l mem=10000mb
#MSUB -l walltime=00:10:00
[...]
echo "### Loading RAXML module:"
echo " "
module load bio/raxml/8
[ -z "$RAXML_HOME" ] && { echo 'ERROR: Failed to load module bio/raxml/8.'; exit 1; }
echo "RAXML_HOME = ${RAXML_HOME}"
module list

echo " "
echo "### Copying input test file for job (if required):"
echo " "
cp -v $RAXML_EXA_DIR/dna.phy .

echo " "
echo "### Runing RAxML example in MPI mode..."
echo " "
echo "SLURM_JOB_NUM_NODES  = ${SLURM_JOB_NUM_NODES}"
# # http://evolution.genetics.washington.edu/phylip.html
# # *.phy files includes trees or alignments in PHYLIP format
# # MPI
mpirun -np ${SLURM_JOB_NUM_NODES} raxml_mpi -s dna.phy -p 20 -# 2 -n dna.raxml.2Tree -c 20 -f d -m PROTGAMMAJTT
# # serial/sequential
# raxml -s dna.phy -p 20 -n dna.raxml.singleTree -c 20 -f d -m PROTGAMMAJTT 
[...]



8 RAxML-Specific Environments

To see a list of all RAxML environments set by the 'module load'-command use env | grep RAXML. Or use the command module display bio/raxml.

$ module display bio/raxml
-------------------------------------------------------------------
/opt/bwhpc/common/modulefiles/bio/raxml/8:
module-whatis	 RAxML, 8. Randomized Axelerated Maximum Likelihood. 
setenv		 RAXML_VERSION 8 
setenv		 RAXML_HOME /opt/bwhpc/common/bio/raxml/8 
setenv		 RAXML_EXA_DIR /opt/bwhpc/common/bio/raxml/8/bwhpc-examples 
setenv		 RAXML_BIN_DIR /opt/bwhpc/common/bio/raxml/8/bin 
setenv		 RAXML_GUI_BIN_DIR /opt/bwhpc/common/bio/raxml/8/raxmlGUI 
setenv		 RAXML_DOC_DIR /opt/bwhpc/common/bio/raxml/8/manual 
setenv		 RAXML_BPR_URL http://www.bwhpc-c5.de/wiki/index.php/RAxML 
prepend-path	 PATH /opt/bwhpc/common/bio/raxml/8/bin 
prepend-path	 PATH /opt/bwhpc/common/bio/raxml/8/raxmlGUI 
module		 load compiler/intel/15.0 
module		 load mpi/openmpi/1.10-intel-15.0 
module		 load devel/python/2.7.10 
conflict	 bio/raxml 


The module display command will not load the module!

9 Version-Specific Information

For a more detailed information specific to a specific RAxML version, see the information available via the module system with the command module help bio/raxml.
For a small abstract what RAxML is about use the command module whatis bio/raxml.
Example

$ module whatis bio/raxml
bio/raxml            : RAxML, 8. Randomized Axelerated Maximum Likelihood.

$ module help bio/raxml
----------- Module Specific Help for 'bio/raxml/8' ----------------
DESCRIPTION

   RAxML (Randomized Axelerated Maximum Likelihood) is a program 
   for sequential and parallel Maximum Likelihood based inference of 
   large phylogenetic trees. It can also be used for postanalyses
   of sets of phylogenetic trees, analyses of alignments and, evolutionary
   placement of short reads.
[...]

DOCUMENTATION

*  RAXML AT A GLANCE   
   http://www.exelixis-lab.org/
   https://groups.google.com/forum/?hl=en#!forum/raxml

*  RAXML User Guide, Documents, Wiki-Article
   http://sco.h-its.org/exelixis/web/software/raxml/index.html#documentation
   http://sco.h-its.org/exelixis/php/countManualNew.php

   Local: /opt/bwhpc/common/bio/raxml/8/manual
   Best-Practices-Repository: http://www.bwhpc-c5.de/wiki/index.php/RAxML

*  RAXML Download
   https://github.com/stamatak/standard-RAxML/archive/master.zip
  
*  bwHPC examples and a moab example script can be found here:
   /opt/bwhpc/common/bio/raxml/8/bwhpc-examples
[...]
BINARY FILES

   /opt/bwhpc/common/bio/raxml/8/bin/raxml              # sequential version
   /opt/bwhpc/common/bio/raxml/8/bin/raxml_mpi          # MPI version
   /opt/bwhpc/common/bio/raxml/8/raxmlGUI/raxmlGUI(.py) # GUI for RAxML (Python2)
[...]