Questo tutorial spiega come eseguire una pipeline
dsub su Batch.
Nello specifico, la pipeline dsub di esempio elabora i dati di sequenziamento del DNA in un
file Binary Alignment Map (BAM)
per creare un file indice BAM (BAI).
Questo tutorial è destinato agli utenti Batch che vogliono utilizzare
dsub con Batch.
dsub è uno scheduler di job open source
per orchestrare i workflow di elaborazione batch su Google Cloud.
Per saperne di più su come utilizzare
Batch con dsub, consulta la
documentazione di dsub per Batch.
Crea un bucket Cloud Storage
Per creare un bucket Cloud Storage per archiviare i file di output della
pipeline di esempio dsub utilizzando gcloud CLI, esegui il
comando gcloud storage buckets create:
gcloud storage buckets create gs://BUCKET_NAME \
--project PROJECT_ID
Sostituisci quanto segue:
BUCKET_NAME: un nome univoco a livello globale per il bucket.PROJECT_ID: l' ID progetto del tuo progetto Google Cloud .
L'output è simile al seguente:
Creating gs://BUCKET_NAME/...
Esegui la pipeline dsub
La pipeline di esempio dsub indicizza un file BAM dal
progetto 1000 Genomes
e restituisce i risultati in un bucket Cloud Storage.
Per eseguire la pipeline di esempio dsub, esegui questo comando dsub:
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
Sostituisci quanto segue:
PROJECT_ID: l' ID progetto del tuo progetto Google Cloud .BUCKET_NAME: il nome del bucket Cloud Storage che hai creato.WORK_DIRECTORY: il nome di una nuova directory che la pipeline può utilizzare per archiviare log e output. Ad esempio, inserisciworkDir.
La pipeline dsub esegue un
job batch che scrive il file BAI
e i log nella directory specificata nel bucket Cloud Storage.
Nello specifico, il repository dsub contiene un'immagine Docker predefinita che utilizza samtools per indicizzare il file BAM specificato nel flag --input.
Il comando non viene completato finché non viene eseguita la pipeline dsub,
il cui completamento può variare in base alla pianificazione del job Batch.
In genere, questa operazione richiede circa 10 minuti: Batch di solito inizia
a eseguire il job entro pochi minuti e la durata del job è di circa 8 minuti.
All'inizio, il comando è ancora in esecuzione e l'output è simile al seguente:
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.
Al termine del job, il comando termina e l'output è simile al seguente:
JOB_NAME: SUCCESS
JOB_NAME
Questo output include i seguenti valori:
JOB_NAME: il nome del job.USERNAME: il tuo Google Cloud nome utente.PROJECT_ID: l' ID progetto del tuo progetto Google Cloud .
Visualizzare i file di output
Per visualizzare i file di output creati dalla pipeline di esempio dsub utilizzando
gcloud CLI, esegui il
comando gcloud storage ls:
gcloud storage ls gs://BUCKET_NAME/WORK_DIRECTORY \
--project PROJECT_ID
Sostituisci quanto segue:
BUCKET_NAME: il nome del bucket Cloud Storage che hai creato.WORK_DIRECTORY: la directory che hai specificato nel comandodsub.PROJECT_ID: l' ID progetto del tuo progetto Google Cloud .
L'output è simile al seguente:
gs://BUCKET_NAME/WORK_DIRECTORY/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
gs://BUCKET_NAME/WORK_DIRECTORY/logs/
Questo output include il file BAI e una directory contenente i log del job.