dsub ausführen

Verwenden Sie dsub, um Scripts 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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  4. Make sure that billing is enabled for your Google Cloud project.

  5. Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage APIs.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage APIs.

    Enable the 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:

    gcloud storage 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. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Nächste Schritte

Weitere Informationen und Beispiele dazu, wie Sie mit dsub lokal entwickeln oder dsub zur Skalierung auf viele Tasks in der Google Cloud verwenden können, finden Sie in der dsub-Dokumentation auf GitHub.