diff --git a/CHANGELOG.md b/CHANGELOG.md index 943350247..ab5bdbc53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. * [#111](https://github.com/nf-core/eager/pull/110) - Allow [Zipped FastA reference input](https://github.com/nf-core/eager/issues/91) * [#113](https://github.com/nf-core/eager/pull/113) - All files are now staged via channels, which is considered best practice by Nextflow. * [#114](https://github.com/nf-core/eager/pull/113) - Add proper runtime defaults for multiple processes +* [#118](https://github.com/nf-core/eager/pull/118) - Add centralized configs handling ### `Fixed` * [#110](https://github.com/nf-core/eager/pull/110) - Fix for [MultiQC Missing Second FastQC report](https://github.com/nf-core/eager/issues/107) diff --git a/conf/acad-pheonix.config b/conf/acad-pheonix.config deleted file mode 100644 index ee00208b5..000000000 --- a/conf/acad-pheonix.config +++ /dev/null @@ -1,22 +0,0 @@ -/* - * ---------------------------------------------------------------------------- - * Nextflow config file for use with Singularity on Phoenix Cluster Adelaide - * ---------------------------------------------------------------------------- - * Defines basic usage limits and singularity image id. - */ - -singularity { - enabled = true - autoMounts = true -} - -process { - beforeScript = 'module load Singularity/2.5.2-GCC-5.4.0-2.26' - executor = 'slurm' -} - -params { - max_memory = 128.GB - max_cpus = 32 - max_time = 48.h -} diff --git a/conf/binac.config b/conf/binac.config deleted file mode 100644 index 68ba98f1e..000000000 --- a/conf/binac.config +++ /dev/null @@ -1,22 +0,0 @@ -/* - * ---------------------------------------------------------------------------- - * Nextflow config file for use with Singularity on BINAC cluster in Tuebingen - * ---------------------------------------------------------------------------- - * Defines basic usage limits and singularity image id. - */ - -singularity { - enabled = true -} - -process { - beforeScript = 'module load devel/singularity/2.6.0' - executor = 'pbs' - queue = 'short' -} - -params { - max_memory = 128.GB - max_cpus = 28 - max_time = 48.h -} diff --git a/conf/cfc.config b/conf/cfc.config deleted file mode 100644 index 7915e9714..000000000 --- a/conf/cfc.config +++ /dev/null @@ -1,25 +0,0 @@ -/* - * ------------------------------------------------------------- - * Nextflow config file for use with Singularity on CFC at QBIC - * ------------------------------------------------------------- - * Defines basic usage limits and singularity image id. - */ - -singularity { - enabled = true -} - -/* -*To be improved by process specific configuration asap, once our CFC cluster has the extra options removed - till then, task.attempt in NextFlow is not supported there. -*/ - -process { - beforeScript = 'module load qbic/singularity_slurm/2.5.1' - executor = 'slurm' -} - -params { - max_memory = 60.GB - max_cpus = 24 - max_time = 140.h -} diff --git a/conf/shh.config b/conf/shh.config deleted file mode 100644 index a402e5dca..000000000 --- a/conf/shh.config +++ /dev/null @@ -1,38 +0,0 @@ -/* - * ------------------------------------------------------------- - * Nextflow config file for use with Singularity at SHH Clusters - * ------------------------------------------------------------- - * Defines basic usage limits and singularity image id. - */ - -singularity { - enabled = true - cacheDir = "/projects1/users/$USER/nextflow/nf_cache/singularity/" -} - -/* -* To be improved by process specific resource requests -* By default, take the medium queue, smaller processes might just go to short (e.g. multiqc or similar things) -*/ - -process { - executor = 'slurm' - queue = 'medium' - - - withName:makeFastaIndex { - queue = 'short' - time = 2.h - } - withName:makeSeqDict { - queue = 'short' - time = 2.h - } -} - - -params { - max_memory = 734.GB - max_cpus = 64 - max_time = 48.h -} diff --git a/conf/uzh.config b/conf/uzh.config deleted file mode 100644 index 0a3fac65f..000000000 --- a/conf/uzh.config +++ /dev/null @@ -1,19 +0,0 @@ -/* - * -------------------------------------------------------------------------------- - * Nextflow config file for use with Singularity on University of Zurich Cluster - * -------------------------------------------------------------------------------- - */ - -singularity { - enabled = true -} - -process { - executor = 'slurm' -} - -params { - max_memory = 1800.GB - max_cpus = 112 - max_time = 168.h -} diff --git a/nextflow.config b/nextflow.config index a2f836d5c..012e32934 100644 --- a/nextflow.config +++ b/nextflow.config @@ -31,56 +31,35 @@ params { // AWS Batch awsqueue = false awsregion = 'eu-west-1' + + igenomesIgnore = false + custom_config_version = 'master' } +// Load base.config by default for all pipelines +includeConfig 'conf/base.config' + +// Load nf-core custom profiles from different Institutions +includeConfig "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}/nfcore_custom.config" + profiles { + awsbatch { includeConfig 'conf/awsbatch.config' } conda { process.conda = "$baseDir/environment.yml" } + debug { process.beforeScript = 'echo $HOSTNAME' } docker { docker.enabled = true process.container = params.container } singularity { singularity.enabled = true + process.container = {"shub://${params.container.replace('nfcore', 'nf-core')}"} } - standard { - includeConfig 'conf/base.config' - } - awsbatch { - includeConfig 'conf/base.config' - includeConfig 'conf/awsbatch.config' - includeConfig 'conf/igenomes.config' - } - binac { - includeConfig 'conf/base.config' - includeConfig 'conf/binac.config' - } - uzh { - includeConfig 'conf/base.config' - includeConfig 'conf/uzh.config' - } - phoenix { - includeConfig 'conf/base.config' - includeConfig 'conf/acad-pheonix.config' - } - shh { - includeConfig 'conf/base.config' - includeConfig 'conf/shh.config' - } - cfc { - includeConfig 'conf/base.config' - includeConfig 'conf/cfc.config' - } - standard { - includeConfig 'conf/base.config' - } - test { - includeConfig 'conf/base.config' - includeConfig 'conf/test.config' - } - debug { process.beforeScript = 'echo $HOSTNAME' } - none { - // Don't load any config (for use with custom home configs) - } + test { includeConfig 'conf/test.config' } +} + +// Load igenomes.config if required +if(!params.igenomesIgnore){ + includeConfig 'conf/igenomes.config' } // Capture exit codes from upstream processes when piping