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:
En la consola de Google Cloud , ve a la página Buckets.
Haz clic en
Crear.En la página Crear un bucket, ingresa un nombre único a nivel global para tu bucket.
Haz clic en Crear.
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:
Clona el repositorio de la canalización de muestra:
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
, haz lo siguiente:Reemplaza
BUCKET_NAME
por el nombre del bucket de Cloud Storage que creaste en los pasos anteriores.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
.Reemplaza
REGION
por la región que deseas usar.Por ejemplo, ingresa
us-central1
.Después del campo
google.region
, agrega los siguientes campos:Agrega el campo
google.project
:google.project = 'PROJECT_ID'
Reemplaza
PROJECT_ID
por el ID del proyecto Google Cloud actual.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.
Para guardar los cambios, haz lo siguiente:
Presiona
Control+S
.Ingresa
Y
.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:
En la consola de Google Cloud , ve a la página Buckets.
En la columna Nombre, haz clic en el nombre del bucket que creaste en los pasos anteriores.
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 archivonextflow.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.