From 0acdcc381387338ce35bbf42a89f44cac3cb6f92 Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Sat, 4 May 2019 23:20:15 +0200 Subject: [PATCH 1/8] Add Aquila Config Singapore --- README.md | 1 + conf/aquila.config | 26 ++++++++++++++++++++++++++ docs/aquila.md | 8 ++++++++ nfcore_custom.config | 1 + 4 files changed, 36 insertions(+) create mode 100644 conf/aquila.config create mode 100644 docs/aquila.md diff --git a/README.md b/README.md index eadd3bb..d16b13e 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ See [`nf-core/configs/docs`](https://github.com/nf-core/configs/tree/master/docs Currently documentation is available for the following clusters: +* [AQUILA](docs/aquila.md) * [BINAC](docs/binac.md) * [BIGPURPLE](docs/bigpurple.md) * [CCGA](docs/ccga.md) diff --git a/conf/aquila.config b/conf/aquila.config new file mode 100644 index 0000000..05035d4 --- /dev/null +++ b/conf/aquila.config @@ -0,0 +1,26 @@ +//Profile config names for nf-core/configs +params { + config_profile_description = 'A*STAR Aquila cluster profile provided by nf-core/configs.' + config_profile_contact = 'Andreas Wilm (@andreas-wilm)' + config_profile_url = 'https://www.a-star.edu.sg/' +} + +singularity { + enabled = true +} + +process { + beforeScript = { 'source /mnt/projects/rpd/rc/init.2017-04; module load miniconda3; set +u; source activate ' + params.container.replaceAll(/[\/:]/, '-').replaceAll(/nfcore/, 'nf-core') + "; set -u;" } + executor = 'sge' + clusterOptions = { "-l mem_free=" + task.memory.toString().replaceAll(/[\sB]/,'') } + penv = 'OpenMP' +} + +params { + igenomes_base = '/nfsmounts/igenomes' + max_memory = 128.GB + max_cpus = 28 + max_time = 48.h +} + + diff --git a/docs/aquila.md b/docs/aquila.md new file mode 100644 index 0000000..3e0575e --- /dev/null +++ b/docs/aquila.md @@ -0,0 +1,8 @@ +# nf-core/configs: Aquila Configuration + +All nf-core pipelines have been successfully configured for use on the Aquila cluster at A*STAR Singapore. + +To use, run the pipeline with `-profile aquila`. This will download and launch the [`aquila.config`](../conf/aquila.config) which has been pre-configured with a setup suitable for the Aquila cluster. Using this profile, a docker image containing all of the required software will be downloaded, and converted to a Singularity image before execution of the pipeline. + +>NB: You will need an account to use the HPC cluster Aquila in order to run the pipeline. If in doubt contact IT. +>NB: Nextflow will need to submit the jobs via the job scheduler to the HPC cluster and as such the commands above will have to be executed on one of the login nodes. If in doubt contact IT. diff --git a/nfcore_custom.config b/nfcore_custom.config index 7374fa0..17f51c5 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -12,6 +12,7 @@ params.custom_config_version = 'master' params.custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}" profiles { + aquila { includeConfig "${params.custom_config_base}/conf/aquila.config" } binac { includeConfig "${params.custom_config_base}/conf/binac.config" } ccga { includeConfig "${params.custom_config_base}/conf/ccga.config" } cfc { includeConfig "${params.custom_config_base}/conf/cfc.config" } From 29a141adca47d2b7908b6d29b0d0eccfe051a2be Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Tue, 30 Jul 2019 16:54:58 +0200 Subject: [PATCH 2/8] Sort it --- README.md | 2 +- nfcore_custom.config | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d4b4d41..af4aad1 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ Currently documentation is available for the following clusters: * [HEBBE](docs/hebbe.md) * [MENDEL](docs/mendel.md) * [MUNIN](docs/munin.md) +* [PASTEUR](docs/pasteur.md) * [PHOENIX](docs/phoenix.md) * [PRINCE](docs/prince.md) * [SHH](docs/shh.md) @@ -100,7 +101,6 @@ Currently documentation is available for the following clusters: * [UPPMAX-DEVEL](docs/uppmax-devel.md) * [UPPMAX](docs/uppmax.md) * [UZH](docs/uzh.md) -* [PASTEUR](docs/pasteur.md) ### Uploading to `nf-core/configs` diff --git a/nfcore_custom.config b/nfcore_custom.config index ec40134..469d6af 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -13,6 +13,7 @@ params.custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/$ profiles { aquila { includeConfig "${params.custom_config_base}/conf/aquila.config" } + bigpurple { includeConfig "${params.custom_config_base}/conf/bigpurple.config" } binac { includeConfig "${params.custom_config_base}/conf/binac.config" } ccga { includeConfig "${params.custom_config_base}/conf/ccga.config" } ccga_dx { includeConfig "${params.custom_config_base}/conf/ccga_dx.config" } @@ -27,15 +28,14 @@ profiles { hebbe { includeConfig "${params.custom_config_base}/conf/hebbe.config" } mendel { includeConfig "${params.custom_config_base}/conf/mendel.config" } munin { includeConfig "${params.custom_config_base}/conf/munin.config" } + pasteur { includeConfig "${params.custom_config_base}/conf/pasteur.config" } phoenix { includeConfig "${params.custom_config_base}/conf/phoenix.config" } + prince { includeConfig "${params.custom_config_base}/conf/prince.config" } shh { includeConfig "${params.custom_config_base}/conf/shh.config" } uct_hex { includeConfig "${params.custom_config_base}/conf/uct_hex.config" } uppmax_devel { includeConfig "${params.custom_config_base}/conf/uppmax.config"; includeConfig "${params.custom_config_base}/conf/uppmax-devel.config" } uppmax { includeConfig "${params.custom_config_base}/conf/uppmax.config" } uzh { includeConfig "${params.custom_config_base}/conf/uzh.config" } - prince { includeConfig "${params.custom_config_base}/conf/prince.config" } - bigpurple { includeConfig "${params.custom_config_base}/conf/bigpurple.config" } - pasteur { includeConfig "${params.custom_config_base}/conf/pasteur.config" } } // If user hostnames contain one of these substring and they are From 4e48d4cc62b8f4b7415867c2377534f0e9a17c74 Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Tue, 30 Jul 2019 18:53:00 +0200 Subject: [PATCH 3/8] Fix remaining points by drpatelh --- README.md | 4 ++-- docs/pasteur.md | 34 ++++++++++++++++++---------------- nfcore_custom.config | 2 +- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index af4aad1..5323165 100644 --- a/README.md +++ b/README.md @@ -83,8 +83,8 @@ See [`nf-core/configs/docs`](https://github.com/nf-core/configs/tree/master/docs Currently documentation is available for the following clusters: * [AQUILA](docs/aquila.md) -* [BINAC](docs/binac.md) * [BIGPURPLE](docs/bigpurple.md) +* [BINAC](docs/binac.md) * [CCGA](docs/ccga.md) * [CCGA_DX](/docs/ccga_dx.md) * [CFC](docs/binac.md) @@ -98,8 +98,8 @@ Currently documentation is available for the following clusters: * [PRINCE](docs/prince.md) * [SHH](docs/shh.md) * [UCT_HEX](docs/uct_hex.md) -* [UPPMAX-DEVEL](docs/uppmax-devel.md) * [UPPMAX](docs/uppmax.md) +* [UPPMAX-DEVEL](docs/uppmax-devel.md) * [UZH](docs/uzh.md) ### Uploading to `nf-core/configs` diff --git a/docs/pasteur.md b/docs/pasteur.md index 554761b..6e2d825 100644 --- a/docs/pasteur.md +++ b/docs/pasteur.md @@ -4,36 +4,38 @@ All nf-core pipelines have been successfully configured for use on the tars clus To use, run the pipeline with `-profile pasteur`. This will download and launch the [`pasteur.config`](../conf/pasteur.config) which has been pre-configured with a setup suitable for the Pasteur cluster. Using this profile, a docker image containing all of the required software will be downloaded, and converted to a Singularity image before execution of the pipeline. - - ## Running the workflow on the Pasteur cluster Nextflow is not installed by default on the Pasteur cluster. -- Install Nextflow : [here](https://www.nextflow.io/docs/latest/getstarted.html#) +- Install Nextflow : [here](https://www.nextflow.io/docs/latest/getstarted.html#) Nextflow manages each process as a separate job that is submitted to the cluster by using the sbatch command. Nextflow shouldn't run directly on the submission node but on a compute node. The compute nodes don't have access to internet so you need to run it offline. To do that: + 1. Create a virtualenv to install nf-core -```bash -module purge -module load Python/3.6.0 -module load java -module load singularity -cd /path/to/nf-core/workflows -virtualenv .venv -p python3 -. .venv/bin/activate -``` + + ```bash + module purge + module load Python/3.6.0 + module load java + module load singularity + cd /path/to/nf-core/workflows + virtualenv .venv -p python3 + . .venv/bin/activate + ``` + 2. Install nf-core: [here](https://nf-co.re/tools#installation) 3. Get nf-core pipeline and container: [here](https://nf-co.re/tools#downloading-pipelines-for-offline-use) -4. Get the nf-core Pasteur profile: [here](https://github.com/nf-core/rnaseq/blob/master/docs/usage.md#--custom_config_base) -5. Run nextflow on a compute node: +4. Get the nf-core Pasteur profile: [here](https://github.com/nf-core/configs#offline-usage) +5. Run nextflow on a compute node: + ```bash # create a terminal -tmux +tmux # Get a compute node salloc @@ -46,7 +48,7 @@ module load singularity # Run nextflow workflow nextflow run \\ /path/to/pipeline-dir/from/step/3/workflow \\ --resume +-resume -profile pasteur \\ -with-singularity /path/to/pipeline-dir/from/step/3/singularity-images/singularity.img \\ --email my-email@pasteur.fr \\ diff --git a/nfcore_custom.config b/nfcore_custom.config index 469d6af..69bb8f3 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -33,8 +33,8 @@ profiles { prince { includeConfig "${params.custom_config_base}/conf/prince.config" } shh { includeConfig "${params.custom_config_base}/conf/shh.config" } uct_hex { includeConfig "${params.custom_config_base}/conf/uct_hex.config" } - uppmax_devel { includeConfig "${params.custom_config_base}/conf/uppmax.config"; includeConfig "${params.custom_config_base}/conf/uppmax-devel.config" } uppmax { includeConfig "${params.custom_config_base}/conf/uppmax.config" } + uppmax_devel { includeConfig "${params.custom_config_base}/conf/uppmax.config"; includeConfig "${params.custom_config_base}/conf/uppmax-devel.config" } uzh { includeConfig "${params.custom_config_base}/conf/uzh.config" } } From 82ffedf895ad9d1afa28307fe406d64eb770844a Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Tue, 30 Jul 2019 18:53:36 +0200 Subject: [PATCH 4/8] Drop aquila --- docs/aquila.md | 8 -------- nfcore_custom.config | 1 - 2 files changed, 9 deletions(-) delete mode 100644 docs/aquila.md diff --git a/docs/aquila.md b/docs/aquila.md deleted file mode 100644 index 3e0575e..0000000 --- a/docs/aquila.md +++ /dev/null @@ -1,8 +0,0 @@ -# nf-core/configs: Aquila Configuration - -All nf-core pipelines have been successfully configured for use on the Aquila cluster at A*STAR Singapore. - -To use, run the pipeline with `-profile aquila`. This will download and launch the [`aquila.config`](../conf/aquila.config) which has been pre-configured with a setup suitable for the Aquila cluster. Using this profile, a docker image containing all of the required software will be downloaded, and converted to a Singularity image before execution of the pipeline. - ->NB: You will need an account to use the HPC cluster Aquila in order to run the pipeline. If in doubt contact IT. ->NB: Nextflow will need to submit the jobs via the job scheduler to the HPC cluster and as such the commands above will have to be executed on one of the login nodes. If in doubt contact IT. diff --git a/nfcore_custom.config b/nfcore_custom.config index 69bb8f3..259b048 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -12,7 +12,6 @@ params.custom_config_version = 'master' params.custom_config_base = "https://raw.githubusercontent.com/nf-core/configs/${params.custom_config_version}" profiles { - aquila { includeConfig "${params.custom_config_base}/conf/aquila.config" } bigpurple { includeConfig "${params.custom_config_base}/conf/bigpurple.config" } binac { includeConfig "${params.custom_config_base}/conf/binac.config" } ccga { includeConfig "${params.custom_config_base}/conf/ccga.config" } From d9930b053c3cd91c3cfa20c0bb556cf3cd460346 Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Tue, 30 Jul 2019 18:53:45 +0200 Subject: [PATCH 5/8] Drop aquila --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5323165..c32df8c 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,6 @@ See [`nf-core/configs/docs`](https://github.com/nf-core/configs/tree/master/docs Currently documentation is available for the following clusters: -* [AQUILA](docs/aquila.md) * [BIGPURPLE](docs/bigpurple.md) * [BINAC](docs/binac.md) * [CCGA](docs/ccga.md) From ead80fb9d096820324a836cf4b1bafa0ebe2b41c Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Tue, 30 Jul 2019 18:54:38 +0200 Subject: [PATCH 6/8] Drop config --- conf/aquila.config | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 conf/aquila.config diff --git a/conf/aquila.config b/conf/aquila.config deleted file mode 100644 index 05035d4..0000000 --- a/conf/aquila.config +++ /dev/null @@ -1,26 +0,0 @@ -//Profile config names for nf-core/configs -params { - config_profile_description = 'A*STAR Aquila cluster profile provided by nf-core/configs.' - config_profile_contact = 'Andreas Wilm (@andreas-wilm)' - config_profile_url = 'https://www.a-star.edu.sg/' -} - -singularity { - enabled = true -} - -process { - beforeScript = { 'source /mnt/projects/rpd/rc/init.2017-04; module load miniconda3; set +u; source activate ' + params.container.replaceAll(/[\/:]/, '-').replaceAll(/nfcore/, 'nf-core') + "; set -u;" } - executor = 'sge' - clusterOptions = { "-l mem_free=" + task.memory.toString().replaceAll(/[\sB]/,'') } - penv = 'OpenMP' -} - -params { - igenomes_base = '/nfsmounts/igenomes' - max_memory = 128.GB - max_cpus = 28 - max_time = 48.h -} - - From 5ec19e3abb25ffa47f09f9123057b31a50108ff9 Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Sun, 27 Oct 2019 13:28:00 +0100 Subject: [PATCH 7/8] Binac SMP / Long / Short Queue Additions --- conf/binac.config | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/binac.config b/conf/binac.config index 9447ca4..8047bd0 100644 --- a/conf/binac.config +++ b/conf/binac.config @@ -13,6 +13,7 @@ process { beforeScript = 'module load devel/singularity/3.0.3' executor = 'pbs' queue = 'short' + process.queue = { task.memory > 128.GB ? 'smp': task.time <= 48.h ? 'short' : task.time <= 168.h ? 'long'} } params { From 83fcc0b2baf86d5ef4ca22206c940ce442901008 Mon Sep 17 00:00:00 2001 From: Alexander Peltzer Date: Mon, 28 Oct 2019 13:09:30 +0100 Subject: [PATCH 8/8] Adjust max memory --- conf/binac.config | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/binac.config b/conf/binac.config index 8047bd0..e2bce86 100644 --- a/conf/binac.config +++ b/conf/binac.config @@ -13,14 +13,14 @@ process { beforeScript = 'module load devel/singularity/3.0.3' executor = 'pbs' queue = 'short' - process.queue = { task.memory > 128.GB ? 'smp': task.time <= 48.h ? 'short' : task.time <= 168.h ? 'long'} + process.queue = { task.memory > 128.GB ? 'smp': task.time <= 20m ? 'tiny' : task.time <= 48.h ? 'short' : task.time <= 168.h ? 'long'} } params { igenomes_base = '/nfsmounts/igenomes' - max_memory = 128.GB + max_memory = 1024.GB max_cpus = 28 - max_time = 48.h + max_time = 168.h } weblog{