Hyppää sisältöön

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:

module load bio-apps/v202603
module load mrbayes/3.2.7a

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:

mb

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:

  1. 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.
  2. Kirjoittaa eräajokomentosarja (tässä mb_batch)
  3. Varmistaa, että kaikki syötetiedostosi ovat mukana (tässä primates.nex)
  4. 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:

sbatch mb_batch

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:

module load bio-apps/v202603
module load mrbayes/3.2.8

GPU:n käyttämiseksi lisää tämä rivi MrBayes-lohkosi alkuun ennen execute-komentoa:

set usebeagle=yes beagledevice=gpu;

BEAGLE voi laskea yksittäis- tai kaksinkertaisella tarkkuudella. Jos haluat käyttää kaksinkertaista tarkkuutta, lisää beagleprecision=double samalle riville:

set usebeagle=yes beagledevice=gpu beagleprecision=double;

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.

Tuki

CSC:n asiakastuki

Lisätietoja

Onko tämä sivu hyödyllinen?
Kiitos palautteestasi!
Kiitos! Arvostamme palautettasi.

Kerro meille miten voisimme parantaa tätä sivua ottamalla meihin yhteyttä .