Neste tutorial, explicamos como executar um pipeline
dsub
no Batch.
Especificamente, o exemplo de pipeline dsub
processa dados de sequenciamento de DNA em um
arquivo de mapa de alinhamento binário (BAM)
para criar um arquivo de índice BAM (BAI).
Este tutorial é destinado a usuários do Batch que querem usar o
dsub
com o Batch.
O dsub
é um programador de jobs de código aberto
para orquestrar fluxos de trabalho de processamento em lote no Google Cloud.
Para saber mais sobre como usar o
Batch com o dsub
, consulte a
documentação do dsub
para o Batch.
Criar um bucket do Cloud Storage
Para criar um bucket do Cloud Storage para armazenar os arquivos de saída do
pipeline de amostra dsub
usando a CLI gcloud, execute o
comando gcloud storage buckets create
:
gcloud storage buckets create gs://BUCKET_NAME \
--project PROJECT_ID
Substitua:
BUCKET_NAME
: um nome globalmente exclusivo para o bucket.PROJECT_ID
: o ID do projeto do seu projeto Google Cloud .
O resultado será assim:
Creating gs://BUCKET_NAME/...
Executar o pipeline dsub
O pipeline de amostra dsub
indexa um arquivo BAM do
Projeto 1.000 Genomas
e gera os resultados em um bucket do Cloud Storage.
Para executar o pipeline de exemplo dsub
, execute o seguinte 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
Substitua:
PROJECT_ID
: o ID do projeto do seu projeto Google Cloud .BUCKET_NAME
: o nome do bucket do Cloud Storage criado.WORK_DIRECTORY
: o nome de um novo diretório que o pipeline pode usar para armazenar registros e saídas. Por exemplo, insiraworkDir
.
O pipeline dsub
executa um
job em lote que grava o arquivo BAI
e os registros no diretório especificado no bucket do Cloud Storage.
Especificamente, o repositório dsub
contém uma imagem do Docker predefinida que usa samtools
para indexar o arquivo BAM especificado na flag --input
.
O comando não será concluído até que o pipeline dsub
termine de ser executado,
o que pode variar de acordo com o momento em que o job do Batch é programado.
Normalmente, isso leva cerca de 10 minutos: o Batch geralmente começa
a executar o job em alguns minutos, e o tempo de execução do job é de cerca de 8 minutos.
No início, o comando ainda está em execução, e a saída é semelhante a esta:
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.
Depois que o job for concluído, o comando será encerrado e a saída será semelhante a esta:
JOB_NAME: SUCCESS
JOB_NAME
Esta saída inclui os seguintes valores:
JOB_NAME
: o nome do job.USERNAME
: seu Google Cloud nome de usuário.PROJECT_ID
: o ID do projeto do seu projeto Google Cloud .
Ver os arquivos de saída
Para conferir os arquivos de saída criados pelo pipeline de amostra dsub
usando a
CLI gcloud, execute o
comando gcloud storage ls
:
gcloud storage ls gs://BUCKET_NAME/WORK_DIRECTORY \
--project PROJECT_ID
Substitua:
BUCKET_NAME
: o nome do bucket do Cloud Storage criado.WORK_DIRECTORY
: o diretório especificado no comandodsub
.PROJECT_ID
: o ID do projeto do seu projeto Google Cloud .
O resultado será assim:
gs://BUCKET_NAME/WORK_DIRECTORY/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
gs://BUCKET_NAME/WORK_DIRECTORY/logs/
Essa saída inclui o arquivo BAI e um diretório com os registros do job.