Cloud Life Sciences

Überblick

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:

Und drei allgemeinen Vorgängen:

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 Back-End 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, die 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:

  1. 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 im Pipeline-Objekt definiert sind, an die Cloud Life Sciences API.
  2. 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:

  1. 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.
  2. 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.
  3. 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: