From 11e2083fb1ea0d38988ed6d68bf1b6051450237c Mon Sep 17 00:00:00 2001 From: ameynert Date: Wed, 3 Mar 2021 09:57:34 +0000 Subject: [PATCH 01/21] Added eddie profile to nfcore_custom.config list --- nfcore_custom.config | 1 + 1 file changed, 1 insertion(+) diff --git a/nfcore_custom.config b/nfcore_custom.config index 429e3c1..7abbb7e 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -23,6 +23,7 @@ profiles { crick { includeConfig "${params.custom_config_base}/conf/crick.config" } czbiohub_aws { includeConfig "${params.custom_config_base}/conf/czbiohub_aws.config" } ebc { includeConfig "${params.custom_config_base}/conf/ebc.config" } + eddie { includeConfig "${params.custom_config_bsae}/conf/eddie.config" } icr_davros { includeConfig "${params.custom_config_base}/conf/icr_davros.config" } imperial { includeConfig "${params.custom_config_base}/conf/imperial.config" } imperial_mb { includeConfig "${params.custom_config_base}/conf/imperial_mb.config" } From 3af2c6409f66f387c2b5aa7f039f435e0c74404c Mon Sep 17 00:00:00 2001 From: ameynert Date: Wed, 3 Mar 2021 09:59:16 +0000 Subject: [PATCH 02/21] Initial commit of eddie.config --- conf/eddie.config | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 conf/eddie.config diff --git a/conf/eddie.config b/conf/eddie.config new file mode 100644 index 0000000..11ae1d9 --- /dev/null +++ b/conf/eddie.config @@ -0,0 +1,30 @@ +//Profile config names for nf-core/configs +params { + config_profile_description = 'University of Edinburgh (eddie) cluster profile provided by nf-core/configs.' + config_profile_contact = 'Alison Meynert (@ameynert)' + config_profile_url = 'https://www.ed.ac.uk/information-services/research-support/research-computing/ecdf/high-performance-computing' +} + +conda.createTimeout = '2h' + +process { + executor = 'sge' + + # memory environment & options + clusterOptions = {"-l h_vmem=${task.memory.bytes/task.cpus}"} + penv = 'sharedmem' + + # common SGE error statuses + errorStrategy = {task.exitStatus in [143,137,104,134,139] ? 'retry' : 'finish'} + maxErrors = '-1' + maxRetries = 3 + + # load module script for Anaconda + beforeScript = { '. /etc/profile.d/modules.sh; sleep 2; ' } + module = 'anaconda/5.3.1' +} +params { + saveReference = true + // illumina iGenomes reference file paths on GIS Aquila + igenomes_base = '/exports/igmm/eddie/NextGenResources/igenomes/' +} From 6f09a233f072e5878b5b8df803484d3ee3778f51 Mon Sep 17 00:00:00 2001 From: ameynert Date: Thu, 4 Mar 2021 14:46:23 +0000 Subject: [PATCH 03/21] Added singularity module --- conf/eddie.config | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/conf/eddie.config b/conf/eddie.config index 11ae1d9..5b156be 100644 --- a/conf/eddie.config +++ b/conf/eddie.config @@ -5,7 +5,13 @@ params { config_profile_url = 'https://www.ed.ac.uk/information-services/research-support/research-computing/ecdf/high-performance-computing' } -conda.createTimeout = '2h' +conda { + createTimeout = '2h' +} + +singularity { + enabled = true +} process { executor = 'sge' @@ -19,12 +25,19 @@ process { maxErrors = '-1' maxRetries = 3 - # load module script for Anaconda + # load module script for Anaconda and Singularity beforeScript = { '. /etc/profile.d/modules.sh; sleep 2; ' } module = 'anaconda/5.3.1' + module = 'singularity/3.5.3' } + params { saveReference = true - // illumina iGenomes reference file paths on GIS Aquila + + // iGenomes reference base igenomes_base = '/exports/igmm/eddie/NextGenResources/igenomes/' + + max_memory = 384.GB + max_cpus = 32 + max_time = 240.h } From 4c0111f598935e7223c8d51f510a9271e959e41c Mon Sep 17 00:00:00 2001 From: ameynert Date: Thu, 4 Mar 2021 14:46:58 +0000 Subject: [PATCH 04/21] Eddie profile documentation initial commit --- docs/eddie.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 docs/eddie.md diff --git a/docs/eddie.md b/docs/eddie.md new file mode 100644 index 0000000..e6a2f87 --- /dev/null +++ b/docs/eddie.md @@ -0,0 +1,49 @@ +# nf-core/configs: Eddie Configuration + +nf-core pipelines sarek, rnaseq, and atacseq have all been tested on the University of Edinburgh Eddie HPC. + +## Getting help + +There is a Slack channel dedicated to eddie users on the MRC IGMM Slack: [https://igmm.slack.com/channels/eddie3](https://igmm.slack.com/channels/eddie3) + +## Using the Eddie config profile + +To use, run the pipeline with `-profile eddie` (one hyphen). +This will download and launch the [`eddie.config`](../conf/eddie.config) which has been pre-configured with a setup suitable for the [University of Edinburgh Eddie HPC](https://www.ed.ac.uk/information-services/research-support/research-computing/ecdf/high-performance-computing). + +The configuration file supports running nf-core pipelines with either a Conda environment or Docker containers running under Singularity. + +```bash +nextflow run nf-core/PIPELINE -profile eddie # ..rest of pipeline flags +``` + +Before running the pipeline you will need to install Nextflow or load it from the module system. Generally the most recent version will be the one you want. + +To list versions: + +```bash +module avail igmm/apps/nextflow +``` + +To load the most recent version: +```bash +module load igmm/apps/nextflow +``` + + +This config enables Nextflow to manage the pipeline jobs via the SGE job scheduler and using Conda or Singularity for software management. + +To set up Nextflow on a login node ... TODO + +## Using iGenomes references + +A local copy of the iGenomes resource has been made available on the Eddie HPC so you should be able to run the pipeline against any reference available in the `igenomes.config`. +You can do this by simply using the `--genome ` parameter. + +## Adjusting maximum resources + +This config is set for IGMM standard nodes which have 32 cores and 384GB memory. If you are a non-IGMM user, please see the [ECDF specification](https://www.wiki.ed.ac.uk/display/ResearchServices/Memory+Specification) and adjust the `--clusterOptions` flag appropriately, e.g. + +```bash +--clusterOptions "-C mem256GB" --max_memory "256GB" +``` From babeccd020011e62671b2df27c201a2cdb5cedae Mon Sep 17 00:00:00 2001 From: Graeme Grimes Date: Thu, 4 Mar 2021 16:45:21 +0000 Subject: [PATCH 05/21] changed # to // for comments --- conf/eddie.config | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/eddie.config b/conf/eddie.config index 5b156be..3968783 100644 --- a/conf/eddie.config +++ b/conf/eddie.config @@ -16,16 +16,16 @@ singularity { process { executor = 'sge' - # memory environment & options + // memory environment & options clusterOptions = {"-l h_vmem=${task.memory.bytes/task.cpus}"} penv = 'sharedmem' - # common SGE error statuses + // common SGE error statuses errorStrategy = {task.exitStatus in [143,137,104,134,139] ? 'retry' : 'finish'} maxErrors = '-1' maxRetries = 3 - # load module script for Anaconda and Singularity + // load module script for Anaconda and Singularity beforeScript = { '. /etc/profile.d/modules.sh; sleep 2; ' } module = 'anaconda/5.3.1' module = 'singularity/3.5.3' From cfe13fe6c1b72bbfeb27d56843c93f7714cc505d Mon Sep 17 00:00:00 2001 From: ameyner2 Date: Mon, 15 Mar 2021 15:42:30 +0000 Subject: [PATCH 06/21] Fixed typo & added singularity tmpdir --- conf/eddie.config | 44 +++++++++++++++++++++++++------------------- nfcore_custom.config | 2 +- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/conf/eddie.config b/conf/eddie.config index 3968783..6145908 100644 --- a/conf/eddie.config +++ b/conf/eddie.config @@ -5,39 +5,45 @@ params { config_profile_url = 'https://www.ed.ac.uk/information-services/research-support/research-computing/ecdf/high-performance-computing' } -conda { - createTimeout = '2h' -} - -singularity { - enabled = true +executor { + name = "sge" + queueSize = "100" } process { - executor = 'sge' - - // memory environment & options - clusterOptions = {"-l h_vmem=${task.memory.bytes/task.cpus}"} - penv = 'sharedmem' + clusterOptions = { task.memory ? "-l h_vmem=${task.memory.bytes/task.cpus}" : null } + scratch = true + penv = { task.cpus > 1 ? "sharedmem" : null } // common SGE error statuses - errorStrategy = {task.exitStatus in [143,137,104,134,139] ? 'retry' : 'finish'} + errorStrategy = {task.exitStatus in [143,137,104,134,139,140] ? 'retry' : 'finish'} maxErrors = '-1' maxRetries = 3 - // load module script for Anaconda and Singularity - beforeScript = { '. /etc/profile.d/modules.sh; sleep 2; ' } - module = 'anaconda/5.3.1' - module = 'singularity/3.5.3' + beforeScript = + """ + '. /etc/profile.d/modules.sh + sleep 2 + module load 'anaconda/5.3.1' + module load 'roslin/singularity/3.5.3' + export SINGULARITY_TMPDIR="\$TMPDIR" + """ } params { saveReference = true - // iGenomes reference base - igenomes_base = '/exports/igmm/eddie/NextGenResources/igenomes/' - + igenomes_base = '/exports/igmm/eddie/NextGenResources/igenomes' max_memory = 384.GB max_cpus = 32 max_time = 240.h } + +env { + MALLOC_ARENA_MAX=1 +} + +singularity { + envWhitelist = "SINGULARITY_TMPDIR" + runOptions = '-p' +} \ No newline at end of file diff --git a/nfcore_custom.config b/nfcore_custom.config index 7abbb7e..b338f1c 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -23,7 +23,7 @@ profiles { crick { includeConfig "${params.custom_config_base}/conf/crick.config" } czbiohub_aws { includeConfig "${params.custom_config_base}/conf/czbiohub_aws.config" } ebc { includeConfig "${params.custom_config_base}/conf/ebc.config" } - eddie { includeConfig "${params.custom_config_bsae}/conf/eddie.config" } + eddie { includeConfig "${params.custom_config_base}/conf/eddie.config" } icr_davros { includeConfig "${params.custom_config_base}/conf/icr_davros.config" } imperial { includeConfig "${params.custom_config_base}/conf/imperial.config" } imperial_mb { includeConfig "${params.custom_config_base}/conf/imperial_mb.config" } From d4cd07c646dabcbaa70ccdd3c02647f8c1b34e86 Mon Sep 17 00:00:00 2001 From: ameyner2 Date: Wed, 17 Mar 2021 09:21:26 +0000 Subject: [PATCH 07/21] Typo in beforescript --- conf/eddie.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/eddie.config b/conf/eddie.config index 6145908..17ddbba 100644 --- a/conf/eddie.config +++ b/conf/eddie.config @@ -22,7 +22,7 @@ process { beforeScript = """ - '. /etc/profile.d/modules.sh + . /etc/profile.d/modules.sh sleep 2 module load 'anaconda/5.3.1' module load 'roslin/singularity/3.5.3' From 4ad6bb2bec13d3bf7d4d256c6e2f23e789e5c92d Mon Sep 17 00:00:00 2001 From: ameynert Date: Wed, 17 Mar 2021 14:50:40 +0000 Subject: [PATCH 08/21] Singularity info --- docs/eddie.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/eddie.md b/docs/eddie.md index e6a2f87..fec6539 100644 --- a/docs/eddie.md +++ b/docs/eddie.md @@ -11,10 +11,10 @@ There is a Slack channel dedicated to eddie users on the MRC IGMM Slack: [https: To use, run the pipeline with `-profile eddie` (one hyphen). This will download and launch the [`eddie.config`](../conf/eddie.config) which has been pre-configured with a setup suitable for the [University of Edinburgh Eddie HPC](https://www.ed.ac.uk/information-services/research-support/research-computing/ecdf/high-performance-computing). -The configuration file supports running nf-core pipelines with either a Conda environment or Docker containers running under Singularity. +The configuration file supports running nf-core pipelines with Docker containers running under Singularity. Support for Conda will follow. ```bash -nextflow run nf-core/PIPELINE -profile eddie # ..rest of pipeline flags +nextflow run nf-core/PIPELINE -profile eddie,singularity # ..rest of pipeline flags ``` Before running the pipeline you will need to install Nextflow or load it from the module system. Generally the most recent version will be the one you want. @@ -30,11 +30,19 @@ To load the most recent version: module load igmm/apps/nextflow ``` - This config enables Nextflow to manage the pipeline jobs via the SGE job scheduler and using Conda or Singularity for software management. To set up Nextflow on a login node ... TODO +## Singularity set-up + +Load Singularity from the module system and set the Singularity cache directory to the NextGenResources path for the pipeline and version you want to run. If this does not exist, please contact the [IGMM Data Manager](data.manager@igmm.ed.ac.uk) to have it added. + +``` +module load singularity +export NXF_SINGULARITY_CACHEDIR="/exports/igmm/eddie/NextGenResources/nextflow/singularity/nf-core-rnaseq_v3.0" +``` + ## Using iGenomes references A local copy of the iGenomes resource has been made available on the Eddie HPC so you should be able to run the pipeline against any reference available in the `igenomes.config`. From 059d353a1e1d14c4307c5427a65115c7d85b2d6e Mon Sep 17 00:00:00 2001 From: ameyner2 Date: Thu, 18 Mar 2021 12:31:56 +0000 Subject: [PATCH 09/21] Removed Conda, added automount Singularity --- conf/eddie.config | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/conf/eddie.config b/conf/eddie.config index 17ddbba..70e0dcc 100644 --- a/conf/eddie.config +++ b/conf/eddie.config @@ -23,8 +23,6 @@ process { beforeScript = """ . /etc/profile.d/modules.sh - sleep 2 - module load 'anaconda/5.3.1' module load 'roslin/singularity/3.5.3' export SINGULARITY_TMPDIR="\$TMPDIR" """ @@ -46,4 +44,7 @@ env { singularity { envWhitelist = "SINGULARITY_TMPDIR" runOptions = '-p' -} \ No newline at end of file + enabled = true + autoMounts = true +} + From af6a6b1060d5b59c7e7be33b832701ada7ce2c27 Mon Sep 17 00:00:00 2001 From: ameynert Date: Thu, 18 Mar 2021 12:48:48 +0000 Subject: [PATCH 10/21] Details on running on eddie Removed Conda support, Singularity by default. Added login and screen session on wild west node options. --- docs/eddie.md | 60 +++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 51 insertions(+), 9 deletions(-) diff --git a/docs/eddie.md b/docs/eddie.md index fec6539..faecad7 100644 --- a/docs/eddie.md +++ b/docs/eddie.md @@ -11,13 +11,14 @@ There is a Slack channel dedicated to eddie users on the MRC IGMM Slack: [https: To use, run the pipeline with `-profile eddie` (one hyphen). This will download and launch the [`eddie.config`](../conf/eddie.config) which has been pre-configured with a setup suitable for the [University of Edinburgh Eddie HPC](https://www.ed.ac.uk/information-services/research-support/research-computing/ecdf/high-performance-computing). -The configuration file supports running nf-core pipelines with Docker containers running under Singularity. Support for Conda will follow. +The configuration file supports running nf-core pipelines with Docker containers running under Singularity by default. Conda is not currently supported. ```bash -nextflow run nf-core/PIPELINE -profile eddie,singularity # ..rest of pipeline flags +nextflow run nf-core/PIPELINE -profile eddie # ..rest of pipeline flags ``` -Before running the pipeline you will need to install Nextflow or load it from the module system. Generally the most recent version will be the one you want. +Before running the pipeline you will need to install Nextflow or load it from the module system. Generally the most recent version will be the one you want. +If you want to run a Nextflow pipeline that is based on [DSL2](https://www.nextflow.io/docs/latest/dsl2.html), you will need a version that ends with '-edge'. To list versions: @@ -30,19 +31,60 @@ To load the most recent version: module load igmm/apps/nextflow ``` -This config enables Nextflow to manage the pipeline jobs via the SGE job scheduler and using Conda or Singularity for software management. +This config enables Nextflow to manage the pipeline jobs via the SGE job scheduler and using Singularity for software management. -To set up Nextflow on a login node ... TODO +## Singularity set-up -## Singularity set-up +Load Singularity from the module system and set the Singularity cache directory to the NextGenResources path for the pipeline and version you want to run. If this does not exist, please contact the [IGMM Data Manager](data.manager@igmm.ed.ac.uk) to have it added. You can add these lines to the file `$HOME/.bashrc`, or you can run these commands before you run an nf-core pipeline. -Load Singularity from the module system and set the Singularity cache directory to the NextGenResources path for the pipeline and version you want to run. If this does not exist, please contact the [IGMM Data Manager](data.manager@igmm.ed.ac.uk) to have it added. - -``` +```bash module load singularity export NXF_SINGULARITY_CACHEDIR="/exports/igmm/eddie/NextGenResources/nextflow/singularity/nf-core-rnaseq_v3.0" ``` +Singularity will create a directory `.singularity` in your `$HOME` directory on eddie. Space on `$HOME` is very limited, so it is a good idea to create a directory somewhere else with more room and link the locations. + +```bash +cd $HOME +mkdir /exports/eddie/path/to/my/area/.singularity +ln -s /exports/eddie/path/to/my/area/.singularity .singularity +``` + +## Running Nextflow + +### On a login node + +You can use a qlogin to run Nextflow, if you request more than the default 2GB of memory. Unfortunately you can't submit the initial Nextflow run process as a job as you can't qsub within a qsub. + +```bash +qlogin -l h_vmem=8G +``` + +If your eddie terminal disconnects your Nextflow job will stop. You can run Nextflow as a bash script on the command line using `nohup` to prevent this. + +``` +nohup ./nextflow_run.sh & +``` + +### On a wild west node + +Wild west nodes on eddie can be accessed via ssh (node2c15, node2c16, node3g22). To run Nextflow on one of these nodes, do it within a [screen session](https://linuxize.com/post/how-to-use-linux-screen/). + +Start a new screen session. +```bash +screen -S +``` + +List existing screen sessions +```bash +screen -ls +``` + +Reconnect to an existing screen session +```bash +screen -r +``` + ## Using iGenomes references A local copy of the iGenomes resource has been made available on the Eddie HPC so you should be able to run the pipeline against any reference available in the `igenomes.config`. From b48136a62e547aa2c8f337f76d4872ef4b80a224 Mon Sep 17 00:00:00 2001 From: ameynert Date: Thu, 18 Mar 2021 12:55:03 +0000 Subject: [PATCH 11/21] Added pipeline-specific config files --- docs/eddie.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/eddie.md b/docs/eddie.md index faecad7..5a8dfa5 100644 --- a/docs/eddie.md +++ b/docs/eddie.md @@ -14,7 +14,7 @@ This will download and launch the [`eddie.config`](../conf/eddie.config) which h The configuration file supports running nf-core pipelines with Docker containers running under Singularity by default. Conda is not currently supported. ```bash -nextflow run nf-core/PIPELINE -profile eddie # ..rest of pipeline flags +nextflow run nf-core/PIPELINE -profile eddie # ...rest of pipeline flags ``` Before running the pipeline you will need to install Nextflow or load it from the module system. Generally the most recent version will be the one you want. @@ -33,6 +33,14 @@ module load igmm/apps/nextflow This config enables Nextflow to manage the pipeline jobs via the SGE job scheduler and using Singularity for software management. +### Pipeline-specific config files + +In addition to the generic nf-core configuration accessed via `-profile eddie`, there are pipeline-specific configuration files in the NextGenResources fileset to handle processes that are known to require specific custom configuration on the eddie system, in particular Java processes which require an extra memory overhead. For example: + +```bash +nextflow run nf-core/rnaseq -profile eddie -c /exports/igmm/eddie/NextGenResources/nextflow/conf/eddie.rnaseq.config # ...rest of pipeline flags +``` + ## Singularity set-up Load Singularity from the module system and set the Singularity cache directory to the NextGenResources path for the pipeline and version you want to run. If this does not exist, please contact the [IGMM Data Manager](data.manager@igmm.ed.ac.uk) to have it added. You can add these lines to the file `$HOME/.bashrc`, or you can run these commands before you run an nf-core pipeline. From 791f3c95f34eb21d2ecd573b8611ba980f6bf0a3 Mon Sep 17 00:00:00 2001 From: ameynert Date: Tue, 23 Mar 2021 16:07:07 +0000 Subject: [PATCH 12/21] Pipeline specific configs moving to confs/pipeline --- docs/eddie.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/docs/eddie.md b/docs/eddie.md index 5a8dfa5..1a63568 100644 --- a/docs/eddie.md +++ b/docs/eddie.md @@ -33,14 +33,6 @@ module load igmm/apps/nextflow This config enables Nextflow to manage the pipeline jobs via the SGE job scheduler and using Singularity for software management. -### Pipeline-specific config files - -In addition to the generic nf-core configuration accessed via `-profile eddie`, there are pipeline-specific configuration files in the NextGenResources fileset to handle processes that are known to require specific custom configuration on the eddie system, in particular Java processes which require an extra memory overhead. For example: - -```bash -nextflow run nf-core/rnaseq -profile eddie -c /exports/igmm/eddie/NextGenResources/nextflow/conf/eddie.rnaseq.config # ...rest of pipeline flags -``` - ## Singularity set-up Load Singularity from the module system and set the Singularity cache directory to the NextGenResources path for the pipeline and version you want to run. If this does not exist, please contact the [IGMM Data Manager](data.manager@igmm.ed.ac.uk) to have it added. You can add these lines to the file `$HOME/.bashrc`, or you can run these commands before you run an nf-core pipeline. From da8cf2f20705f4fca348c8a6185dada9430092b4 Mon Sep 17 00:00:00 2001 From: ameyner2 Date: Wed, 24 Mar 2021 10:46:26 +0000 Subject: [PATCH 13/21] Added pipeline-specific config files for rnaseq and sarek --- conf/pipeline/rnaseq/eddie.config | 15 +++++++++++++++ conf/pipeline/sarek/eddie.config | 27 +++++++++++++++++++++++++++ pipeline/rnaseq.config | 13 +++++++++++++ pipeline/sarek.config | 1 + 4 files changed, 56 insertions(+) create mode 100644 conf/pipeline/rnaseq/eddie.config create mode 100644 conf/pipeline/sarek/eddie.config create mode 100644 pipeline/rnaseq.config diff --git a/conf/pipeline/rnaseq/eddie.config b/conf/pipeline/rnaseq/eddie.config new file mode 100644 index 0000000..d8e76d0 --- /dev/null +++ b/conf/pipeline/rnaseq/eddie.config @@ -0,0 +1,15 @@ +process { + +withName : "PICARD_MARKDUPLICATES" { + clusterOptions = {"-l h_vmem=${(task.memory + 4.GB).bytes/task.cpus}"} +} + +withName : "QUALIMAP_RNASEQ" { + clusterOptions = {"-l h_vmem=${(task.memory + 4.GB).bytes/task.cpus}"} +} + +withName : "FASTQC" { + clusterOptions = {"-l h_vmem=${(task.memory + 4.GB).bytes/task.cpus}"} +} + +} diff --git a/conf/pipeline/sarek/eddie.config b/conf/pipeline/sarek/eddie.config new file mode 100644 index 0000000..3e1b811 --- /dev/null +++ b/conf/pipeline/sarek/eddie.config @@ -0,0 +1,27 @@ +process { + + withName:MapReads { + cpus = 16 + } + withName:BuildDict { + cpus = 1 + clusterOptions = {"-l h_vmem=${(task.memory + 4.GB).bytes/task.cpus}"} + } + withName:BamQC { + cpus = 8 + memory = 128.GB + clusterOptions = {"-l h_vmem=${(task.memory + 8.GB).bytes/task.cpus}"} + } + withName:MarkDuplicates { + clusterOptions = {"-l h_vmem=${(task.memory + 4.GB).bytes/task.cpus}"} + } + withName:BaseRecalibrator { + clusterOptions = {"-l h_vmem=${(task.memory + 4.GB).bytes/task.cpus}"} + } + withName:ApplyBQSR { + clusterOptions = {"-l h_vmem=${(task.memory + 4.GB).bytes/task.cpus}"} + } + withName:GatherBQSRReports { + clusterOptions = {"-l h_vmem=${(task.memory + 4.GB).bytes/task.cpus}"} + } +} diff --git a/pipeline/rnaseq.config b/pipeline/rnaseq.config new file mode 100644 index 0000000..1a27463 --- /dev/null +++ b/pipeline/rnaseq.config @@ -0,0 +1,13 @@ +/* + * ------------------------------------------------- + * nfcore/rnaseq custom profile Nextflow config file + * ------------------------------------------------- + * Config options for custom environments. + * Cluster-specific config options should be saved + * in the conf/pipeline/rnaseq folder and imported + * under a profile name here. + */ + +profiles { + eddie { includeConfig "${params.custom_config_base}/conf/pipeline/rnaseq/eddie.config" } +} diff --git a/pipeline/sarek.config b/pipeline/sarek.config index 4ef48da..d781478 100644 --- a/pipeline/sarek.config +++ b/pipeline/sarek.config @@ -12,4 +12,5 @@ profiles { munin { includeConfig "${params.custom_config_base}/conf/pipeline/sarek/munin.config" } uppmax { includeConfig "${params.custom_config_base}/conf/pipeline/sarek/uppmax.config" } icr_davros { includeConfig "${params.custom_config_base}/conf/pipeline/sarek/icr_davros.config" } + eddie { includeConfig "${params.custom_config_base}/conf/pipeline/sarek/eddie.config" } } \ No newline at end of file From 96fe6185a08cb12de4c510c22ba84974ba286f72 Mon Sep 17 00:00:00 2001 From: ameynert Date: Wed, 24 Mar 2021 11:01:41 +0000 Subject: [PATCH 14/21] IGMM-specific docs --- docs/eddie.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/eddie.md b/docs/eddie.md index 1a63568..363dcc5 100644 --- a/docs/eddie.md +++ b/docs/eddie.md @@ -35,7 +35,9 @@ This config enables Nextflow to manage the pipeline jobs via the SGE job schedul ## Singularity set-up -Load Singularity from the module system and set the Singularity cache directory to the NextGenResources path for the pipeline and version you want to run. If this does not exist, please contact the [IGMM Data Manager](data.manager@igmm.ed.ac.uk) to have it added. You can add these lines to the file `$HOME/.bashrc`, or you can run these commands before you run an nf-core pipeline. +Load Singularity from the module system and, if you have access to `/exports/igmm/eddie/NextGenResources`, set the Singularity cache directory to the NextGenResources path for the pipeline and version you want to run. If this does not exist, please contact the [IGMM Data Manager](data.manager@igmm.ed.ac.uk) to have it added. You can add these lines to the file `$HOME/.bashrc`, or you can run these commands before you run an nf-core pipeline. + +If you do not have access to `/exports/igmm/eddie/NextGenResources`, set the Singularity cache directory to somewhere sensible that is not in your `$HOME` area which has limited space. It will take time to download all the Singularity containers, but you can use this again. ```bash module load singularity @@ -66,7 +68,7 @@ If your eddie terminal disconnects your Nextflow job will stop. You can run Next nohup ./nextflow_run.sh & ``` -### On a wild west node +### On a wild west node - IGMM only Wild west nodes on eddie can be accessed via ssh (node2c15, node2c16, node3g22). To run Nextflow on one of these nodes, do it within a [screen session](https://linuxize.com/post/how-to-use-linux-screen/). @@ -87,7 +89,7 @@ screen -r ## Using iGenomes references -A local copy of the iGenomes resource has been made available on the Eddie HPC so you should be able to run the pipeline against any reference available in the `igenomes.config`. +A local copy of the iGenomes resource has been made available on the Eddie HPC for those with access to `/exports/igmm/eddie/NextGenResources` so you should be able to run the pipeline against any reference available in the `igenomes.config`. You can do this by simply using the `--genome ` parameter. ## Adjusting maximum resources From 2a8ae2b2148c3782b601f1b613f3b1462fb8384f Mon Sep 17 00:00:00 2001 From: ameynert Date: Wed, 24 Mar 2021 11:12:41 +0000 Subject: [PATCH 15/21] Update eddie.md --- docs/eddie.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/eddie.md b/docs/eddie.md index 363dcc5..c51f7c1 100644 --- a/docs/eddie.md +++ b/docs/eddie.md @@ -37,7 +37,7 @@ This config enables Nextflow to manage the pipeline jobs via the SGE job schedul Load Singularity from the module system and, if you have access to `/exports/igmm/eddie/NextGenResources`, set the Singularity cache directory to the NextGenResources path for the pipeline and version you want to run. If this does not exist, please contact the [IGMM Data Manager](data.manager@igmm.ed.ac.uk) to have it added. You can add these lines to the file `$HOME/.bashrc`, or you can run these commands before you run an nf-core pipeline. -If you do not have access to `/exports/igmm/eddie/NextGenResources`, set the Singularity cache directory to somewhere sensible that is not in your `$HOME` area which has limited space. It will take time to download all the Singularity containers, but you can use this again. +If you do not have access to `/exports/igmm/eddie/NextGenResources`, set the Singularity cache directory to somewhere sensible that is not in your `$HOME` area (which has limited space). It will take time to download all the Singularity containers, but you can use this again. ```bash module load singularity From aeb0ffcfdea232d81edc5c7a635f579235323247 Mon Sep 17 00:00:00 2001 From: ameynert Date: Wed, 24 Mar 2021 11:26:09 +0000 Subject: [PATCH 16/21] Spacing fix Co-authored-by: Maxime Garcia --- nfcore_custom.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nfcore_custom.config b/nfcore_custom.config index b338f1c..4fffc74 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -23,7 +23,7 @@ profiles { crick { includeConfig "${params.custom_config_base}/conf/crick.config" } czbiohub_aws { includeConfig "${params.custom_config_base}/conf/czbiohub_aws.config" } ebc { includeConfig "${params.custom_config_base}/conf/ebc.config" } - eddie { includeConfig "${params.custom_config_base}/conf/eddie.config" } + eddie { includeConfig "${params.custom_config_base}/conf/eddie.config" } icr_davros { includeConfig "${params.custom_config_base}/conf/icr_davros.config" } imperial { includeConfig "${params.custom_config_base}/conf/imperial.config" } imperial_mb { includeConfig "${params.custom_config_base}/conf/imperial_mb.config" } From 158402eddf6784d0e7d292d3bc8a76d26941d2fe Mon Sep 17 00:00:00 2001 From: Phil Ewels Date: Wed, 24 Mar 2021 12:26:49 +0100 Subject: [PATCH 17/21] Update nfcore_custom.config --- nfcore_custom.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nfcore_custom.config b/nfcore_custom.config index 4fffc74..9ea0197 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -23,7 +23,7 @@ profiles { crick { includeConfig "${params.custom_config_base}/conf/crick.config" } czbiohub_aws { includeConfig "${params.custom_config_base}/conf/czbiohub_aws.config" } ebc { includeConfig "${params.custom_config_base}/conf/ebc.config" } - eddie { includeConfig "${params.custom_config_base}/conf/eddie.config" } + eddie { includeConfig "${params.custom_config_base}/conf/eddie.config" } icr_davros { includeConfig "${params.custom_config_base}/conf/icr_davros.config" } imperial { includeConfig "${params.custom_config_base}/conf/imperial.config" } imperial_mb { includeConfig "${params.custom_config_base}/conf/imperial_mb.config" } From 8e6223d1bdb341b5b00a990027a29c371ff5ed99 Mon Sep 17 00:00:00 2001 From: Phil Ewels Date: Wed, 24 Mar 2021 12:36:50 +0100 Subject: [PATCH 18/21] Update nfcore_custom.config --- nfcore_custom.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nfcore_custom.config b/nfcore_custom.config index 907e561..eb287b9 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -23,7 +23,7 @@ profiles { crick { includeConfig "${params.custom_config_base}/conf/crick.config" } czbiohub_aws { includeConfig "${params.custom_config_base}/conf/czbiohub_aws.config" } ebc { includeConfig "${params.custom_config_base}/conf/ebc.config" } - eddie { includeConfig "${params.custom_config_base}/conf/eddie.config" } + eddie { includeConfig "${params.custom_config_base}/conf/eddie.config" } icr_davros { includeConfig "${params.custom_config_base}/conf/icr_davros.config" } ifb_core { includeConfig "${params.custom_config_base}/conf/ifb_core.config" } imperial { includeConfig "${params.custom_config_base}/conf/imperial.config" } From 2d90c919aad00e682a7bb78c50ee6f265e00064a Mon Sep 17 00:00:00 2001 From: ameynert Date: Wed, 24 Mar 2021 13:51:37 +0000 Subject: [PATCH 19/21] Added eddie profile to github workflow tests --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 41601d4..50dc704 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: needs: test_all_profiles strategy: matrix: - profile: ['abims', 'awsbatch', 'bi','bigpurple', 'binac', 'cbe', 'ccga_dx', 'ccga_med', 'cfc', 'cfc_dev', 'crick', 'denbi_qbic', 'ebc', 'genotoul', 'genouest', 'gis', 'google', 'hebbe', 'icr_davros', 'ifb_core', 'imperial', 'imperial_mb', 'jax', 'kraken', 'mpcdf', 'munin', 'oist', 'pasteur', 'phoenix', 'prince', 'seg_globe', 'shh', 'uct_hpc', 'uppmax', 'utd_ganymede', 'uzh'] + profile: ['abims', 'awsbatch', 'bi','bigpurple', 'binac', 'cbe', 'ccga_dx', 'ccga_med', 'cfc', 'cfc_dev', 'crick', 'denbi_qbic', 'ebc', 'eddie', 'genotoul', 'genouest', 'gis', 'google', 'hebbe', 'icr_davros', 'ifb_core', 'imperial', 'imperial_mb', 'jax', 'kraken', 'mpcdf', 'munin', 'oist', 'pasteur', 'phoenix', 'prince', 'seg_globe', 'shh', 'uct_hpc', 'uppmax', 'utd_ganymede', 'uzh'] steps: - uses: actions/checkout@v1 - name: Install Nextflow From a0d42f51536cbc21323c95afce0f19e9e7c1aa4a Mon Sep 17 00:00:00 2001 From: ameynert Date: Wed, 24 Mar 2021 13:55:31 +0000 Subject: [PATCH 20/21] Fixed code blocks for markdown linting --- docs/eddie.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/eddie.md b/docs/eddie.md index c51f7c1..283e21f 100644 --- a/docs/eddie.md +++ b/docs/eddie.md @@ -27,6 +27,7 @@ module avail igmm/apps/nextflow ``` To load the most recent version: + ```bash module load igmm/apps/nextflow ``` @@ -64,7 +65,7 @@ qlogin -l h_vmem=8G If your eddie terminal disconnects your Nextflow job will stop. You can run Nextflow as a bash script on the command line using `nohup` to prevent this. -``` +```bash nohup ./nextflow_run.sh & ``` @@ -73,16 +74,19 @@ nohup ./nextflow_run.sh & Wild west nodes on eddie can be accessed via ssh (node2c15, node2c16, node3g22). To run Nextflow on one of these nodes, do it within a [screen session](https://linuxize.com/post/how-to-use-linux-screen/). Start a new screen session. + ```bash screen -S ``` List existing screen sessions + ```bash screen -ls ``` Reconnect to an existing screen session + ```bash screen -r ``` From 3a8e54f153f249f7ed06dd9e6ea1e47eec137ca1 Mon Sep 17 00:00:00 2001 From: ameynert Date: Wed, 24 Mar 2021 13:58:10 +0000 Subject: [PATCH 21/21] Removed sneaky trailing whitespace. --- docs/eddie.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/eddie.md b/docs/eddie.md index 283e21f..cb78d71 100644 --- a/docs/eddie.md +++ b/docs/eddie.md @@ -17,8 +17,7 @@ The configuration file supports running nf-core pipelines with Docker containers nextflow run nf-core/PIPELINE -profile eddie # ...rest of pipeline flags ``` -Before running the pipeline you will need to install Nextflow or load it from the module system. Generally the most recent version will be the one you want. -If you want to run a Nextflow pipeline that is based on [DSL2](https://www.nextflow.io/docs/latest/dsl2.html), you will need a version that ends with '-edge'. +Before running the pipeline you will need to install Nextflow or load it from the module system. Generally the most recent version will be the one you want. If you want to run a Nextflow pipeline that is based on [DSL2](https://www.nextflow.io/docs/latest/dsl2.html), you will need a version that ends with '-edge'. To list versions: