Organiza trabajos mediante la ejecución de canalizaciones de Nextflow en Batch

En este instructivo, se explica cómo ejecutar una canalización de Nextflow en Batch. Específicamente, en este instructivo, se ejecuta la canalización de ciencias de la vida de muestra rnaseq-nf de Nextflow, que cuantifica las características genómicas a partir de datos de lecturas cortas con RNA-Seq.

Este instructivo está dirigido a los usuarios de Batch que desean usar Nextflow con Batch.

Nextflow es un software de código abierto para organizar flujos de trabajo bioinformáticos.

Cree un bucket de Cloud Storage

Para crear un bucket de Cloud Storage en el que se almacenen los archivos de salida y de trabajo temporales de la canalización de Nextflow, usa la consola Google Cloud o la línea de comandos.

Console

Para crear un bucket de Cloud Storage con la Google Cloud consola, sigue estos pasos:

  1. En la consola de Google Cloud , ve a la página Buckets.

    Ir a Buckets

  2. Haz clic en Crear.

  3. En la página Crear un bucket, ingresa un nombre único a nivel global para tu bucket.

  4. Haz clic en Crear.

  5. En la ventana Se impedirá el acceso público, haz clic en Confirmar.

gcloud

Para crear un bucket de Cloud Storage con Google Cloud CLI, usa el comando gcloud storage buckets create.

gcloud storage buckets create gs://BUCKET_NAME

Reemplaza BUCKET_NAME por un nombre único a nivel global para tu bucket.

Si la solicitud se realiza de forma correcta, el resultado debe ser similar al siguiente:

Creating gs://BUCKET_NAME/...
   ```

Configura Nextflow

Para configurar la canalización de Nextflow para que se ejecute en Batch, sigue estos pasos en la línea de comandos:

  1. Clona el repositorio de la canalización de muestra:

    git clone https://github.com/nextflow-io/rnaseq-nf.git
    
  2. Ve a la carpeta rnaseq-nf:

    cd rnaseq-nf
    
  3. Abre el archivo nextflow.config:

    nano nextflow.config
    

    El archivo debe contener la siguiente sección gcb:

    gcb {
      params.transcriptome = 'gs://rnaseq-nf/data/ggal/transcript.fa'
      params.reads = 'gs://rnaseq-nf/data/ggal/gut_{1,2}.fq'
      params.multiqc = 'gs://rnaseq-nf/multiqc'
      process.executor = 'google-batch'
      process.container = 'quay.io/nextflow/rnaseq-nf:v1.1'
      workDir = 'gs://BUCKET_NAME/WORK_DIRECTORY'
      google.region  = 'REGION'
    }
    
  4. En la sección gcb, haz lo siguiente:

    1. Reemplaza BUCKET_NAME por el nombre del bucket de Cloud Storage que creaste en los pasos anteriores.

    2. Reemplaza WORK_DIRECTORY por el nombre de una carpeta nueva que la canalización pueda usar para almacenar registros y resultados.

      Por ejemplo, ingresa workDir.

    3. Reemplaza REGION por la región que deseas usar.

      Por ejemplo, ingresa us-central1.

    4. Después del campo google.region, agrega los siguientes campos:

      1. Agrega el campo google.project:

        google.project = 'PROJECT_ID'
        

        Reemplaza PROJECT_ID por el ID del proyecto Google Cloud actual.

      2. Si no usas la cuenta de servicio predeterminada de Compute Engine como la cuenta de servicio del trabajo, agrega el campo google.batch.serviceAccountEmail:

        google.batch.serviceAccountEmail = 'SERVICE_ACCOUNT_EMAIL'
        

        Reemplaza SERVICE_ACCOUNT_EMAIL por la dirección de correo electrónico de la cuenta de servicio del trabajo que preparaste para este instructivo.

  5. Para guardar los cambios, haz lo siguiente:

    1. Presiona Control+S.

    2. Ingresa Y.

    3. Presiona Enter.

Ejecuta la canalización

Ejecuta la canalización de muestra de Nextflow con la línea de comandos:

../nextflow run nextflow-io/rnaseq-nf -profile gcb

La canalización ejecuta un conjunto de datos pequeño con la configuración que proporcionaste en los pasos anteriores. Esta operación puede tardar hasta 10 minutos en completarse.

Una vez que finalice la ejecución de la canalización, el resultado debería ser similar al siguiente:

N E X T F L O W  ~  version 23.04.1
Launching `https://github.com/nextflow-io/rnaseq-nf` [crazy_curry] DSL2 - revision: 88b8ef803a [master]
 R N A S E Q - N F   P I P E L I N E
 ===================================
 transcriptome: gs://rnaseq-nf/data/ggal/transcript.fa
 reads        : gs://rnaseq-nf/data/ggal/gut_{1,2}.fq
 outdir       : results

Uploading local `bin` scripts folder to gs://example-bucket/workdir/tmp/53/2847f2b832456a88a8e4cd44eec00a/bin
executor >  google-batch (4)
[67/71b856] process > RNASEQ:INDEX (transcript)     [100%] 1 of 1 ✔
[0c/2c79c6] process > RNASEQ:FASTQC (FASTQC on gut) [100%] 1 of 1 ✔
[a9/571723] process > RNASEQ:QUANT (gut)            [100%] 1 of 1 ✔
[9a/1f0dd4] process > MULTIQC                       [100%] 1 of 1 ✔

Done! Open the following report in your browser --> results/multiqc_report.html

Completed at: 20-Apr-2023 15:44:55
Duration    : 10m 13s
CPU hours   : (a few seconds)
Succeeded   : 4

Visualiza los resultados de la canalización

Una vez que finaliza la ejecución de la canalización, esta almacena los archivos de salida, los registros, los errores o los archivos temporales en el archivo results/qc_report.html dentro de la carpeta WORK_DIRECTORY de tu bucket de Cloud Storage.

Para verificar los archivos de salida de la canalización en la carpeta WORK_DIRECTORY de tu bucket de Cloud Storage, puedes usar la consola de Google Cloud o la línea de comandos.

Console

Para verificar los archivos de salida de la canalización con la consola de Google Cloud , sigue estos pasos:

  1. En la consola de Google Cloud , ve a la página Buckets.

    Ir a Buckets

  2. En la columna Nombre, haz clic en el nombre del bucket que creaste en los pasos anteriores.

  3. En la página Detalles del bucket, abre la carpeta WORK_DIRECTORY.

Hay una carpeta para cada tarea independiente que ejecuta el flujo de trabajo. Cada carpeta contiene los comandos que se ejecutaron, los archivos de salida y los archivos temporales que creó la canalización.

gcloud

Para verificar los archivos de salida de la canalización con gcloud CLI, usa el comando gcloud storage ls.

gcloud storage ls gs://BUCKET_NAME/WORK_DIRECTORY

Reemplaza lo siguiente:

  • BUCKET_NAME: Es el nombre del bucket que creaste en los pasos anteriores.

  • WORK_DIRECTORY: Es el directorio que especificaste en el archivo nextflow.config.

El resultado enumera una carpeta para cada tarea independiente que ejecuta la canalización. Cada carpeta contiene los comandos que se ejecutaron, los archivos de salida y los archivos temporales que creó la canalización.