Executar o dsub

Usar o dsub para escrever scripts, executar tarefas de computação em lote e de trabalho no Google Cloud.

Objetivos

Depois de concluir este tutorial, você saberá como executar um pipeline dsub no Google Cloud que cria um índice (arquivo BAI) com base em um arquivo binário grande de sequências de DNA (arquivo BAM).

Custos

Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:

  • Compute Engine
  • Cloud Storage

Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços. Novos usuários do Google Cloud podem estar qualificados para uma avaliação gratuita.

Antes de começar

  1. Instale o Python versão 3.6 ou posterior (em inglês). Para mais informações sobre como configurar o ambiente de desenvolvimento Python, como instalar o pip no sistema, consulte o Guia de configuração do ambiente de desenvolvimento Python.
  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. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  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. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

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

    Enable the APIs

Como criar um arquivo BAI

Conclua as etapas a seguir para criar um índice (arquivo BAI) a partir de um arquivo binário grande de sequências de DNA (arquivo BAM). Os dados vêm do projeto 1.000 Genomes.

  1. Clone o repositório do GitHub databiosphere/dsub:

    git clone https://github.com/databiosphere/dsub.git
  2. Mude para o diretório da ferramenta dsub. O repositório contém uma imagem do Docker predefinida que usa samtools para fazer a indexação.

    cd dsub
  3. Instale o dsub e suas dependências:

    sudo python3 setup.py install
  4. Execute a ferramenta dsub para criar o arquivo BAI, substituindo PROJECT_ID pelo projeto do Google Cloud e BUCKET por um bucket do Cloud Storage ao qual você tem acesso de gravação:

    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

    O comando samtools é executado no arquivo de dados fornecido com a sinalização --input. O pipeline grava o arquivo de saída e os registros no bucket do Cloud Storage.

  5. Verifique se o arquivo BAI foi gerado:

    gcloud storage ls gs://BUCKET
    

    O comando retorna a seguinte resposta:

    gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
    

Limpar

Depois de concluir o tutorial, você pode limpar os recursos que criou para que eles parem de usar a cota e gerar cobranças. Nas seções a seguir, você aprenderá a excluir e desativar esses recursos.

Exclua o projeto

O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.

Para excluir o projeto:

  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.

A seguir

Leia a documentação do dsub no GitHub (em inglês) para mais detalhes e exemplos de como desenvolver com o dsub localmente ou usá-lo para escalonar verticalmente muitas tarefas no Google Cloud.