Passer la navigation

Analyse génomique sur Galaxy à l’aide d’Azure CycleCloud

Publié le 7 février, 2022

Digital Advisor, Microsoft Industry Solutions

Le cloud computing et la transformation numérique ont été des moteurs puissants pour la génomique. La génomique est censée représenter plusieurs exabytes de données Big Data d’ici 2025, ce qui pose des défis en matière d’acquisition et de stockage des données avec d’autres générateurs principaux de Big Data. L’adoption de la transformation numérique offre une capacité pratiquement illimitée pour répondre aux demandes de la génomique à la fois dans les établissements de recherche et les établissements médicaux. L’émergence de plateformes de calcul basées sur le cloud, telles que Microsoft Azure, a ouvert la voie à une analyse et une persistance Big Data en ligne, scalables, sécurisées, rentables et partageables, avec un nombre croissant de chercheurs et de laboratoires hébergeant (publiquement et en privé) leurs données génomiques Big Data sur des services cloud.

Chez Microsoft, nous reconnaissons les défis auxquels la communauté génomique est confrontée et nous nous efforçons de créer un écosystème (soutenu par l’open source et les produits et services Microsoft) qui peut faciliter le travail en génomique pour tous. Nous avons concentré nos efforts sur trois principaux domaines de base : la recherche et la découverte en données génomiques, la création d’une plateforme pour permettre une automatisation et une analyse rapides à grande échelle, ainsi que des pipelines optimisés et sécurisés à un niveau clinique. L’un des principaux services Azure qui nous a permis de tirer parti de l’environnement de calcul hautes performances pour effectuer une analyse génomique est Azure CycleCloud.

Galaxy et Azure CycleCloud

Galaxy est une plateforme de publication et de persistance d’analyse de données, d’intégration de données et de workflow scientifique qui vise à rendre la biologie de calcul accessible aux chercheurs qui ne disposent pas d’expérience en programmation informatique ou en administration de systèmes. Bien qu’elle ait été initialement développée pour la recherche génomique, elle est en grande partie indépendante d’un domaine et est maintenant utilisée comme système de gestion de workflow général en bioinformatique. Le système Galaxy est utilisé pour offrir des recherches de calcul accessibles, reproductibles et transparentes.

  • Accessible : Aucune expérience de programmation n’est nécessaire pour charger facilement des données, exécuter des outils et des workflows complexes et visualiser les résultats.
  • Reproductible : Galaxy capture des informations afin que vous n’ayez pas à le faire. Tout utilisateur peut répéter et comprendre une analyse de calcul complète, allant des paramètres d’outil à l’arborescence des dépendances.
  • Transparent : Les utilisateurs partagent et publient leurs historiques, workflows et visualisations via le web.
  • Orienté communauté : Les utilisateurs inclusifs et diversifiés (développeurs, enseignants, chercheurs, cliniciens, etc.) sont encouragés à partager leurs découvertes.

Azure CycleCloud est un outil adapté aux entreprises pour l’orchestration et la gestion des environnements HPC (High Performance Computing, calcul haute performance) sur Azure. Avec Azure CycleCloud, les utilisateurs peuvent provisionner l’infrastructure pour les systèmes HPC, déployer des planificateurs HPC familiers et mettre à l’échelle automatiquement l’infrastructure pour exécuter les travaux efficacement à n’importe quelle échelle. Grâce à Azure CycleCloud, les utilisateurs peuvent créer différents types de systèmes de fichiers et les monter sur les nœuds de cluster de calcul pour prendre en charge les charges de travail HPC. Avec la mise à l’échelle dynamique des clusters, l’entreprise peut acquérir les ressources dont elle a besoin au bon moment et au bon prix. La configuration automatisée Azure CycleCloud permet au service informatique de se concentrer sur la fourniture de services aux utilisateurs professionnels.

Déploiement de Galaxy sur Azure à l’aide d’Azure CycleCloud

Galaxy est utilisé par la plupart des établissements universitaires qui étudient la génomique. La plupart des établissements qui utilisent déjà Galaxy souhaitent s’y tenir, car Galaxy fournit plusieurs outils pour l’analyse génomique en tant que plateforme SaaS. Les utilisateurs peuvent également déployer des outils personnalisés sur Galaxy.

Les utilisateurs de Galaxy utilisent généralement la version SaaS de Galaxy dans le cadre des ressources UseGalaxy. Les serveurs UseGalaxy implémentent un ensemble d’outils et de génomes de référence courants et tout le monde peut les utiliser. Toutes les informations sur son utilisation sont disponibles dans l’annuaire de la plateforme Galaxy.

