dsub ausführen

Verwenden Sie dsub, um Skripts zu schreiben und anschließend Batch-Computing-Aufgaben und Workflows in Google Cloud auszuführen.

Ziele

Nach Abschluss dieser Anleitung wissen Sie, wie Sie eine dsub-Pipeline in Google Cloud ausführen, die aus einer großen Binärdatei mit DNA-Sequenzen (BAM-Datei) einen Index (BAI-Datei) erstellt.

Kosten

In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloud verwendet, darunter:

  • Compute Engine
  • Cloud Storage

Der Preisrechner kann eine Kostenschätzung anhand Ihrer voraussichtlichen Nutzung generieren. Neuen Cloud Platform-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Hinweis

  1. Installieren Sie Python 3.6 oder höher. Weitere Informationen zur Einrichtung der Python-Entwicklungsumgebung, z. B. zur Installation von „pip“ auf Ihrem System, finden Sie im Einrichtungsleitfaden für die Python-Entwicklungsumgebung.
  2. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  3. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  4. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  5. Cloud Life Sciences, Compute Engine, and Cloud Storage APIs aktivieren.

    Aktivieren Sie die APIs

  6. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  7. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  8. Cloud Life Sciences, Compute Engine, and Cloud Storage APIs aktivieren.

    Aktivieren Sie die APIs

BAI-Datei erstellen

Nachfolgend wird beschrieben, wie Sie aus einer großen Binärdatei mit DNA-Sequenzen (BAM-Datei) einen Index (BAI-Datei) erstellen. Die Daten stammen aus dem 1000 Genomes Project.

  1. Klonen Sie das GitHub-Repository databiosphere/dsub:

    git clone https://github.com/databiosphere/dsub.git
    
  2. Wechseln Sie in das Verzeichnis mit dem dsub-Tool. Das Repository enthält ein fertiges Docker-Image, das zur Indexerstellung samtools nutzt.

    cd dsub
    
  3. Installieren Sie dsub und die zugehörigen Abhängigkeiten:

    python setup.py install
    
  4. Führen Sie das dsub-Tool aus, um die BAI-Datei zu erstellen. Ersetzen Sie dabei PROJECT_ID durch Ihr Google Cloud-Projekt und BUCKET durch einen Cloud Storage-Bucket, auf den Sie Schreibzugriff haben:

    dsub \
        --provider google-cls-v2 \
        --project PROJECT_ID \
        --logging gs://BUCKET/logs \
        --input BAM=gs://genomics-public-data/1000-genomes/bam/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam \
        --output BAI=gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai \
        --image quay.io/cancercollaboratory/dockstore-tool-samtools-index \
        --command 'samtools index ${BAM} ${BAI}' \
        --wait
    

    Der Befehl samtools wird in der Datendatei ausgeführt, die mit dem Flag --input angegeben wurde. Von der Pipeline werden die Ausgabedatei und die Logs in den Cloud Storage-Bucket geschrieben.

  5. Prüfen Sie, ob die BAI-Datei generiert wurde:

    gsutil ls BUCKET
    

    Der Befehl gibt die folgende Antwort zurück:

    gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
    

Bereinigen

Nachdem Sie die Anleitung abgeschlossen haben, können Sie die erstellten Ressourcen bereinigen, damit sie keine Kontingente mehr nutzen und keine Gebühren mehr anfallen. In den folgenden Abschnitten erfahren Sie, wie Sie diese Ressourcen löschen oder deaktivieren.

Projekt löschen

Am einfachsten vermeiden Sie weitere Kosten durch Löschen des für die Anleitung erstellten Projekts.

So löschen Sie das Projekt:

  1. Wechseln Sie in der Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Nächste Schritte

Lesen Sie die dsub-Dokumentation auf GitHub für weitere Informationen und Beispiele zur lokalen Entwicklung mit dsub oder verwenden Sie dsub, um auf viele Aufgaben in Google Cloud zu skalieren.