BEAST
Nesta seção:
Descrição
De acordo com a documentação do BEAST, BEAST (Bayesian Evolutionary Analysis Sampling Trees) é um programa multiplataforma para análise Bayesiana de sequências moleculares usando MCMC, focado em filogenias com datação por relógios moleculares.
Versões Disponíveis
beast/1.8.4
beast/1.10.4
beast/2.4.7 (default)
Submissão de Jobs com BEAST 1.x
#!/bin/bash
#SBATCH -J beast1
#SBATCH -N 1
#SBATCH -c 28
#SBATCH -t 5-00:00:00
#SBATCH --mem=32G
export INPUT="input.xml"
export OUTPUT="*.log *.ops *.trees"
module load beast/1.10.4
# Usando todas as threads disponíveis
job-nanny beast -beagle_instances $SLURM_CPUS_PER_TASK \
-threads $SLURM_CPUS_PER_TASK \
-beagle_multipartition on input.xml
Submissão de Jobs com BEAST 2
#!/bin/bash
#SBATCH -J beast2
#SBATCH -N 1
#SBATCH -c 8
#SBATCH -t 7-00:00:00
#SBATCH --mem=64G
export INPUT="input.xml"
export OUTPUT="*.log *.ops *.trees"
module load beast/2.4.7
# BEAST 2 usa Java
job-nanny java -jar $BEAST_DIR/lib/beast.jar -threads $SLURM_CPUS_PER_TASK input.xml
Submissão de Jobs com BEAGLE (aceleração)
O BEAGLE é uma biblioteca para aceleração de cálculos filogenéticos, disponível nas versões recentes do BEAST.
#!/bin/bash
#SBATCH -J beast_beagle
#SBATCH -N 1
#SBATCH -c 28
#SBATCH -t 5-00:00:00
#SBATCH --mem=32G
export INPUT="input.xml"
export OUTPUT="*.log *.ops *.trees"
module load beast/1.10.4
job-nanny beast -beagle -beagle_GPU -beagle_instances $SLURM_CPUS_PER_TASK \
-threads $SLURM_CPUS_PER_TASK -beagle_multipartition on input.xml
Job Array para Múltiplas Execuções
Para realizar múltiplas execuções independentes (por exemplo, para verificar convergência):
#!/bin/bash
#SBATCH -J beast_array
#SBATCH --array=1-10
#SBATCH -N 1
#SBATCH -c 8
#SBATCH -t 5-00:00:00
#SBATCH --mem=32G
#SBATCH --output=beast_%A_%a.out
export INPUT="input.xml"
export OUTPUT="run_${SLURM_ARRAY_TASK_ID}/"
module load beast/2.4.7
# Criar diretório para esta execução
mkdir -p run_${SLURM_ARRAY_TASK_ID}
cp input.xml run_${SLURM_ARRAY_TASK_ID}/
cd run_${SLURM_ARRAY_TASK_ID}
job-nanny java -jar $BEAST_DIR/lib/beast.jar -seed $SLURM_ARRAY_TASK_ID input.xml
Arquivo de Exemplo (XML)
<?xml version="1.0" encoding="UTF-8"?>
<beast>
<taxa id="taxa">
<taxon id="seq1"/>
<taxon id="seq2"/>
<taxon id="seq3"/>
</taxa>
<alignment id="alignment" dataType="nucleotide">
<sequence>
<taxon idref="seq1"/>
ATCGATCGATCG...
</sequence>
<!-- mais sequências -->
</alignment>
<run id="mcmc" chainLength="10000000">
<state>
<tree name="tree" id="tree"/>
<parameter name="kappa" id="kappa" value="2.0"/>
</state>
<distribution id="posterior">
<distribution id="likelihood" spec="TreeLikelihood">
<data idref="alignment"/>
<tree idref="tree"/>
<siteModel id="siteModel">
<substModel id="substModel" spec="HKY">
<kappa idref="kappa"/>
</substModel>
</siteModel>
</distribution>
</distribution>
<operator id="kappaScaler" spec="ScaleOperator" scaleFactor="0.5" weight="1">
<parameter idref="kappa"/>
</operator>
<logger id="tracelog" fileName="output.log">
<log idref="kappa"/>
<log idref="posterior"/>
</logger>
</run>
</beast>
Ferramentas de Análise
O pacote BEAST inclui ferramentas para análise dos resultados:
# Tracer - análise de convergência
tracer output.log
# TreeAnnotator - resumo de árvores
treeannotator -heights mean -burnin 1000 trees.tree annotated.tree
# LogCombiner - combinar múltiplas execuções
logcombiner -burnin 1000 -log output1.log -log output2.log -o combined.log
Referências
Documentação BEAST: http://beast.community/
Tutoriais: http://beast.community/tutorials
Ver também
RAxML - Alternativa de máxima verossimilhança
ExaBayes - Alternativa Bayesiana
Processando Simulações - Como submeter jobs