• 5 min read

Genomanalyse in Galaxy mit Azure CycleCloud

Das Cloud Computing und die digitale Transformation kommen auch der Genomik zugute. Die Genomik entwickelt sich bis zum Jahr 2025 wahrscheinlich zu einem Big-Data-Gebiet im Exabase-Maßstab. Dadurch entstehen genau wie bei anderen großen Big-Data-Generatoren Herausforderungen im Hinblick auf die Datenerfassung und -speicherung. Azure CycleCloud ist einer der Azure-Dienste, der am meisten dazu beigetragen hat, dass wir eine High-Performance-Computing-Umgebung für unsere Genomanalysen verwenden können.

Das Cloud Computing und die digitale Transformation kommen auch der Genomik zugute. Die Genomik entwickelt sich bis zum Jahr 2025 wahrscheinlich zu einem Big-Data-Gebiet im Exabase-Maßstab. Dadurch entstehen genau wie bei anderen großen Big-Data-Generatoren Herausforderungen im Hinblick auf die Datenerfassung und -speicherung. Die digitale Transformation eröffnet praktisch unbegrenzte Möglichkeiten, um die Anforderungen im wissenschaftlichen Feld der Genomik in Forschungseinrichtungen und medizinischen Einrichtungen zu erfüllen. Die Entstehung cloudbasierter Computingplattformen wie Microsoft Azure hat den Weg für die Big-Data-Speicherung und -Analyse geebnet. Diese können nun online, skalierbar, kosteneffizient, sicher und gemeinsam nutzbar erfolgen. Immer mehr Forschende und Labore hosten ihre Big Data im Bereich der Genomik öffentlich oder privat in cloudbasierten Diensten.

Microsoft hat die Herausforderungen erkannt, vor denen Forschende bei der Genomik stehen, und arbeitet deshalb an einem auf Open-Source-Software und Microsoft-Produkten und -Diensten basierenden Ökosystem, das deren Arbeit erleichtert. Dabei konzentrieren wir uns auf drei Kernbereiche: Forschung mit und Erkenntnisse aus Genomdaten, Entwicklung einer Plattform für die schnelle, bedarfsgerechte Automatisierung und Analyse und Optimierung und Schutz von Pipelines auf klinischer Ebene. Azure CycleCloud ist einer der Azure-Dienste, der am meisten dazu beigetragen hat, dass wir eine High-Performance-Computing-Umgebung für unsere Genomanalysen verwenden können.

Galaxy und Azure CycleCloud

Galaxy ist eine Plattform für wissenschaftliche Workflows, Datenintegration und die Speicherung und Veröffentlichung von Datenanalysen. Sie soll die computergestützte Biologie für Forschende zugänglicher machen, die keine Erfahrung im Bereich der Programmierung oder Systemverwaltung haben. Sie wurde zwar ursprünglich für die Genomforschung entwickelt, ist jedoch nicht auf dieses Fachgebiet beschränkt. Mittlerweile wird sie als allgemeines Workflowverwaltungssystem in der Bioinformatik eingesetzt. Das Galaxy-System wird für eine zugängliche, reproduzierbare und transparente computergestützte Forschung eingesetzt.

  • Zugänglich: Es ist keine Programmiererfahrung nötig, um Daten hochzuladen, komplexe Tools und Workflows auszuführen und Ergebnisse zu visualisieren.
  • Reproduzierbar: Galaxy erfasst Informationen für Sie, sodass jede*r Benutzer*in die gesamte computergestützte Analyse reproduzieren und nachvollziehen kann – von den Toolparametern bis hin zur Abhängigkeitsstruktur.
  • Transparent: Benutzer*innen können Verläufe, Workflows und Visualisierungen über das Internet teilen und veröffentlichen.
  • Benutzerorientiert: Verschiedenste Benutzer*innen (Entwickler*innen, Lehrkräfte, Forschende, Mediziner*innen usw.) können ihre Ergebnisse teilen.

Azure CycleCloud ist ein unternehmensfreundliches Tool für die Orchestrierung und Verwaltung von HPC-Umgebungen (High Performance Computing) in Azure. Mit Azure CycleCloud können Benutzer*innen eine Infrastruktur für HPC-Systeme bereitstellen, vertraute HPC-Scheduler bereitstellen und die Infrastruktur automatisch skalieren, um Aufträge effizient und bedarfsgerecht ausführen zu können. Mit Azure CycleCloud können Benutzer*innen verschiedene Dateisysteme erstellen und diese in Computeclusterknoten einbinden, um HPC-Workloads zu unterstützen. Durch die dynamische Clusterskalierung kann das Unternehmen Ressourcen immer dann abrufen, wenn sie benötigt werden – und das zu einem fairen Preis. Dank der automatisierten Konfiguration von Azure CycleCloud kann sich Ihr IT-Team auf den Support für Geschäftsbenutzer*innen konzentrieren.

Galaxy mithilfe von Azure CycleCloud in Azure bereitstellen

Galaxy wird von den meisten akademischen Einrichtungen verwendet, die in der Genomforschung tätig sind. Die meisten dieser Einrichtungen möchten auf Galaxy nicht mehr verzichten, da das System verschiedene Tools für die Genomanalyse als SaaS-Plattform bereitstellt. Benutzer*innen können auch benutzerdefinierte Tools in Galaxy bereitstellen.

Galaxy-Benutzer*innen verwenden in der Regel die SaaS-Version von Galaxy als Teil von UseGalaxy-Ressourcen. UseGalaxy-Server implementieren ein gängiges Toolset und Referenzgenome, die von allen Benutzer*innen verwendet werden können. Alle Informationen zur Nutzung finden Sie unter Galaxy Platform Directory.

