Übersicht
Cloud Life Sciences ist eine Suite von Diensten und Tools zur Verwaltung, Verarbeitung und Transformation von Biowissenschaftsdaten. Mit ihrer hochgradig skalierbaren und konformen Infrastruktur ermöglicht sie darüber hinaus erweiterte Einblicke und operative Workflows. Cloud Life Sciences umfasst Features wie die Cloud Life Sciences API, ETL-Tools (Extract-Transform-Load) und mehr.
Auf dieser Seite erhalten Sie einen Überblick über die Dienste und Tools, die Cloud Life Sciences (und Google Cloud allgemein) bietet, sowie darüber, wie Sie deren Features mit Ihren Biowissenschaftsdaten nutzen können.
Cloud Life Sciences API – Übersicht
Die Cloud Life Sciences API bietet eine einfache Möglichkeit zum Ausführen einer Reihe von Compute Engine-Containern in Google Cloud. Die Cloud Life Sciences API besteht aus einem Hauptvorgang:
projects.locations.pipelines.run
: Führt eine Pipeline aus.
Und drei allgemeinen Vorgängen:
projects.locations.operations.get
: Ruft den aktuellen Status einer Pipeline ab.projects.locations.operations.list
: Listet alle Pipelines auf, die in einer Google Cloud-Region in Ihrem Google Cloud-Projekt ausgeführt werden.projects.locations.operations.cancel
: Bricht eine Pipeline ab.
Die Cloud Life Sciences API richtet sich an Entwickler, die auf Jobverwaltungstools (wie dsub) oder Workflow-Engines (wie Cromwell) aufbauen oder solche erstellen möchten. Für diese Tools und Systeme stellt die Cloud Life Sciences API ein Backend bereit und ermöglicht die Jobplanung für Docker-basierte Aufgaben, die sekundäre Genomanalysen in Compute Engine-Containern ausführen. Sie können Batchvorgänge von überall aus senden und in Google Cloud ausführen. Die Docker-Images können manuell gepackt werden oder Sie können vorhandene Docker-Images verwenden.
Der häufigste Anwendungsfall bei der Verwendung der Cloud Life Sciences API ist die Ausführung eines vorhandenen Tools oder benutzerdefinierten Skripts zum Lesen und Schreiben von Dateien, in der Regel in und aus Cloud Storage. Die Cloud Life Sciences API kann unabhängig für Hunderte oder Tausende dieser Dateien ausgeführt werden.
Sie können über die REST API, RPC API oder die Google Cloud CLI auf die Cloud Life Sciences API zugreifen.
Cloud Life Sciences API ausführen
Wenn Sie eine Workflow-Engine erstellen, sind die folgenden Schritte für die Engine typisch:
- Parsen der Sprache des Eingabe-Workflows und Erstellen einer Reihe von JSON-formatierten
Pipeline
-Objekten, die von der Cloud Life Sciences API akzeptiert werden. Die Engine sendet eine Reihe von Anfragen, die imPipeline
-Objekt definiert sind, an die Cloud Life Sciences API. - Monitoring der Anfragen und Zusammenführen der Ausgaben aus den Anfragen, bevor der nächste Schritt gestartet wird.
Im Folgenden wird der erste Schritt näher erläutert:
Die Pipeline wird durch Aufrufen der Methode pipelines.run
ausgeführt.
Bei dieser Methode werden ein Pipeline
-Objekt und ein optionaler Satz von Labels verwendet, um mit der Ausführung einer Pipeline zu beginnen. Das Pipeline
-Objekt besteht aus einer oder mehreren Action
-Beschreibungen und einem Resources
-Objekt, das beschreibt, welche Google Cloud-Ressourcen zum Ausführen der Pipeline erforderlich sind.
Das folgende Beispiel zeigt, wie eine einfache Pipeline
konfiguriert wird, die eine einzelne Action
("Hello, world" an das Terminal ausgeben) auf einer kleinen Standard-VM (n1-standard-1
) ausführt:
"pipeline": {
"actions": [
{
"imageUri": "bash",
"commands": [ "-c", "echo Hello, world" ]
},
],
"resources": {
"regions": ["us-central11"],
"virtualMachine": {
"machineType": "n1-standard-1",
}
}
}
Im folgenden Beispiel wird gezeigt, wie ein Action
-Objekt konfiguriert wird, das mehrere Befehle ausführt. Die Action
kopiert eine Datei aus Cloud Storage auf die VM, berechnet und verifiziert den SHA-1-Hash der Datei und schreibt die Datei anschließend wieder in den ursprünglichen Cloud Storage-Bucket.
"actions": [
{
"imageUri": "google/cloud-sdk",
"commands": [ "gsutil", "cp", "gs://my-bucket/input.in", "/tmp" ]
},
{
"imageUri": "bash",
"commands": [ "-c", "sha1sum /tmp/in > /tmp/test.sha1" ]
},
{
"imageUri": "google/cloud-sdk",
"commands": [ "gsutil", "cp", "/tmp/output.sha1", "gs://my-bucket/output.sha1" ]
},
],
Beim Aufrufen von pipelines.run
wird ein lange laufender Vorgang zurückgegeben, den Sie abfragen können, um den Status der Pipeline abzurufen oder die Pipeline abzubrechen.
Lebenszyklus einer Cloud Life Sciences API-Anfrage
Der Lebenszyklus einer Pipeline in der Cloud Life Sciences API setzt sich normalerweise so zusammen:
- Die Cloud Life Sciences API weist die zur Ausführung der Pipeline erforderlichen Google Cloud-Ressourcen zu. Dies beinhaltet in der Regel mindestens die Zuweisung einer Compute Engine-VM mit Laufwerksspeicher.
- Sobald eine VM verfügbar ist, führt die Cloud Life Sciences API alle in der Pipeline definierten Aktionen aus. Bei diesen Aktionen werden Vorgänge wie das Kopieren von Eingabedateien, das Verarbeiten von Daten oder das Kopieren von Ausgabedateien ausgeführt.
- Die Pipeline gibt alle zugewiesenen Ressourcen frei und löscht alle erstellten VMs.
BigQuery-ETL mit dem Tool Variant Transforms
Um Ihre Biowissenschaftsdaten zur weiteren Analyse in BigQuery zu laden, verwenden Sie das Tool Variant Transforms.
Variant Transforms ist ein Open-Source-Tool, das auf Apache Beam basiert und Dataflow verwendet. Variant Transforms ist die empfohlene Methode zum Transformieren und zum Laden von Genomdaten in Google Cloud zur weiteren Analyse.
Andere Google Cloud-Technologien mit Biowissenschaftsdaten verwenden
Es gibt mehrere Google Cloud-Technologien, die mit Cloud Life Sciences interagieren oder zur Analyse und Verarbeitung von Biowissenschaftsdaten verwendet werden können. Dazu gehören:
- BigQuery: Verwenden Sie BigQuery für Ad-hoc-Abfragen von großen strukturierten Datasets, z. B. genomischen Varianten. Zu den Anwendungsfällen gehören die Variantenanalyse und die Ausführung komplexer
JOIN
-Abfragen zur Analyse von Daten, die durch Intervalle in Genomregionen – sogenannte Überlappungen (Overlaps) – beschrieben werden. Mit dem Tool Variant Transforms können VCF-Dateien transformiert und direkt in BigQuery geladen werden. - Cloud Storage: Sie können Cloud Storage als Objektspeicher für unformatierte VCF-, FASTQ- und BAM-Dateien verwenden, die mithilfe von Variant Transforms für umfangreiche Analysen in BigQuery geladen werden können.
- Dataflow: Das Tool Variant Transforms erstellt mithilfe von Dataflow hochskalierbare Datenverarbeitungspipelines, die Daten in BigQuery laden.