In dieser Anleitung wird beschrieben, wie Sie eine dsub
-Pipeline in Batch ausführen.
In diesem Beispiel verarbeitet die dsub
-Pipeline DNA-Sequenzierungsdaten in einer BAM-Datei (Binary Alignment Map), um eine BAI-Datei (BAM-Index) zu erstellen.
Diese Anleitung richtet sich an Batch-Nutzer, die dsub
mit Batch verwenden möchten.
dsub
ist ein Open-Source-Job-Scheduler zum Orchestrieren von Batchverarbeitungs-Workflows auf Google Cloud.
Weitere Informationen zur Verwendung von Batch mit dsub
finden Sie in der dsub
-Dokumentation für Batch.
Cloud Storage-Bucket erstellen
Führen Sie den gcloud storage buckets create
-Befehl aus, um mit der gcloud CLI einen Cloud Storage-Bucket zum Speichern der Ausgabedateien aus der Beispielpipeline dsub
zu erstellen:
gcloud storage buckets create gs://BUCKET_NAME \
--project PROJECT_ID
Ersetzen Sie Folgendes:
BUCKET_NAME
: Ein global eindeutiger Name für Ihren Bucket.PROJECT_ID
: die Projekt-ID Ihres Google Cloud Projekts.
Die Ausgabe sieht etwa so aus:
Creating gs://BUCKET_NAME/...
dsub
-Pipeline ausführen
In der Beispielpipeline dsub
wird eine BAM-Datei aus dem 1000 Genomes Project indexiert und die Ergebnisse werden in einen Cloud Storage-Bucket ausgegeben.
Führen Sie zum Ausführen der dsub
-Beispielpipeline den folgenden dsub
-Befehl aus:
dsub \
--provider google-batch \
--project PROJECT_ID \
--logging gs://BUCKET_NAME/WORK_DIRECTORY/logs \
--input BAM=gs://genomics-public-data/1000-genomes/bam/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam \
--output BAI=gs://BUCKET_NAME/WORK_DIRECTORY/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai \
--image quay.io/cancercollaboratory/dockstore-tool-samtools-index \
--command 'samtools index ${BAM} ${BAI}' \
--wait
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-ID Ihres Google Cloud Projekts.BUCKET_NAME
: Der Name des Cloud Storage-Buckets, den Sie erstellt haben.WORK_DIRECTORY
: Der Name eines neuen Verzeichnisses, in dem die Pipeline Logs und Ausgaben speichern kann. Geben Sie beispielsweiseworkDir
ein.
Die Pipeline dsub
führt einen Batchjob aus, der die BAI-Datei und die Logs in das angegebene Verzeichnis in Ihrem Cloud Storage-Bucket schreibt.
Das Repository dsub
enthält ein vorgefertigtes Docker-Image, das samtools
verwendet, um die BAM-Datei zu indexieren, die Sie im Flag --input
angegeben haben.
Der Befehl wird erst beendet, wenn die dsub
-Pipeline abgeschlossen ist. Das kann je nach Zeitplan des Batch-Jobs variieren.
Normalerweise dauert das etwa 10 Minuten: Batch beginnt in der Regel innerhalb weniger Minuten mit der Ausführung des Jobs und die Laufzeit des Jobs beträgt etwa 8 Minuten.
Zuerst wird der Befehl noch ausgeführt und die Ausgabe sieht in etwa so aus:
Job properties:
job-id: JOB_NAME
job-name: samtools
user-id: USERNAME
Provider internal-id (operation): projects/PROJECT_ID/locations/us-central1/jobs/JOB_NAME
Launched job-id: JOB_NAME
To check the status, run:
dstat --provider google-batch --project PROJECT_ID --location us-central1 --jobs 'JOB_NAME' --users 'USERNAME' --status '*'
To cancel the job, run:
ddel --provider google-batch --project PROJECT_ID --location us-central1 --jobs 'JOB_NAME' --users 'USERNAME'
Waiting for job to complete...
Waiting for: JOB_NAME.
Wenn der Job erfolgreich abgeschlossen wurde, wird der Befehl beendet und die Ausgabe sieht in etwa so aus:
JOB_NAME: SUCCESS
JOB_NAME
Diese Ausgabe enthält die folgenden Werte:
JOB_NAME
: Der Name des Jobs.USERNAME
: Ihr Google Cloud Nutzername.PROJECT_ID
: die Projekt-ID Ihres Google Cloud Projekts.
Ausgabedateien ansehen
Führen Sie den Befehl gcloud storage ls
aus, um die Ausgabedateien aufzurufen, die von der dsub
-Beispielpipeline mit der gcloud CLI erstellt wurden:
gcloud storage ls gs://BUCKET_NAME/WORK_DIRECTORY \
--project PROJECT_ID
Ersetzen Sie Folgendes:
BUCKET_NAME
: Der Name des Cloud Storage-Buckets, den Sie erstellt haben.WORK_DIRECTORY
: Das Verzeichnis, das Sie imdsub
-Befehl angegeben haben.PROJECT_ID
: die Projekt-ID Ihres Google Cloud Projekts.
Die Ausgabe sieht etwa so aus:
gs://BUCKET_NAME/WORK_DIRECTORY/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
gs://BUCKET_NAME/WORK_DIRECTORY/logs/
Diese Ausgabe enthält die BAI-Datei und ein Verzeichnis mit den Logs des Jobs.