Ce tutoriel explique comment exécuter un pipeline Nextflow sur Batch. Plus précisément, ce tutoriel exécute l'exemple de pipeline Life Sciences rnaseq-nf
de Nextflow, qui quantifie les caractéristiques génomiques à partir de données de lecture courte à l'aide de RNA-Seq.
Ce tutoriel s'adresse aux utilisateurs de Batch qui souhaitent utiliser Nextflow avec Batch.
Nextflow est un logiciel Open Source permettant d'orchestrer des workflows bio-informatiques.
Créer un bucket Cloud Storage
Pour créer un bucket Cloud Storage afin de stocker les fichiers de sortie et de travail temporaires du pipeline Nextflow, utilisez la console Google Cloud ou la ligne de commande.
Console
Pour créer un bucket Cloud Storage à l'aide de la console Google Cloud , procédez comme suit :
Dans la console Google Cloud , accédez à la page Buckets.
Cliquez sur
Créer.Sur la page Créer un bucket, saisissez un nom unique au niveau mondial pour votre bucket.
Cliquez sur Créer.
Dans la fenêtre L'accès public sera bloqué, cliquez sur Confirmer.
gcloud
Pour créer un bucket Cloud Storage à l'aide de la Google Cloud CLI, utilisez la commande gcloud storage buckets create
.
gcloud storage buckets create gs://BUCKET_NAME
Remplacez BUCKET_NAME
par un nom unique pour votre bucket.
Si la requête aboutit, le résultat doit ressembler à ce qui suit :
Creating gs://BUCKET_NAME/...
```
Configurer Nextflow
Pour configurer le pipeline Nextflow afin qu'il s'exécute sur Batch, procédez comme suit dans la ligne de commande :
Clonez l'exemple de dépôt de pipeline :
git clone https://github.com/nextflow-io/rnaseq-nf.git
Accédez au dossier
rnaseq-nf
:cd rnaseq-nf
Ouvrez le fichier
nextflow.config
:nano nextflow.config
Le fichier doit contenir la section
gcb
suivante :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' }
Dans la section
gcb
, procédez comme suit :Remplacez
BUCKET_NAME
par le nom du bucket Cloud Storage que vous avez créé lors des étapes précédentes.Remplacez
WORK_DIRECTORY
par le nom d'un nouveau dossier que le pipeline peut utiliser pour stocker les journaux et les sorties.Par exemple, saisissez
workDir
.Remplacez
REGION
par la région à utiliser.Par exemple, saisissez
us-central1
.Après le champ
google.region
, ajoutez les champs suivants :Ajoutez le champ
google.project
:google.project = 'PROJECT_ID'
Remplacez
PROJECT_ID
par l'ID du projet actuel Google Cloud .Si vous n'utilisez pas le compte de service Compute Engine par défaut comme compte de service du job, ajoutez le champ
google.batch.serviceAccountEmail
:google.batch.serviceAccountEmail = 'SERVICE_ACCOUNT_EMAIL'
Remplacez
SERVICE_ACCOUNT_EMAIL
par l'adresse e-mail du compte de service du job que vous avez préparé pour ce tutoriel.
Pour enregistrer vos modifications :
Appuyez sur la touche
Control+S
.Saisissez
Y
.Appuyez sur la touche
Enter
.
Exécuter le pipeline
Exécutez l'exemple de pipeline Nextflow à l'aide de la ligne de commande :
../nextflow run nextflow-io/rnaseq-nf -profile gcb
Le pipeline exécute un petit ensemble de données à l'aide des paramètres que vous avez fournis lors des étapes précédentes. Cette opération peut prendre jusqu'à 10 minutes.
Une fois le pipeline exécuté, le résultat devrait ressembler à ce qui suit :
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
Afficher les sorties du pipeline
Une fois le pipeline exécuté, il stocke les fichiers de sortie, les journaux, les erreurs ou les fichiers temporaires dans le fichier results/qc_report.html
du dossier WORK_DIRECTORY
de votre bucket Cloud Storage.
Pour vérifier les fichiers de sortie du pipeline dans le dossier WORK_DIRECTORY
de votre bucket Cloud Storage, vous pouvez utiliser la console Google Cloud ou la ligne de commande.
Console
Pour vérifier les fichiers de sortie du pipeline à l'aide de la console Google Cloud , procédez comme suit :
Dans la console Google Cloud , accédez à la page Buckets.
Dans la colonne Nom, cliquez sur le nom du bucket que vous avez créé lors des étapes précédentes.
Sur la page Informations sur le bucket, ouvrez le dossier
WORK_DIRECTORY
.
Il existe un dossier pour chacune des tâches distinctes exécutées par le workflow. Chaque dossier contient les commandes exécutées, les fichiers de sortie et les fichiers temporaires créés par le pipeline.
gcloud
Pour vérifier les fichiers de sortie du pipeline à l'aide de gcloud CLI, utilisez la commande gcloud storage ls
.
gcloud storage ls gs://BUCKET_NAME/WORK_DIRECTORY
Remplacez les éléments suivants :
BUCKET_NAME
: nom du bucket que vous avez créé lors des étapes précédentes.WORK_DIRECTORY
: répertoire que vous avez spécifié dans le fichiernextflow.config
.
Le résultat liste un dossier pour chacune des tâches distinctes exécutées par le pipeline. Chaque dossier contient les commandes exécutées, les fichiers de sortie et les fichiers temporaires créés par le pipeline.