Ejecuta dsub

Usa dsub para escribir secuencias de comandos y, luego, ejecuta tareas de procesamiento por lotes y flujos de trabajo en Google Cloud.

Objetivos

Después de completar este instructivo, sabrás cómo ejecutar una canalización de dsub en Google Cloud que crea un índice (archivo BAI) a partir de un archivo binario grande de secuencias de ADN (archivo BAM).

Costos

En este instructivo, se usan componentes facturables de Google Cloud, que incluyen los siguientes:

  • Compute Engine
  • Cloud Storage

Usa la calculadora de precios para generar una estimación de los costos según el uso previsto. Los usuarios nuevos de Cloud Platform pueden cumplir los requisitos para una prueba gratuita.

Antes de comenzar

  1. Instala Python 3.6  o superior. Para obtener más información sobre cómo configurar tu entorno de desarrollo de Python, incluida la instalación de pip en tu sistema, consulta la Guía de configuración del entorno de desarrollo de Python.
  2. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  3. En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyecto

  4. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  5. Habilita las API de Cloud Life Sciences, Compute Engine, and Cloud Storage.

    Habilita las API

Crea un archivo BAI

Completa los siguientes pasos para crear un índice (archivo BAI) a partir de un archivo binario grande de secuencias de ADN (archivo BAM). Los datos provienen del proyecto 1,000 Genomes.

  1. Clona el repositorio databiosphere/dsub de GitHub:

    git clone https://github.com/databiosphere/dsub.git
    
  2. Cambia al directorio de la herramienta dsub. El repositorio contiene una imagen de Docker prediseñada que utiliza samtools para realizar la indexación.

    cd dsub
    
  3. Instala dsub y sus dependencias:

    python setup.py install
    
  4. Ejecuta la herramienta dsub a fin de crear el archivo BAI. Para ello, reemplaza PROJECT_ID con tu proyecto de Google Cloud y BUCKET con un depósito de Cloud Storage al que tengas acceso de escritura:

    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
    

    El comando samtools se ejecuta en el archivo de datos proporcionado con la marca --input. La canalización escribe el archivo de salida y los registros en tu bucket de Cloud Storage.

  5. Verifica que se haya generado el archivo BAI:

    gsutil ls BUCKET
    

    El comando muestra la siguiente respuesta:

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

Limpia

Una vez que completes el instructivo, puedes limpiar los recursos que creaste para que dejen de usar la cuota y generar cargos. En las siguientes secciones, se describe cómo borrar o desactivar estos recursos.

Borra el proyecto

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.

Para borrar el proyecto, sigue estos pasos:

  1. En Cloud Console, ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
  3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

¿Qué sigue?

Lee la documentación sobre dsub en GitHub para obtener más detalles y ejemplos sobre cómo desarrollar con dsub de forma local, o usa dsub para escalar verticalmente a muchas tareas en Google Cloud.