MrBayes
MrBayes on ohjelma fylogenioiden bayesilaiseen päättelyyn.
Lisenssi
Vapaasti käytettävissä ja avointa lähdekoodia GNU GPLv3 -lisenssillä.
Saatavuus
- Roihu-CPU: 3.2.7a,
bio-apps-moduulin kautta. - Roihu-GPU: 3.2.8 (GPU-kiihdytetty BEAGLEn kautta),
bio-apps-moduulin kautta.
Käyttö
MrBayes on osa Roihun bio-apps -kokoelmaa. Roihu-CPU:ssa lataa ensin bio-apps-moduulipuu ja sitten MrBayes-moduuli:
Roihu-GPU:ssa lataa sen sijaan mrbayes/3.2.8; katso Ajaminen GPU:illa.
MrBayes käynnistetään komennolla mb. Sama MPI-tuettu binääri toimii sarjallisesti, kun se käynnistetään suoraan:
ja rinnakkaisesti, kun se käynnistetään srun-komennolla eräajossa. Rinnakkaisversiota käytettäessä on hyvä huomata, että MrBayes kohdistaa yhden ketjun yhdelle ytimelle, joten optimaalisen suorituskyvyn saavuttamiseksi kannattaa käyttää yhtä monta ydintä kuin työsi ketjujen kokonaismäärä. Jos olet esimerkiksi määrittänyt nchains=4, nruns=2, sinun tulisi käyttää 4 * 2 = 8 ydintä.
Eräajot
MrBayes-analyysin suorittaminen voi viedä huomattavan määrän CPU-aikaa ja muistia. Siksi on suositeltavaa ajaa se Roihun eräajo-järjestelmän kautta. Lyhyempiä testiajoja voi suorittaa interaktiivisessa tilassa käyttäen sinteractivea. Sarjaversiota suositellaan interaktiiviseen käyttöön.
Eräajon suorittamiseksi sinun tulee:
- Kirjoittaa MrBayes-komentotiedosto (tässä
mb_com.nex) tai sisällyttää MrBayes-komentolohko.nex-tiedostoosi. Lisätietoja on MrBayes-käyttöoppaan luvussa 5.5.1. - Kirjoittaa eräajokomentosarja (tässä
mb_batch) - Varmistaa, että kaikki syötetiedostosi ovat mukana (tässä
primates.nex) - Lähettää työsi jonoon
MrBayes-komentotiedoston tulee sisältää komennot, jotka kirjoittaisit MrBayesiin interaktiivisessa tilassa. Tämä esimerkki suorittaa analyysin, joka mainitaan MrBayes 3.2 -käyttöoppaan luvussa 2.
begin mrbayes;
set autoclose=yes nowarn=yes;
execute primates.nex;
lset nst=6 rates=invgamma;
mcmc nchains=4 nruns=2 ngen=20000 samplefreq=100 printfreq=100 diagnfreq=1000;
sump;
sumt;
end;
Alla on esimerkki Roihun eräajokomentosarjasta, jossa käytetään 8 ydintä. Käytämme 8 ydintä, koska esimerkissämme käytetään asetuksia nchains=4, nruns=2, joten 4 * 2 = 8.
#!/bin/bash
#SBATCH --account=<project>
#SBATCH --job-name=my_mrbjob
#SBATCH --error=my_mrbjob_err%j
#SBATCH --output=my_mrbjob_out%j
#SBATCH --partition=small
#SBATCH --time=01:00:00
#SBATCH --ntasks=8
#SBATCH --cpus-per-task=1
#SBATCH --mem-per-cpu=4000
module load bio-apps/v202603
module load mrbayes/3.2.7a
srun mb mb_com.nex >log.txt
Työn lähettäminen:
Katso eräajokomentosarjan luominen Roihulle, jos haluat lisätietoja eräajojen suorittamisesta.
Ajaminen GPU:illa
Roihun GPU-solmuilla (GH200) MrBayes 3.2.8 on käännetty
BEAGLE-kirjastolla CUDA-tuella, mikä
laskee uskottavuudet GPU:lla. Kirjaudu sisään osoitteeseen roihu-gpu.csc.fi ja lataa moduulit
siellä saadaksesi GPU-version:
GPU:n käyttämiseksi lisää tämä rivi MrBayes-lohkosi alkuun ennen execute-komentoa:
BEAGLE voi laskea yksittäis- tai kaksinkertaisella tarkkuudella. Jos haluat käyttää kaksinkertaista tarkkuutta, lisää
beagleprecision=double samalle riville:
Komento showbeagle listaa BEAGLE-resurssit, joita MrBayes voi käyttää, joten voit
tarkistaa, että GPU löytyy.
GPU nopeuttaa analyysiä pääasiassa suurilla kohdistuksilla, joissa on paljon yksilöllisiä sijaintikuvioita. Pienillä aineistoilla CPU-versio on yleensä yhtä nopea tai nopeampi.
Alla on esimerkki eräajokomentosarjasta, joka suorittaa saman 8 MPI-prosessia kuin CPU-esimerkki
yhdellä GPU:lla. Tässä mb_com_gpu.nex on yllä oleva komentotiedosto, johon on lisätty
rivi set usebeagle=yes beagledevice=gpu;. Kaikki MPI-prosessit jakavat
varatun GPU:n.
#!/bin/bash
#SBATCH --account=<project>
#SBATCH --job-name=my_mrbjob_gpu
#SBATCH --error=my_mrbjob_err%j
#SBATCH --output=my_mrbjob_out%j
#SBATCH --partition=gpumedium
#SBATCH --time=01:00:00
#SBATCH --ntasks=8
#SBATCH --cpus-per-task=1
#SBATCH --gres=gpu:gh200:1
module load bio-apps/v202603
module load mrbayes/3.2.8
srun mb mb_com_gpu.nex >log.txt
Katso GPU-osiot käytettävissä olevista GPU-resursseista.