Omitir navegación

Análisis genómico en Galaxy con Azure CycleCloud

Publicado el 7 febrero, 2022

Digital Advisor, Microsoft Industry Solutions

La informática en la nube y la transformación digital han sido dos importantes impulsores de la genómica. Se prevé que, para 2025, la genómica será un dominio de macrodatos de escala exa, lo que plantea dificultades en cuanto a la adquisición y el almacenamiento de los datos, a la par que otros importantes generadores de macrodatos. La adopción de la transformación digital ofrece una capacidad prácticamente ilimitada de satisfacer la demanda de la genómica, tanto en los centros de investigación como en los centros médicos. La aparición de plataformas informáticas basadas en la nube, como Microsoft Azure, ha allanado el camino hacia la persistencia y el análisis de macrodatos en línea, escalables, rentables, seguros y compartibles con un número cada vez mayor de investigadores y laboratorios que hospedan (de forma pública y privada) sus macrodatos genómicos en servicios basados en la nube.

En Microsoft, somos conscientes de las dificultades a las que se enfrenta la comunidad genómica y estamos trabajando para crear un ecosistema (con el respaldo del software de código abierto y los productos y servicios de Microsoft) que pueda facilitar el trabajo genómico para todos. Hemos centrado nuestros esfuerzos en tres áreas principales: investigación y detección de datos genómicos, creación de una plataforma que permita la automatización y el análisis rápidos a gran escala, y canalizaciones optimizadas y seguras a nivel clínico. Uno de los servicios principales de Azure que nos ha permitido aprovechar un entorno de proceso de alto rendimiento para realizar análisis genómicos es Azure CycleCloud.

Galaxy y Azure CycleCloud

Galaxy es una plataforma de flujos de trabajo científicos, integración de datos y persistencia y publicación de análisis de datos que tiene como objetivo hacer que la biología computacional esté accesible para los científicos de investigación que no tienen experiencia en programación ni en la administración de sistemas. Aunque inicialmente se desarrolló para la investigación genómica, es en gran medida independiente del dominio y ahora se usa como un sistema general de administración de flujos de trabajo bioinformáticos. El sistema Galaxy se usa para hacer posible una investigación computacional accesible, reproducible y transparente.

  • Accesible: no se requiere experiencia en programación para cargar datos, ejecutar herramientas y flujos de trabajo complejos y visualizar resultados con facilidad.
  • Reproducible: Galaxy se ocupa de capturar la información y cualquier usuario puede repetir y comprender un análisis computacional completo, desde parámetros de herramienta hasta el árbol de dependencias.
  • Transparente: los usuarios comparten y publican sus experiencias, flujos de trabajo y visualizaciones a través de la Web.
  • Centrado en la comunidad: los usuarios inclusivos y diversos (desarrolladores, educadores, investigadores, profesionales clínicos, etc.) pueden compartir sus hallazgos.

Azure CycleCloud es una herramienta que permite a las empresas organizar y administrar entornos de informática de alto rendimiento (HPC) en Azure. Con Azure CycleCloud, los usuarios pueden aprovisionar infraestructura para sistemas HPC, implementar programadores HPC conocidos y escalar automáticamente la infraestructura para ejecutar trabajos de manera eficaz a cualquier escala. Azure CycleCloud permite a los usuarios crear diferentes tipos de sistemas de archivos y montarlos en los nodos del clúster de proceso para sustentar cargas de trabajo HPC. Con el escalado dinámico de clústeres, una empresa puede obtener los recursos que necesita en el momento oportuno y al precio adecuado. La configuración automatizada de Azure CycleCloud permite que el equipo de TI se centre en dar servicio a los usuarios de la empresa.

Implementación de Galaxy en Azure con Azure CycleCloud

La mayoría de los centros académicos donde se realizan investigaciones genómicas utilizan Galaxy. La mayor parte de los centros que ya usan Galaxy quieren seguir usándolo porque proporciona varias herramientas para análisis genómicos en forma de plataforma SaaS. Los usuarios también pueden implementar herramientas personalizadas en Galaxy.

Generalmente, los usuarios utilizan la versión SaaS de Galaxy como parte de los recursos UseGalaxy. Los servidores UseGalaxy implementan un conjunto básico común de herramientas y genomas de referencia, y están abiertos para que los use cualquier persona. Toda la información sobre su uso está disponible en el directorio de plataformas de Galaxy.

