Sign inSign up
beast2 logo

ccervantess/beast2

By ccervantess

•Updated 5 months ago

Contenedor Docker/Apptainer con BEAST2 para inferencia filogenética y evolución molecular.

Image
Data science
0

80

ccervantess/beast2 repository overview

⁠BEAST2 en Docker/Apptainer

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.

⁠Versiones disponibles

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.

⁠Programas incluidos

Dependiendo de la versión de la imagen, se incluyen las herramientas principales de BEAST2:

  • beast
  • beauti
  • treeannotator
  • logcombiner
  • loganalyser
  • packagemanager

⁠Uso con Docker

Verificar 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

⁠Uso con Apptainer

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>

⁠Instalación de paquetes adicionales de BEAST2

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 packagemanager se perderán al terminar la ejecución del contenedor.

⁠Notas sobre versiones

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

⁠Ejemplo de verificación

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

⁠Reproducibilidad

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.

⁠Mantenedor

Cristian Cervantes
Unidad de Síntesis en Sistemática y Evolución
Instituto de Biología
Universidad Nacional Autónoma de México

⁠Licencia

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.

Tag summary

Content type

Image

Digest

sha256:b5a779a0e…

Size

271 MB

Last updated

5 months ago

docker pull ccervantess/beast2:2.7.8