diff --git a/conf/pipeline/rnaseq/mpcdf.config b/conf/pipeline/rnaseq/mpcdf.config new file mode 100644 index 0000000..6954946 --- /dev/null +++ b/conf/pipeline/rnaseq/mpcdf.config @@ -0,0 +1,51 @@ +// Profile config names for nf-core/configs + +params { + // Specific nf-core/configs params + config_profile_contact = 'James Fellows Yates (@jfy133)' + config_profile_description = 'nf-core/rnaseq MPCDF profile provided by nf-core/configs' +} + +profiles { + cobra { + process { + cpus = { check_max( 1 * task.attempt, 'cpus' ) } + memory = { check_max( 6.GB * task.attempt, 'memory' ) } + time = { check_max( 4.h * task.attempt, 'time' ) } + + errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'finish' } + maxRetries = 1 + maxErrors = '-1' + + // Process-specific resource requirements + withLabel:process_low { + cpus = { check_max( 2 * task.attempt, 'cpus' ) } + memory = { check_max( 12.GB * task.attempt, 'memory' ) } + time = { check_max( 4.h * task.attempt, 'time' ) } + } + withLabel:process_medium { + cpus = 40 + memory = { check_max( 36.GB * task.attempt, 'memory' ) } + time = { check_max( 6.h * task.attempt, 'time' ) } + } + withLabel:process_high { + cpus = 40 + memory = { check_max( 72.GB * task.attempt, 'memory' ) } + time = { check_max( 10.h * task.attempt, 'time' ) } + } + withLabel:process_long { + time = 24.h + } + withLabel:process_high_memory { + cpus = 40 + memory = { check_max( 200.GB * task.attempt, 'memory' ) } + } + withLabel:error_ignore { + errorStrategy = 'ignore' + } + withName:CUSTOM_DUMPSOFTWAREVERSIONS { + cache = false + } + } + } +} \ No newline at end of file diff --git a/docs/mpcdf.md b/docs/mpcdf.md index 2f9f55c..3c76af4 100644 --- a/docs/mpcdf.md +++ b/docs/mpcdf.md @@ -12,7 +12,8 @@ All profiles use `singularity` as the corresponding containerEngine. To prevent >NB: Nextflow will need to submit the jobs via SLURM to the clusters and as such the commands above will have to be executed on one of the head nodes. Check the [MPCDF documentation](https://www.mpcdf.mpg.de/services/computing). -## cobra +## Global Profiles +### cobra To use: `-profile cobra,mpcdf` @@ -23,7 +24,7 @@ Sets the following parameters: - Max. CPUs: 80 - Max. walltime: 24.h -## raven +### raven To use: `-profile raven,mpcdf` @@ -33,3 +34,13 @@ Sets the following parameters: - Max. memory: 368.GB - Max. CPUs: 192 - Max. walltime: 24.h + +## Pipeline Profiles + +### nf-core/eager + +We offer a pipeline specific profile optimised for [nf-core/eager](https://nf-co.re/eager) + +### nf-core/rnaseq + +We offer a pipeline specific profile optimised for [nf-core/rnaseq](https://nf-co.re/rnaseq) diff --git a/pipeline/eager.config b/pipeline/eager.config index 10dd990..82fd071 100644 --- a/pipeline/eager.config +++ b/pipeline/eager.config @@ -9,7 +9,7 @@ */ 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/pipeline/eager/maestro.config" } + mpcdf { includeConfig "${params.custom_config_base}/conf/pipeline/eager/mpcdf.config" } } diff --git a/pipeline/rnaseq.config b/pipeline/rnaseq.config index 17a4ca0..0486d86 100644 --- a/pipeline/rnaseq.config +++ b/pipeline/rnaseq.config @@ -10,5 +10,6 @@ profiles { eddie { includeConfig "${params.custom_config_base}/conf/pipeline/rnaseq/eddie.config" } + mpcdf { includeConfig "${params.custom_config_base}/conf/pipeline/rnaseq/mpcdf.config" } utd_sysbio { includeConfig "${params.custom_config_base}/conf/pipeline/rnaseq/utd_sysbio.config" } }