dsub ausführen

Verwenden Sie dsub, um Skripts zu schreiben, und führen Sie dann Batch-Computing-Aufgaben und Workflows in Google Cloud aus.

Lernziele

Nach Abschluss dieser Anleitung können 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 diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

  • Compute Engine
  • Cloud Storage

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Hinweise

  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 Google Cloud-Projekt muss aktiviert sein.

  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 Google Cloud-Projekt muss aktiviert sein.

  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 für das 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:

    sudo python3 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 gs://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 Google 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, wie Sie mit dsub lokal entwickeln oder dsub zur Skalierung auf viele Tasks in der Google Cloud verwenden können.