diff --git a/conf/mpcdf.config b/conf/mpcdf.config index ed78d58..99ed056 100644 --- a/conf/mpcdf.config +++ b/conf/mpcdf.config @@ -32,7 +32,7 @@ profiles { params { config_profile_description = 'MPCDF cobra profile (unofficially) provided by nf-core/configs.' max_memory = 725.GB - max_cpus = 80 + max_cpus = 40 max_time = 24.h } } diff --git a/conf/pipeline/rnaseq/mpcdf.config b/conf/pipeline/rnaseq/mpcdf.config new file mode 100644 index 0000000..f26de1f --- /dev/null +++ b/conf/pipeline/rnaseq/mpcdf.config @@ -0,0 +1,50 @@ +// Profile config names for nf-core/configs + +profiles { + cobra { + params { + // Specific nf-core/configs params + config_profile_contact = 'James Fellows Yates (@jfy133)' + config_profile_description = 'nf-core/rnaseq MPCDF cobra profile provided by nf-core/configs' + } + 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 + } + } + } +} diff --git a/docs/mpcdf.md b/docs/mpcdf.md index 2f9f55c..f1b1a4b 100644 --- a/docs/mpcdf.md +++ b/docs/mpcdf.md @@ -12,24 +12,36 @@ 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 -To use: `-profile cobra,mpcdf` +### cobra + +To use: `-profile mpcdf,cobra` Sets the following parameters: - Maximum parallel running jobs: 8 -- Max. memory: 750.GB -- Max. CPUs: 80 +- Max. memory: 725.GB +- Max. CPUs: 40 - Max. walltime: 24.h -## raven +### raven -To use: `-profile raven,mpcdf` +To use: `-profile mpcdf,raven` Sets the following parameters: - Maximum parallel running jobs: 8 -- Max. memory: 368.GB -- Max. CPUs: 192 +- Max. memory: 200000.MB (2.TB) +- Max. CPUs: 72 - 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" } }