Contenedor Docker/Apptainer con BEAST2 para inferencia filogenética y evolución molecular.
80
Este repositorio contiene imágenes de contenedor para BEAST2, un programa multiplataforma para análisis filogenético bayesiano de secuencias moleculares. BEAST2 permite estimar filogenias enraizadas y fechadas usando modelos de reloj molecular estricto o relajado, además de probar hipótesis evolutivas mediante MCMC.
Las imágenes están pensadas para facilitar el uso de BEAST2 en servidores, estaciones de trabajo y ambientes HPC mediante Docker o Apptainer.
Cada etiqueta del repositorio corresponde a una versión específica de BEAST2 o de sus paquetes principales. Por ejemplo:
ccervantess/beast2:2.7.8
En futuras actualizaciones se podrán agregar otras etiquetas, por ejemplo:
ccervantess/beast2:2.7.7
ccervantess/beast2:2.7.8
ccervantess/beast2:latest
Se recomienda usar etiquetas específicas, como 2.7.8, para mantener la reproducibilidad de los análisis. La etiqueta latest, si está disponible, puede cambiar con el tiempo.
Dependiendo de la versión de la imagen, se incluyen las herramientas principales de BEAST2:
beastbeautitreeannotatorlogcombinerloganalyserpackagemanagerVerificar la versión instalada:
docker run --rm ccervantess/beast2:2.7.8 -version
Ejecutar un análisis con un archivo XML de BEAST:
docker run --rm \
-v "$PWD":/data \
-w /data \
ccervantess/beast2:2.7.8 \
-threads 16 analisis.xml
Para usar otra versión, cambia la etiqueta. Por ejemplo:
docker run --rm ccervantess/beast2:<version> -version
Descargar una imagen desde Docker Hub:
apptainer pull beast2_2.7.8.sif docker://ccervantess/beast2:2.7.8
Verificar la versión:
apptainer exec beast2_2.7.8.sif beast -version
Ejecutar un análisis:
apptainer exec beast2_2.7.8.sif beast -threads 16 analisis.xml
Para usar otra versión, cambia la etiqueta:
apptainer pull beast2_<version>.sif docker://ccervantess/beast2:<version>
Los paquetes adicionales de BEAST2 pueden instalarse con packagemanager. Esto permite agregar paquetes como BEASTLabs, bModelTest, ORC, SNAPP, StarBEAST2, entre otros.
Listar paquetes disponibles:
docker run --rm ccervantess/beast2:2.7.8 packagemanager -list
Instalar un paquete:
docker run --rm ccervantess/beast2:2.7.8 packagemanager -add BEASTLabs
Instalar una versión específica de un paquete:
docker run --rm ccervantess/beast2:2.7.8 packagemanager -add ORC -version 1.1.0
Para conservar paquetes instalados entre ejecuciones, monta un directorio persistente como HOME de BEAST:
mkdir -p beast2-2.7.8-home
docker run --rm \
-v "$PWD/beast2-2.7.8-home":/tmp/beast2-2.7.8-home-user \
ccervantess/beast2:2.7.8 \
packagemanager -add BEASTLabs
Después puedes ejecutar un análisis usando ese mismo directorio persistente:
docker run --rm \
-v "$PWD":/data \
-v "$PWD/beast2-2.7.8-home":/tmp/beast2-2.7.8-home-user \
-w /data \
ccervantess/beast2:2.7.8 \
-threads 16 analisis.xml
Con Apptainer, el equivalente sería:
mkdir -p beast2-2.7.8-home
apptainer exec \
--bind "$PWD/beast2-2.7.8-home:/tmp/beast2-2.7.8-home-${USER}" \
beast2_2.7.8.sif \
packagemanager -add BEASTLabs
Y para correr un análisis usando ese paquete instalado:
apptainer exec \
--bind "$PWD/beast2-2.7.8-home:/tmp/beast2-2.7.8-home-${USER}" \
beast2_2.7.8.sif \
beast -threads 16 analisis.xml
Nota: si no montas un directorio persistente, los paquetes instalados con
packagemanagerse perderán al terminar la ejecución del contenedor.
Algunas versiones de BEAST2 pueden distribuirse como instaladores completos, mientras que otras pueden corresponder a actualizaciones de paquetes. Por ello, la salida de beast -version puede mostrar una versión del lanzador distinta a la versión de los paquetes activos.
Por ejemplo, para la imagen 2.7.8, la salida esperada es:
BEAST v2.7.7
---
BEAST.base v2.7.8
BEAST.app v2.7.8
---
Java version 17.0.3
En este caso, el instalador base corresponde a BEAST2 2.7.7, pero los paquetes activos fueron actualizados a:
BEAST.base v2.7.8
BEAST.app v2.7.8
docker run --rm ccervantess/beast2:2.7.8 -version
También se puede verificar una imagen de Apptainer descargada desde Docker Hub:
apptainer exec beast2_2.7.8.sif beast -version
Para análisis reproducibles se recomienda indicar explícitamente la etiqueta usada, por ejemplo:
ccervantess/beast2:2.7.8
y evitar depender exclusivamente de latest.
Cristian Cervantes
Unidad de Síntesis en Sistemática y Evolución
Instituto de Biología
Universidad Nacional Autónoma de México
Este contenedor integra software de terceros. Cada programa y paquete conserva su propia licencia. Se recomienda revisar las licencias individuales de Julia, PhyloNetworks, SNaQ, PhyloPlots, Plots, GR, RCall, CairoMakie y R antes de su redistribución o uso en producción.
Content type
Image
Digest
sha256:b5a779a0e…
Size
271 MB
Last updated
5 months ago
docker pull ccervantess/beast2:2.7.8