From 9ea3e2096af742f2449447954b9ca9d75295046f Mon Sep 17 00:00:00 2001 From: pierrespc Date: Wed, 29 Sep 2021 13:11:14 +0200 Subject: [PATCH] long and normal qos profiles defined now in an unique maestro config file. maestro.config also defined in pipeline/eager for ressources assignation to specific processes --- conf/maestro.config | 47 +++++++++++++++++------ conf/pipeline/eager/maestro.config | 60 ++++++++++++++++++++++++++++++ pipeline/eager.config | 1 + 3 files changed, 96 insertions(+), 12 deletions(-) create mode 100644 conf/pipeline/eager/maestro.config diff --git a/conf/maestro.config b/conf/maestro.config index a3fb7b5..bf48c23 100644 --- a/conf/maestro.config +++ b/conf/maestro.config @@ -10,17 +10,40 @@ singularity { runOptions = '--home $HOME:/home/$USER --bind /pasteur' } -process { - executor = 'slurm' - scratch = false - queue = 'common' - clusterOptions = '--qos=normal' -} +profiles { + + normal { + process { + executor = 'slurm' + scratch = false + queue = 'common' + clusterOptions = '--qos=normal' + } + + params { + igenomes_ignore = true + igenomesIgnore = true + max_memory = 400.GB + max_cpus = 96 + max_time = 24.h + } + } + + long { + process { + executor = 'slurm' + scratch = false + queue = 'common' + clusterOptions = '--qos=long' + } + + params { + igenomes_ignore = true + igenomesIgnore = true + max_memory = 400.GB + max_cpus = 5 + max_time = 8760.h + } + } -params { - igenomes_ignore = true - igenomesIgnore = true - max_memory = 400.GB - max_cpus = 96 - max_time = 24.h } diff --git a/conf/pipeline/eager/maestro.config b/conf/pipeline/eager/maestro.config new file mode 100644 index 0000000..8046c80 --- /dev/null +++ b/conf/pipeline/eager/maestro.config @@ -0,0 +1,60 @@ +/* + * ------------------------------------------------- + * Nextflow config file for running tests + * ------------------------------------------------- + * Defines bundled input files and everything required + * to run a fast and simple test. Use as follows: + * nextflow run nf-core/eager -profile test, docker (or singularity, or conda) + */ + +params { + + config_profile_name = 'nf-core/eager nucleaer - human profile' + + config_profile_description = "A simple profile for human nuclear genomes" + + email = 'pluisi@pasteur.fr' +} + + +process { + errorStrategy = 'retry' + maxRetries = 2 + + withName:'makeBWAIndex'{ + cpus = { check_max( 8 * task.attempt, 'cpus' ) } + memory = { check_max( 8.GB * task.attempt, 'memory' ) } + time = { check_max( 12.h * task.attempt, 'time' ) } + } + withName:'adapter_removal'{ + cpus = { check_max( 8 * task.attempt, 'cpus' ) } + memory = { check_max( 16.GB * task.attempt, 'memory' ) } + time = { check_max( 12.h * task.attempt, 'time' ) } + } + withName:'bwa'{ + cpus = { check_max( 15 * task.attempt, 'cpus' ) } + memory = { check_max( 16.GB * task.attempt, 'memory' ) } + time = 24.h + } + withName:'markduplicates'{ + errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'finish' } + cpus = { check_max( 8 * task.attempt, 'cpus' ) } + memory = { check_max( 8.GB * task.attempt, 'memory' ) } + time = { check_max( 6.h * task.attempt, 'time' ) } + } + withName:'damageprofiler'{ + cpus = 1 + memory = { check_max( 8.GB * task.attempt, 'memory' ) } + time = { check_max( 6.h * task.attempt, 'time' ) } + } + withName:'fastp'{ + cpus = 8 + memory = { check_max( 8.GB * task.attempt, 'memory' ) } + time = { check_max( 6.h * task.attempt, 'time' ) } + } + withName:'fastqc'{ + cpus = 2 + memory = { check_max( 8.GB * task.attempt, 'memory' ) } + time = { check_max( 6.h * task.attempt, 'time' ) } + } +} diff --git a/pipeline/eager.config b/pipeline/eager.config index 3e47276..352395b 100644 --- a/pipeline/eager.config +++ b/pipeline/eager.config @@ -11,4 +11,5 @@ profiles { mpcdf { includeConfig "${params.custom_config_base}/conf/pipeline/eager/mpcdf.config" } eva { includeConfig "${params.custom_config_base}/conf/pipeline/eager/eva.config" } + maestro { includeConfig "${params.custom_config_base}/conf/maestro.config" } }