En este tutorial se explica cómo ejecutar una canalización de Nextflow
en Batch. En concreto, en este tutorial se ejecuta el
flujo de procesamiento de datos de ciencias de la vida de ejemplo rnaseq-nf
de Nextflow,
que cuantifica las características genómicas a partir de datos de lecturas cortas mediante
RNA-Seq.
Este tutorial está dirigido a los usuarios de Batch que quieran usar Nextflow con Batch.
Nextflow es un software de código abierto para orquestar flujos de trabajo de bioinformática.
Crea un segmento de Cloud Storage
Para crear un segmento de Cloud Storage en el que almacenar los archivos de trabajo y de salida temporales de la canalización de Nextflow, usa la consola de Google Cloud o la línea de comandos.
Consola
Para crear un segmento de Cloud Storage con la Google Cloud consola, sigue estos pasos:
En la Google Cloud consola, ve a la página Buckets.
Haz clic en
Crear.En la página Crear un segmento, asigna un nombre único a nivel global al segmento.
Haz clic en Crear.
En la ventana Se impedirá el acceso público, haz clic en Confirmar.
gcloud
Para crear un segmento de Cloud Storage con la CLI de Google Cloud, usa el comando gcloud storage buckets create
.
gcloud storage buckets create gs://BUCKET_NAME
Sustituye BUCKET_NAME
por un nombre único a nivel global para tu segmento.
Si la solicitud se realiza correctamente, el resultado debería ser similar al siguiente:
Creating gs://BUCKET_NAME/...
```
Configurar Nextflow
Para configurar la canalización de Nextflow para que se ejecute en Batch, sigue estos pasos en la línea de comandos:
Clona el repositorio de la canalización de ejemplo:
git clone https://github.com/nextflow-io/rnaseq-nf.git
Ve a la carpeta
rnaseq-nf
:cd rnaseq-nf
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' }
En la sección
gcb
, haga lo siguiente:Sustituye
BUCKET_NAME
por el nombre del segmento de Cloud Storage que has creado en los pasos anteriores.Sustituye
WORK_DIRECTORY
por el nombre de una nueva carpeta que la canalización pueda usar para almacenar registros y resultados.Por ejemplo, escribe
workDir
.Sustituye
REGION
por la región que quieras usar.Por ejemplo, escribe
us-central1
.Después del campo
google.region
, añade los siguientes campos:Añade el campo
google.project
:google.project = 'PROJECT_ID'
Sustituye
PROJECT_ID
por el ID del proyecto Google Cloud actual.Si no usas la cuenta de servicio predeterminada de Compute Engine como cuenta de servicio del trabajo, añade el campo
google.batch.serviceAccountEmail
:google.batch.serviceAccountEmail = 'SERVICE_ACCOUNT_EMAIL'
Sustituye
SERVICE_ACCOUNT_EMAIL
por la dirección de correo de la cuenta de servicio del trabajo que has preparado para este tutorial.
Para guardar los cambios, sigue estos pasos:
Pulsa
Control+S
.Introduce
Y
.Pulsa
Enter
.
Ejecutar el flujo de procesamiento
Ejecuta el flujo de procesamiento de Nextflow de ejemplo mediante la línea de comandos:
../nextflow run nextflow-io/rnaseq-nf -profile gcb
La canalización ejecuta un conjunto de datos pequeño con los ajustes que has proporcionado en los pasos anteriores. Esta operación puede tardar hasta 10 minutos en completarse.
Una vez que se haya ejecutado la canalización, la salida debería ser similar a la 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
Ver las salidas de la canalización
Una vez que se ha ejecutado la canalización, almacena los archivos de salida, los registros, los errores o los archivos temporales en el archivo results/qc_report.html
de la carpeta WORK_DIRECTORY
de tu segmento de Cloud Storage.
Para comprobar los archivos de salida de la canalización en la carpeta WORK_DIRECTORY
de tu segmento de Cloud Storage, puedes usar la consola Google Cloud o la línea de comandos.
Consola
Para comprobar los archivos de salida de la canalización mediante la consola Google Cloud , sigue estos pasos:
En la Google Cloud consola, ve a la página Buckets.
En la columna Nombre, haz clic en el nombre del segmento que has creado en los pasos anteriores.
En la página Detalles del segmento, abra la carpeta
WORK_DIRECTORY
.
Hay una carpeta para cada tarea independiente que ejecuta el flujo de trabajo. Cada carpeta contiene los comandos que se han ejecutado, los archivos de salida y los archivos temporales creados por la canalización.
gcloud
Para comprobar 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
Haz los cambios siguientes:
BUCKET_NAME
: el nombre del segmento que has creado en los pasos anteriores.WORK_DIRECTORY
: el directorio que has especificado en el archivonextflow.config
.
La salida muestra una carpeta para cada tarea independiente que ejecuta el flujo de trabajo. Cada carpeta contiene los comandos que se han ejecutado, los archivos de salida y los archivos temporales creados por la canalización.