Sin embargo, hay algunos centros de investigación que prefieren implementar Galaxy como una solución en el entorno local o basada en la nube. En el resto de este artículo, se explica cómo implementar y ejecutar Galaxy en Microsoft Azure usando Azure CycleCloud y un clúster de motor de cuadrícula. La solución se creó durante el hackatón de Microsoft que tuvo lugar del 12 al 14 de octubre de 2021, con la ayuda de Jerry Morey, especialista en HPC de Azure, para la implementación del código. El patrón arquitectónico que se describe a continuación puede ayudar a las organizaciones a implementar Galaxy en un entorno de Azure usando CycleCloud y el programador que elijan.

Diagrama de la arquitectura de Galaxy en Azure con Azure CycleCloud y un clúster de motor de cuadrícula.

Como requisito previo, los datos genómicos deben estar disponibles en una ubicación de almacenamiento, ya sea en la nube o en el entorno local. Azure CycleCloud debe implementarse siguiendo los pasos que se indican en el tutorial de inicio rápido “Instalación de CycleCloud con la imagen de Marketplace”.

La implementación de clústeres que es realmente compatible con Galaxy en la nube se denomina método unificado. En este método, la copia de Galaxy en el servidor de aplicaciones es la misma que hay en los nodos del clúster. La forma más habitual para hacer esto es poner Galaxy en un sistema de archivos de red (NFS), en algún lugar al que tengan acceso el servidor de aplicaciones y los nodos del clúster. Este es el método de implementación más común para Galaxy.

Un usuario administrador puede conectarse mediante SSH a las máquinas virtuales de Azure CycleCloud o del servidor Galaxy para realizar tareas de administración. En producción, se recomienda cerrar el puerto SSH. Una vez que el servidor Galaxy se está ejecutando en un nodo, los usuarios finales (investigadores) pueden cargar el portal en su dispositivo final para realizar tareas de análisis, incluidas la carga de datos, la instalación y la carga de herramientas, etc.

El acceso a características (como la instalación y eliminación de herramientas frente al uso de herramientas para análisis) se controla mediante parámetros definidos en el archivo galaxy.yml, que se encuentra en el servidor Galaxy. Cuando un usuario accede a una característica, se convierte en un trabajo que se envía al clúster del motor de cuadrícula para continuar su ejecución.

Hay scripts de implementación disponibles para facilitar la implementación. Estos scripts se pueden usar para implementar la versión más reciente de Galaxy en Azure CycleCloud.
A continuación, se indican los pasos para usar los scripts de implementación:

  • Clonar este proyecto en Git (el proyecto está en desarrollo activo, por lo que se recomienda clonar la versión más reciente).

git clone –b release_21.09 https://github.com/themorey/galaxy-gridengine.git

  • Cargar el proyecto en el bloqueador de CC.

cd galaxy-gridengine

Modificar los archivos (si es necesario)

cyclecloud locker list

Azure cycle Locker (az://mystorageaccount/cyclecloud)

cyclecloud project upload "Azure cycle Locker"

  • Importar la plantilla de clúster en CC.

cyclecloud import_cluster <nombre-del-clúster> -c <nombre-de-la-carpeta-de-galaxy> -f templates/gridengine-galaxy2.txt

NOTA: Sustituya <nombre-del-clúster> por un nombre para el clúster, todo en minúsculas y sin espacios.

  • Vaya al portal de CC para configurar e iniciar el clúster.

Espere de 30 a 45 minutos a que se instale el servidor Galaxy.

Para comprobar si el servidor se ha instalado correctamente, conéctese mediante SSH al nodo del servidor Galaxy y compruebe el archivo galaxy.log en el directorio /shared/home/<carpeta-de-galaxy>.

Un reconocido hospital clínico de Estados Unidos adoptó esta implementación. El equipo de soluciones para la industria de Microsoft ha ayudado a implementar esta solución en el inquilino de Azure del cliente. Los investigadores del centro probaron esta solución para evaluar su paridad con la implementación que tenían de Galaxy en su entorno HPC local. Pudieron probar satisfactoriamente el servidor Galaxy implementado que usaba Azure CycleCloud para la orquestación de trabajos. Se instalaron y probaron varias herramientas bioinformáticas comunes, como bedtools, fastqc, bcftools,picard y snpeff. Galaxy admite el usuario local de forma predeterminada. Como parte de esta interacción, se probó e implementó una solución para integrar su directorio de Active Directory corporativo. Se vio que la solución estaba a la par con su implementación en el entorno local. Al disponer de un mayor número de nodos de ejecución con un tamaño superior, vieron que los trabajos se ejecutaron en menos tiempo.

Para obtener más información, soporte técnico o indicaciones en relación con el contenido de esta entrada de blog, puede ponerse en contacto con el representante de ventas local de Microsoft.

Más información

Obtenga más información sobre las soluciones de Microsoft Genomics.