Executar o dsub

Use o dsub para escrever scripts e executar tarefas de computação em lote e fluxos 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. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  3. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  4. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  5. Ative as APIs Cloud Life Sciences, Compute Engine, and Cloud Storage.

    Ative as APIs

  6. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  7. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  8. Ative as APIs Cloud Life Sciences, Compute Engine, and Cloud Storage.

    Ative as 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:

    gsutil ls gs://BUCKET
    

    O comando retorna a seguinte resposta:

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

Limpeza

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.

Excluir o projeto

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

Para excluir o projeto, faça o seguinte:

  1. No Console do Google Cloud, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

A seguir

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