Manche Forschungseinrichtungen möchten Galaxy jedoch intern als lokale oder cloudbasierte Lösung bereitstellen. Im weiteren Verlauf dieses Artikels wird erläutert, wie Sie Galaxy mithilfe von Azure CycleCloud und Grid Engine-Clustern in Microsoft Azure bereitstellen und ausführen. Die Lösung wurde während des Microsoft-Hackathons (12. bis 14. Oktober 2021) entwickelt. Der Azure HPC-Experte Jerry Morey hat bei der Codeimplementierung geholfen. Das unten beschriebene Architekturmuster kann Organisationen bei der Bereitstellung von Galaxy in einer Azure-Umgebung mithilfe von CycleCloud und einem Scheduler ihrer Wahl nützlich sein.

Architekturdiagramm für Galaxy in Azure mithilfe von Azure CycleCloud und einem Grid Engine-Cluster

Genomdaten sollten zuvor in einer Cloud oder lokal gespeichert werden. Azure CycleCloud muss wie in der Dokumentation Installieren von CycleCloud mit dem Marketplace-Image beschrieben bereitgestellt werden.

Die vollständig von Galaxy in der Cloud unterstützte Clusterbereitstellung wird als vereinheitlichte Methode bezeichnet. Bei dieser Methode ist die Kopie von Galaxy auf dem Anwendungsserver mit der Kopie auf den Clusterknoten identisch. Meistens wird Galaxy hierfür in einem Network File System (NFS) bereitgestellt, auf das der Anwendungsserver und die Clusterknoten zugreifen können. Das ist die gängigste Bereitstellungsmethode für Galaxy.

Ein*e Administratorbenutzer*in kann eine SSH-Verbindung mit virtuellen Azure CycleCloud-Computern oder virtuellen Galaxy-Servercomputern herstellen, um Verwaltungsaktivitäten durchzuführen. In der Produktion wird empfohlen, den SSH-Port zu schließen. Sobald der Galaxy-Server auf einem Knoten ausgeführt wird, können Endbenutzer*innen (Forschende) das Portal auf ihrem Endgerät laden, um Analyseaufgaben wie das Laden von Daten, das Installieren und das Hochladen von Tools zu erledigen.

Der Zugriff auf Funktionen (z. B. das Installieren und Löschen von Tools oder die Verwendung von Analysetools) wird von den in der Datei „galaxy.yml“ definierten Parametern gesteuert, die sich auf dem Galaxy-Server befindet. Sobald ein*e Benutzer*in auf eine Funktion zugreift, erfolgt eine Konvertierung in Aufträge, die zur weiteren Ausführung an den Grid Engine-Cluster übermittelt werden.

Die Bereitstellung wird durch die verfügbaren Bereitstellungsskripts erleichtert. Diese Skripts können verwendet werden, um die neueste Version von Galaxy in Azure CycleCloud bereitzustellen.
So verwenden Sie die Bereitstellungsskripts:

  • Klonen Sie dieses Projekt mit „git clone“. Da sich das Projekt in der Entwicklung befindet, sollten Sie das neueste Release klonen.

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

  • Laden Sie das Projekt in CC locker hoch.

cd galaxy-gridengine

Bearbeiten Sie die Dateien bei Bedarf.

cyclecloud locker list

Laden Sie das Projekt in Azure Cycle Locker (az://mystorageaccount/cyclecloud) hoch.

cyclecloud project upload "Azure cycle Locker"

  • Importieren Sie die Clustervorlage in CC.

cyclecloud import_cluster <Clustername> -c <Galaxy-Ordnername> -f templates/gridengine-galaxy2.txt

HINWEIS: Ersetzen Sie <Clustername> durch den Namen Ihres Clusters (in Kleinbuchstaben und ohne Leerzeichen).

  • Navigieren Sie zum CC-Portal, um den Cluster zu konfigurieren und zu starten.

Warten Sie 30 bis 45 Minuten, bis der Galaxy-Server installiert ist.

Stellen Sie eine SSH-Verbindung mit dem Serverknoten her, und überprüfen Sie anhand der Datei „galaxy.log“ im Verzeichnis /shared/home/<Galaxy-Ordnername>, ob der Server ordnungsgemäß installiert wurde.

Ein führendes Universitätsklinikum in den USA hat diese Bereitstellung angewendet. Das Microsoft Industry Solutions-Team hat an der Bereitstellung dieser Lösung im Azure-Mandanten des Kunden mitgewirkt. Die Forschenden am Klinikum haben die Lösung getestet, um ihre Parität mit der vorhandenen Galaxy-Bereitstellung in einer lokalen HPC-Umgebung zu bewerten. Der mit Azure CycleCloud bereitgestellte Galaxy-Server konnte erfolgreich für die Auftragsorchestrierung getestet werden. Mehrere gängige Tools aus der Bioinformatik wie bedtools, FastQC, BCFtools, Picard und SnpEff wurden installiert und getestet. Galaxy unterstützt standardmäßig lokale Benutzer*innen. In diesem Rahmen wurde auch eine Lösung für die Integration der Active Directory-Instanz des Unternehmens getestet und bereitgestellt. Es wurde festgestellt, dass die Lösung gleichwertig mit der lokalen Bereitstellung ist. Trotz der gestiegenen Anzahl der Ausführungsknoten und der Größe der Knoten konnten Aufträge schneller ausgeführt werden.

Wenden Sie sich an eine*n Microsoft-Vertriebsmitarbeiter*in, wenn Sie weitere Informationen, Support oder Anleitungen zum Inhalt dieses Blogbeitrags benötigen.

Weitere Informationen

Weitere Informationen zu Microsoft Genomics-Lösungen