-
RAxML
RAxML
RAxML on nopea ohjelma fylogenioiden päättelyyn suurimman uskottavuuden menetelmällä. RAxML tarjoaa useita evoluutiomalleja sekä DNA- että aminohapposekvensseille.
Lisenssi
Vapaasti käytettävä ja avointa lähdekoodia GNU GPLv3 -lisenssillä.
Saatavuus
- Roihu: 8.2.12,
bio-apps-moduulin kautta.
Käyttö
RAxML on osa bio-apps -kokoelmaa Roihussa. Lataa ensin bio-apps-moduulipuu ja sitten RAxML-moduuli:
Asennetut RAxML-versiot näet komennolla:
Mitä versiota kannattaa käyttää?
RAxML:stä on saatavilla sarjaversio ja kolme erilaista rinnakkaisversiota.
Sarjaversio (raxmlHPC) on tarkoitettu pienille ja keskisuurille aineistoille sekä alustaviin kokeisiin sopivien hakuparametrien määrittämiseksi.
PThreads-versio (raxmlHPC-PTHREADS) toimii hyvin erittäin pitkille kohdistuksille. Muista määrittää säikeiden määrä -T-valinnalla. Sen tulee vastata eräajotehtävän skriptissä pyytämiesi ytimien määrää.
Sopivan säiemäärän valintaan kannattaa tutustua kohtaan "How many Threads shall I use?" RAxML-käsikirjassa. Liian monen säikeen käyttö voi hidastaa ohjelman toimintaa.
MPI-versio (raxmlHPC-MPI) on tarkoitettu todella suurten tuotantoajojen suorittamiseen (esim. 100 tai 1 000 bootstrapia). Sillä voi myös suorittaa useita päättelyjä rinnakkain suuremmille datajoukoille, jotta aineistollesi löydetään paras tunnettu ML-puu. Lisäksi nopea BS-algoritmi ja siihen liittyvä ML-haku on rinnakkaistettu MPI:llä.
Nykyinen MPI-versio toimii oikein vain, jos määrität ajokertojen määrän komentorivillä, koska se on suunniteltu suorittamaan useita päättelyjä tai nopeita/tavallisia BS (bootstrap) -hakuja rinnakkain. Kaikille muille valinnoille tämän tyyppisen karkearakeisen rinnakkaisuuden käyttö ei ole kovin mielekästä. Käytä -N-valintaa -#-valinnan sijaan, koska jälkimmäinen voidaan tulkita eräajo-ohjelmistossa kommentin aluksi.
Versioissa 8.2.12 ja uudemmissa on lisäksi hybridi MPI/säikeistetty versio (raxmlHPC-HYBRID)
Versioissa 8.2.12 ja uudemmissa on saatavilla myös AVX-optimoidut binäärit (raxmlHPC-AVX, raxmlHPC-PTHREADS-AVX, raxmlHPC-MPI-AVX, raxmlHPC-HYBRID-AVX). Ne voivat toimia nopeammin kuin optimoimattomat versiot, mutta voivat aiheuttaa ongelmia joillakin aineistoilla. Kokeile ongelmatilanteissa optimoimattomia versioita.
Lisätietoja on luvussa "When to use which Version?" RAxML-käsikirjassa.
Esimerkkieräajoskriptit
#!/bin/bash
#SBATCH --account=<project>
#SBATCH --job-name=raxml_threads
#SBATCH --partition=small
#SBATCH --time=10:00:00
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=4
#SBATCH --mem=8G
module load bio-apps/v202603
module load raxml/8.2.12
raxmlHPC-PTHREADS -T $SLURM_CPUS_PER_TASK -s alg -m GTRGAMMA -p 12345 -n test1
#!/bin/bash
#SBATCH --account=<project>
#SBATCH --job-name=raxml_mpi
#SBATCH --partition=small
#SBATCH --time=10:00:00
#SBATCH --ntasks=100
#SBATCH --cpus-per-task=1
#SBATCH --mem-per-cpu=2G
module load bio-apps/v202603
module load raxml/8.2.12
srun raxmlHPC-MPI -N 100 -s cox1.phy -m GTRGAMMAI -p 12345 -n test2
Yllä oleva MPI-esimerkki ajaa 100 rinnakkaisprosessia yhden solmun small-osiolla. Suurempiin, usean solmun ajoihin voit käyttää large-osiota, joka edellyttää
suoritettua skaalautuvuustestiä.