Toutefois, il existe des établissements de recherche qui envisagent de déployer la solution Galaxy en interne sous la forme d’une solution sur site ou d’une solution cloud. Le reste de cet article décrit comment déployer et exécuter Galaxy sur Microsoft Azure à l’aide d’Azure CycleCloud et d’un cluster de moteur de grille. La solution a été créée pendant le hackathon Microsoft (qui a eu lieu du 12 au 14 octobre 2021) avec l’assistance en implémentation de code par Jerry Morey, spécialiste Azure HPC. Le modèle architectural décrit ci-dessous peut aider les organisations à déployer Galaxy dans un environnement Azure à l’aide de CycleCloud et d’un planificateur de leur choix.

Diagramme d’architecture pour Galaxy sur Azure à l’aide d’Azure CycleCloud avec cluster de moteur de grille.

En tant que prérequis, les données génomiques doivent être disponibles dans un emplacement de stockage, que ce soit sur le cloud ou localement. Azure CycleCloud doit être déployé à l’aide des étapes décrites dans la documentation « Installer CycleCloud à l’aide de l’image de la Place de marché ».

Le déploiement de cluster qui est réellement pris en charge par Galaxy sur le cloud est appelé la méthode unifiée. Dans cette méthode, la copie de Galaxy sur le serveur d’applications est la même que celle sur les nœuds du cluster. La méthode la plus courante consiste à placer Galaxy dans un fichier NFS (Network File System), accessible par le serveur d’applications et les nœuds du cluster. Il s’agit de la méthode de déploiement la plus courante pour Galaxy.

Un utilisateur administrateur peut utiliser le protocole SSH pour les machines virtuelles Azure CycleCloud ou les machines virtuelles du serveur Galaxy pour effectuer des activités liées à l’administration. Il est recommandé de fermer le port SSH en production. Une fois que le serveur Galaxy est exécuté sur un nœud, les utilisateurs finaux (chercheurs) peuvent charger le portail sur leur appareil final pour effectuer des tâches d’analyse qui incluent le chargement de données, l’installation, le chargement d’outils, etc.

L’accès aux fonctionnalités (installation/suppression d’outils et utilisation d’outils pour analyse) est contrôlé par les paramètres définis dans le fichier galaxy.yml qui réside dans le serveur Galaxy. Une fois qu’un utilisateur accède à une fonctionnalité, ils sont convertis en travaux qui sont soumis au cluster du moteur de grille pour une exécution ultérieure.

Des scripts de déploiement sont disponibles pour faciliter le déploiement. Ces scripts peuvent être utilisés pour déployer la dernière version de Galaxy sur Azure CycleCloud.
Pour utiliser les scripts de déploiement, procédez comme suit :

  • Clonez ce projet sur Git (comme le projet est en cours de développement, le clonage de la dernière version est recommandé).

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

  • Chargez le projet dans le verrou CC.

cd galaxy-gridengine

Modifiez les fichiers (si nécessaire).

liste de stockages sécurisés cyclecloud

Azure cycle Locker (az://mystorageaccount/cyclecloud

Chargement du projet cyclecloud "Azure cycle Locker"

  • Importez le modèle de cluster dans CC.

cyclecloud import_cluster <cluster-name> -c <galaxy-folder-name> -f templates/gridengine-galaxy2.txt

REMARQUE : Remplacez <cluster-name> par le nom de votre cluster (en minuscules, sans espace).

  • Accédez au portail CC pour configurer et démarrer le cluster.

Attendez 30 à 45 minutes que le serveur Galaxy soit installé.

Pour vérifier si le serveur est correctement installé, utilisez SSH dans le nœud du serveur Galaxy et vérifiez galaxy.log dans le répertoire /shared/home/<galaxy-folder-name>.

Ce déploiement a été adopté par un centre médical universitaire basé aux États-Unis. L’équipe de solutions sectorielles Microsoft a aidé à déployer cette solution sur le locataire Azure du client. Les chercheurs du centre ont effectué des tests pour évaluer la parité de cette solution avec le déploiement Galaxy existant sur leur environnement HPC local. Ils ont pu tester avec succès le serveur Galaxy déployé qui utilisait Azure CycleCloud pour l’orchestration des travaux. Plusieurs outils bioinformatiques courants tels que bedtools, fastqc, bcftools, picard et snpeff ont été installés et testés. Galaxy prend en charge l’utilisateur local par défaut. Dans le cadre de cet engagement, une solution pour intégrer leur annuaire Active Directory d’entreprise a été testée et déployée. La solution a été détectée comme étant au même niveau que leur déploiement local. Avec l’augmentation du nombre de nœuds d’exécution et la taille de ces nœuds, ils ont découvert que les travaux ont été exécutés en moins de temps.

Pour plus d’informations, de support ou de conseils relatifs au contenu de ce blog, nous vous recommandons de contacter votre représentant commercial Microsoft.

En savoir plus

En savoir plus sur les solutions Microsoft Genomics.