Ejecuta Nextflow

En esta página, se explica cómo ejecutar una canalización en Google Cloud Platform con la API de Cloud Life Sciences y Nextflow.

La canalización utilizada en este instructivo es una prueba de concepto de una canalización de RNA-Seq destinada a mostrar la utilización de Nextflow en Google Cloud Platform.

Objetivos

Después de completar el instructivo, sabrás cómo realizar las siguientes actividades:

  • Instalar Nextflow en Cloud Shell
  • Configurar una canalización de Nextflow para usar la API de Cloud Life Sciences
  • Ejecutar una canalización con Nextflow en Google Cloud Platform

Costos

En este instructivo, se usan componentes facturables de Google Cloud Platform, como los que se indican a continuación:

  • 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 podrían cumplir con los requisitos para obtener una prueba gratuita.

Antes de comenzar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. En GCP Console, en la página de selección de proyecto, selecciona o crea un proyecto de GCP.

    Ir a la página de selección de proyecto

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

    Descubre cómo puedes habilitar la facturación

  4. Habilita lasCloud Genomics, Compute Engine, and Cloud StorageAPIAPI.

    Habilita lasAPI

Crea un depósito de Cloud Storage

Sigue las instrucciones detalladas en los lineamientos para asignación de nombres de depósitos y de objetos con el fin de crear un depósito con nombre único destinado a almacenar trabajo temporal y archivos de salida durante todo este instructivo.

Console

  1. En GCP Console, abre el navegador de Cloud Storage:

    IR AL NAVEGADOR DE Cloud Storage

  2. Haz clic en Crear depósito.

  3. En el cuadro de texto Nombre del depósito, ingresa el nombre que seleccionaste para BUCKET y, luego, haz clic en Crear.

gcloud

  1. Abre Cloud Shell:

    IR A Cloud Shell

  2. Crea un depósito con los siguientes comandos:

    gsutil mb gs://BUCKET
    

Instala y configura Nextflow en Cloud Shell

Para evitar tener que instalar un software en tu máquina, ejecuta todos los comandos de terminal de este instructivo desde Cloud Shell.

  1. Abre Cloud Shell

    IR A CLOUD SHELL

  2. Instala Nextflow en Cloud Shell.

    export NXF_VER=19.01.0
    export NXF_MODE=google
    curl https://get.nextflow.io | bash
    
  3. Clona el repositorio de canalización de muestra que incluye la canalización que se ejecutará y los datos de muestra que se utilizarán.

    git clone https://github.com/nextflow-io/rnaseq-nf.git
    
  4. Configura Nextflow para que se ejecute con la API de Cloud Life Sciences.

    1. Cambia a la carpeta rnaseq-nf.

      cd rnaseq-nf
      

    2. Copia el siguiente texto y pégalo al final del archivo con el nombre nextflow.config. Reemplaza las variables PROJECT_ID y REGION con tus valores. La variable REGION es la región en la que se ejecuta, por ejemplo, us-central1. Si la sección que aparece a continuación existe en el archivo de configuración, reemplaza las secciones con los siguientes valores.

      process {
         executor = 'google-pipelines'
      }
      
      cloud {
         instanceType = 'n1-standard-1'
      }
      
      google {
         project = 'PROJECT_ID'
         region = 'REGION'
      }
      
    3. Vuelve a cambiar a la carpeta anterior.

      cd ..
      

Ejecuta la canalización con Nextflow

  1. Ejecuta la canalización con Nextflow.

    ./nextflow run rnaseq-nf/main.nf -w gs://BUCKET/WORK_DIR
    
  2. Nextflow seguirá ejecutándose en Cloud Shell.

Visualiza el resultado de la canalización de Nextflow

Después de que finalice la canalización, puedes verificar el resultado, además de cualquier registro, error, ejecución de comandos y archivos temporales.

El archivo de salida final se guardará en la instancia de Cloud Storage como el archivo results/qc_report.html.

Para verificar los archivos de salida individuales de cada tarea, además de los archivos intermedios, haz lo siguiente:

Console

  1. En Cloud Storage Console, abre la página del navegador de Storage:

    IR AL NAVEGADOR DE Cloud Storage

  2. Ve a las variables BUCKET y WORK_DIR que especificaste cuando ejecutaste la canalización.

  3. Habrá una carpeta para cada una de las tareas individuales que se ejecutaron en la canalización.

  4. La carpeta contendrá los comandos que se ejecutaron, los archivos de salida y los archivos temporales utilizados durante el flujo de trabajo.

gcloud

  1. Para ver los archivos de salida en Cloud Shell, primero abre Cloud Shell:

    IR A Cloud Shell

  2. Ejecuta el siguiente comando para enumerar los resultados de tu depósito de Cloud Storage.

    gsutil ls gs://BUCKET/WORK_DIR
    
  3. Se mostrará una carpeta para cada una de las tareas ejecutadas. Continúa enumerando el contenido de los subdirectorios posteriores para ver todos los archivos que creó la canalización.

    gsutil ls gs://BUCKET/WORK_DIR/FOLDER/TASK_FOLDER
    

Puedes ver los archivos intermedios creados por la canalización y elegir cuáles quieres conservar, o bien quitarlos para reducir los costos asociados con Cloud Storage. Si quieres quitar los archivos, consulta Borra los archivos intermedios en el depósito de Cloud Storage.

Solución de problemas

  • Si tienes problemas para ejecutar la canalización, consulta la solución de problemas de la API de Cloud Life Sciences.

  • Si tu canalización falla, puedes revisar los registros de cada tarea. Para ello, revisa los archivos de registro de cada una de las carpetas de Cloud Storage, como .command.err, .command.log, .command.out, etcétera.

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud Platform por los recursos que usaste en este instructivo:

Una vez que termines el instructivo para ejecutar la canalización de las prácticas recomendadas de GATK, puedes limpiar los recursos que creaste en GCP para que no consuman tu cuota y no se te facturen en el futuro. En las siguientes secciones, se describe cómo borrar o desactivar estos recursos.

Borra los archivos intermedios en el depósito de Cloud Storage

Cuando ejecutas la canalización, los archivos intermedios se almacenan automáticamente en gs://BUCKET/WORK_DIR. Puedes quitar los archivos después de que se complete el flujo de trabajo para reducir los cargos de Cloud Storage.

Para ver cuánto espacio se usa en el directorio, usa el siguiente comando:

gsutil du -sh gs://BUCKET/WORK_DIR

Para quitar archivos del directorio de trabajo, sigue estos pasos:

Console

  1. En Cloud Storage Console, abre la página del navegador de Storage:

    IR AL NAVEGADOR DE Cloud Storage

  2. Ve a las variables BUCKET y WORK_DIR que especificaste cuando ejecutaste la canalización.

  3. Examina las subcarpetas y borra los archivos o directorios no deseados. Para borrar todos los archivos, borra todo el directorio WORK_DIR.

gcloud

  1. Abre Cloud Shell y ejecuta lo siguiente:

    IR A Cloud Shell

  2. Para quitar todos los archivos intermedios del directorio WORK_DIR:

    gsutil -m rm gs://BUCKET/WORK_DIR/**
    

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, haz lo siguiente:

  1. En GCP Console, dirígete a la página Administrar recursos.

    Ir a la página Administración de recursos

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

Pasos siguientes