RAxML
Nesta seção:
Descrição
De acordo com a página do RAxML, RAxML (Randomized Axelerated Maximum Likelihood) é um programa popular para análises filogenéticas de grandes conjuntos de dados sob máxima verossimilhança.
Versões Disponíveis
raxml/8.2.11 (default)
Carregando o Módulo
# Carregar RAxML
module load raxml/8.2.11
# Verificar executáveis disponíveis
ls $RAXML_DIR
Submissão de Jobs Seriais
#!/bin/bash
#SBATCH -J raxml_serial
#SBATCH -N 1
#SBATCH -c 8
#SBATCH -t 24:00:00
#SBATCH --mem=16G
export INPUT="alignment.phy"
export OUTPUT="RAxML_*"
module load raxml/8.2.11
job-nanny raxmlHPC-PTHREADS-SSE3 -T $SLURM_CPUS_PER_TASK \
-p 12345 -m PROTGAMMAWAG -s alignment.phy \
-n raxml_output -# 100
Submissão de Jobs MPI
#!/bin/bash
#SBATCH -J raxml_mpi
#SBATCH -N 2
#SBATCH --ntasks-per-node=28
#SBATCH -t 48:00:00
#SBATCH --mem-per-cpu=2G
export INPUT="alignment.phy"
export OUTPUT="RAxML_*"
module load raxml/8.2.11
job-nanny srun -n $SLURM_NTASKS raxmlHPC-MPI-SSE3 \
-p 12345 -m PROTGAMMAWAG -s alignment.phy \
-n raxml_mpi -# 100
Submissão de Jobs com Bootstrap
#!/bin/bash
#SBATCH -J raxml_boot
#SBATCH -N 2
#SBATCH --ntasks-per-node=28
#SBATCH -t 72:00:00
#SBATCH --mem-per-cpu=2G
export INPUT="alignment.phy"
export OUTPUT="RAxML_*"
module load raxml/8.2.11
# Passo 1: Busca pela melhor árvore
job-nanny srun -n $SLURM_NTASKS raxmlHPC-MPI-SSE3 \
-p 12345 -m PROTGAMMAWAG -s alignment.phy \
-n best_tree -# 20
# Passo 2: Bootstrap
job-nanny srun -n $SLURM_NTASKS raxmlHPC-MPI-SSE3 \
-p 12345 -b 12345 -m PROTGAMMAWAG -s alignment.phy \
-n bootstrap -# 100
# Passo 3: Árvore de consenso
job-nanny raxmlHPC-SSE3 -m PROTGAMMAWAG -J MR -z RAxML_bootstrap.bootstrap \
-n consense_tree
Exemplo de Arquivo de Entrada (PHYLIP)
4 100
Taxa1 ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG...
Taxa2 ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG...
Taxa3 ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG...
Taxa4 ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG...
Principais Opções
Opção |
Descrição |
|---|---|
|
Arquivo de alinhamento |
|
Nome da execução (sufixo dos arquivos de saída) |
|
Modelo de evolução (PROTGAMMAWAG, GTRGAMMA, etc.) |
|
Semente aleatória para parcimônia |
|
Semente aleatória para bootstrap |
|
Número de buscas/replicatas |
|
Número de threads (versão PTHREADS) |
|
Busca rápida de bootstrap e melhor árvore |
|
Desenhar bipartições na árvore |
|
Calcular árvore de consenso |
|
Semente para rapid bootstrap |
Análise Rápida com Bootstrap
#!/bin/bash
#SBATCH -J raxml_fast
#SBATCH -N 2
#SBATCH --ntasks-per-node=28
#SBATCH -t 48:00:00
#SBATCH --mem-per-cpu=2G
export INPUT="alignment.phy"
export OUTPUT="RAxML_*"
module load raxml/8.2.11
# Opção -f a: análise completa com bootstrap
job-nanny srun -n $SLURM_NTASKS raxmlHPC-MPI-SSE3 \
-f a -x 12345 -p 12345 -# 100 \
-m PROTGAMMAWAG -s alignment.phy \
-n complete_analysis
Job Array para Múltiplos Genes
#!/bin/bash
#SBATCH -J raxml_array
#SBATCH --array=1-10
#SBATCH -N 1
#SBATCH -c 8
#SBATCH -t 24:00:00
#SBATCH --mem=16G
GENES=(
"gene1.phy"
"gene2.phy"
"gene3.phy"
"gene4.phy"
"gene5.phy"
"gene6.phy"
"gene7.phy"
"gene8.phy"
"gene9.phy"
"gene10.phy"
)
GENE=${GENES[$SLURM_ARRAY_TASK_ID-1]}
export INPUT="$GENE"
export OUTPUT="raxml_${GENE%.phy}/"
module load raxml/8.2.11
mkdir -p raxml_${GENE%.phy}
cd raxml_${GENE%.phy}
cp ../$GENE .
job-nanny raxmlHPC-PTHREADS-SSE3 -T $SLURM_CPUS_PER_TASK \
-p 12345 -m PROTGAMMAWAG -s $GENE \
-n ${GENE%.phy} -# 100
Análise de Resultados
#!/bin/bash
#SBATCH -J analyze_raxml
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 01:00:00
#SBATCH --mem=2G
# Extrair likelihood final
grep "Final GAMMA" RAxML_*.out | awk '{print $6}' > likelihoods.txt
# Extrair suporte de bootstrap
grep "bootstrap" RAxML_bipartitions.* > bootstrap_support.txt
# Converter para Newick (já está no formato)
cat RAxML_bestTree.* > best_trees.nwk
# Gerar estatísticas
echo "Estatísticas das análises:" > stats.txt
echo "==========================" >> stats.txt
for tree in RAxML_bestTree.*; do
echo "Arquivo: $tree" >> stats.txt
echo "Comprimento:" $(grep -o ")" $tree | wc -l) "ramos" >> stats.txt
echo "" >> stats.txt
done
Referências
Documentação: https://cme.h-its.org/exelixis/web/software/raxml/
Manual: https://cme.h-its.org/exelixis/resource/download/NewManual.pdf
Tutorial: https://cme.h-its.org/exelixis/web/software/raxml/hands_on.html
Ver também
RAxML-NG - Versão mais recente
BEAST - Análise Bayesiana
ExaBayes - Alternativa Bayesiana
Processando Simulações - Como submeter jobs