ExaBayes

Descrição

De acordo com a página do ExaBayes, ExaBayes é um pacote de software para inferência Bayesiana de árvores filogenéticas, particularmente adequado para análises em larga escala em clusters de computadores.

Versões Disponíveis

  • exabayes/1.5 (default)

Submissão de Jobs MPI

submit_exabayes_mpi.sh
#!/bin/bash
#SBATCH -J exabayes_mpi
#SBATCH -N 4
#SBATCH --ntasks-per-node=28
#SBATCH -t 20-00:00:00
#SBATCH --mem-per-cpu=2G

export INPUT="alignment.phy config.nex"
export OUTPUT="*.out *.log"

module load exabayes

job-nanny mpirun -np $SLURM_NTASKS exabayes -f alignment.phy \
                 -m PROT -c config.nex -n 321 -s 123 -M 3 -S

Submissão de Jobs Seriais

submit_exabayes_serial.sh
#!/bin/bash
#SBATCH -J exabayes_serial
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 20-00:00:00
#SBATCH --mem=8G

export INPUT="alignment.phy config.nex"
export OUTPUT="*.out *.log"

module load exabayes

job-nanny yggdrasil -f alignment.phy -m PROT -c config.nex \
                    -n 100 -s 123 -M 3 -S

Exemplo de Arquivo de Configuração

config.nex
#nexus
begin mrbayes;
   set autoclose=yes nowarn=yes;
   lset nst=6 rates=invgamma;
   mcmcp ngen=1000000 samplefreq=100 printfreq=100;
   mcmc;
   sumt;
end;

Arquivo de Alinhamento (PHYLIP)

alignment.phy
4 100
Seq1      ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG...
Seq2      ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG...
Seq3      ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG...
Seq4      ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG...

Opções Importantes

Opções do ExaBayes

Opção

Descrição

-f <arquivo>

Arquivo de alinhamento

-m <modelo>

Modelo de substituição (DNA, PROT, CODON)

-c <arquivo>

Arquivo de configuração

-n <seed>

Nome da execução (usado para arquivos de saída)

-s <seed>

Semente aleatória

-M <n>

Número de cadeias MCMC acopladas

-S

Ativar diagnóstico de convergência

Job Array para Múltiplas Execuções

submit_exabayes_array.sh
#!/bin/bash
#SBATCH -J exabayes_array
#SBATCH --array=1-5
#SBATCH -N 2
#SBATCH --ntasks-per-node=28
#SBATCH -t 20-00:00:00
#SBATCH --mem-per-cpu=2G

export INPUT="alignment.phy config.nex"
export OUTPUT="run_${SLURM_ARRAY_TASK_ID}/"

module load exabayes

SEEDS=(123 456 789 101112 131415)
SEED=${SEEDS[$SLURM_ARRAY_TASK_ID-1]}

mkdir -p run_${SLURM_ARRAY_TASK_ID}
cd run_${SLURM_ARRAY_TASK_ID}
cp ../alignment.phy .
cp ../config.nex .

job-nanny mpirun -np $SLURM_NTASKS exabayes -f alignment.phy \
                 -m PROT -c config.nex -n run_${SLURM_ARRAY_TASK_ID} \
                 -s $SEED -M 3 -S

Análise de Resultados

Após a execução, use as ferramentas do pacote ExaBayes:

# Consolidar amostras
cat *run_*.s* > all_samples

# Calcular burnin e consenso
consense -f all_samples -b 25

# Verificar convergência
tracecomp -x 1000 *run_*.s* > convergence.txt

Referências

Ver também