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.