Skip to content

Les workflows

Il existe de nombreux langages de workflow dont l'objectif est de permettre une reproductibilité des analyses scientifiques. Certains sont disponibles sur le cluster de calcul du Mésocentre Clermont-Auvergne dont des workflows centrés autour de la donnée.

Nextflow

Nextflow

Les atouts de Nextflow

  • adapté à des jobs complexes
  • les tâches sont parallélisables
  • gère des tâches complexes et leurs relations

Les inconvénients de Nextflow

  • une mauvaise configuration va dégrader les performances de l'ordonnanceur
  • moyennement adapté à l'usage d'un cluster de calcul
  • génère de nombreux fichiers temporaires qui peuvent saturer les quotas de stockage pour les grands jeux de données

Running the Nextflow workflow on the HPC2 cluster

Nextflow est installé sur le cluster de calcul HPC2. Il gère chaque processus comme un job à part qui est soumis sur le cluster de calcul via la commande sbatch.

# Login to a compute node
$ srun --pty bash

# Export required variables
$ export NXF_TEMP="/storage/scratch/$USER/tmp"
$ export NXF_GLOBAL_CONFIG="/storage/scratch/$USER/config"
$ export NXF_ASSETS="/storage/scratch/$USER/assests"

$ module load nextflow/20.04.1

# Run a downloaded/git-cloned nextflow workflow from
$ nextflow run \\
$ /path/to/nf-core/workflow \\
$ -resume
$ -profile aubi \\
$ --email my-email@example.org  \\
$ -c my-specific.config
$ ...

# Or use the nf-core client
$ nextflow run nf-core/rnaseq ...

# Or use nextflow test data
$ nextflow run nf-core/atacseq -profile test,conda

Snakemake

Snakemake est un outil open-source qui permet le déploiement de workflows complexe avec un langage de scripting hybride de Shell et de Python. Snakemake détermine automatiquement la structure du workflow en fonction des fichiers input/output spécifiés à chaque étape du job. Il a été développé pour la communauté des sciences de la vie mais peut tout à fait être utilisé pour d'autres types de données. Des tutoriels sont disponibles ici pour débuter.

Les atouts de Snakemake

  • adapté à l'usage d'un cluster de calcul
  • adapté à des jobs complexes
  • les tâches sont parallélisables
  • a des méthodes pour visualiser des graphes de tâches
  • a des méthodes de suivi des tâches finies ou en attente

Les inconvénients de Snakemake

  • apprentissage du langage
  • 2 modes de fonctionnement single node et cluster mode. Des tests sont en cours pour évaluer l'impact sur l'ordonnanceur SLURM. Il semblerait qu'une soumission en single node soit préférable.