From b6ccb46383aaae716afcb1b419f57bf6ae1aca95 Mon Sep 17 00:00:00 2001 From: bbartholdy <47455812+bbartholdy@users.noreply.github.com> Date: Tue, 28 Sep 2021 12:08:27 +0200 Subject: [PATCH 1/4] add ALICE profile --- .github/workflows/main.yml | 1 + README.md | 1 + conf/alice.config | 39 ++++++++++++++++++++++++++++++++++++++ docs/alice.md | 26 +++++++++++++++++++++++++ nfcore_custom.config | 1 + 5 files changed, 68 insertions(+) create mode 100644 conf/alice.config create mode 100644 docs/alice.md diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b48354a..2c814ae 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,6 +18,7 @@ jobs: matrix: profile: - 'abims' + - 'alice' - 'aws_tower' - 'awsbatch' - 'bi' diff --git a/README.md b/README.md index 9e27b6d..ec595e0 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,7 @@ See [`nf-core/configs/docs`](https://github.com/nf-core/configs/tree/master/docs Currently documentation is available for the following systems: * [ABIMS](docs/abims.md) +* [ALICE](docs/alice.md) * [AWSBATCH](docs/awsbatch.md) * [AWS_TOWER](docs/aws_tower.md) * [BIGPURPLE](docs/bigpurple.md) diff --git a/conf/alice.config b/conf/alice.config new file mode 100644 index 0000000..0c1230f --- /dev/null +++ b/conf/alice.config @@ -0,0 +1,39 @@ +params { + config_profile_name = 'ALICE' + config_profile_description = 'Profile for use on Academic Leiden Interdisciplinary Cluster Environment (ALICE).' + config_profile_contact = 'Bjorn Peare Bartholdy (@osteobjorn)' + config_profile_url = 'https://wiki.alice.universiteitleiden.nl/index.php?title=ALICE_User_Documentation_Wiki' + max_cpus = 24 + max_memory = 240.GB + max_time = 168.h +} + +process { + executor = 'slurm' + queue = { task.time < 3.h ? 'cpu-short' : task.time < 24.h ? 'cpu-medium' : 'cpu-long' } +} + +singularity { + enabled = true + autoMounts = true +} + +// Preform work directory cleanup after a successful run +cleanup = true + + // Profile to deactivate automatic cleanup of work directory after a successful run. Overwrites cleanup option. +profiles { + mem { + params { + max_cpus = 24 + max_memory = 2.TB + max_time = 336.h + } + process { + queue = 'mem' + } + } + debug { + cleanup = false + } +} diff --git a/docs/alice.md b/docs/alice.md new file mode 100644 index 0000000..afc1342 --- /dev/null +++ b/docs/alice.md @@ -0,0 +1,26 @@ +# nf-core/configs: Academic Leiden Interdisciplinary Cluster Environment (ALICE), Leiden University Configuration + +> **NB:** You will need an [account](https://wiki.alice.universiteitleiden.nl/index.php?title=Getting_an_account) to use the HPC cluster to run the pipeline. + +The profile is configured to run with Singularity version 3.6.1-Go-1.14 and needs to be loaded as a module. + +Before running the pipeline you will need to load Java and Nextflow. You can do this by including the commands below in your SLURM/sbatch script: + +```bash +## Load Java and Nextflow environment modules +module load Singularity/3.6.1-Go-1.14 +module load Nextflow/21.03.0 +module load Java/11.0.2 +``` + +All of the intermediate files required to run the pipeline will be stored in the `work/` directory. It is recommended to delete this directory after the pipeline has finished successfully because it can get quite large, and all of the main output files will be saved in the `results/` directory anyway. +The config contains a `cleanup` command that removes the `work/` directory automatically once the pipeline has completeed successfully. If the run does not complete successfully then the `work/` dir should be removed manually to save storage space. + +This configuration will automatically choose the correct SLURM queue (short,medium,long) depending on the time required by each process. If there are +high memory requirements (>240GB), e.g. using MALT, use the 'mem' profile: + +```bash +run nextflow nf-core/eager -p alice,mem +``` + +> **NB:** Nextflow will need to submit the jobs via SLURM to the HPC cluster and as such the commands above will have to be submitted from one of the login nodes. diff --git a/nfcore_custom.config b/nfcore_custom.config index e1a8301..ee53022 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -11,6 +11,7 @@ //Please use a new line per include Config section to allow easier linting/parsing. Thank you. profiles { abims { includeConfig "${params.custom_config_base}/conf/abims.config" } + alice { includeConfig "${params.custom_config_base}/conf/alice.config" } aws_tower { includeConfig "${params.custom_config_base}/conf/aws_tower.config" } awsbatch { includeConfig "${params.custom_config_base}/conf/awsbatch.config" } bi { includeConfig "${params.custom_config_base}/conf/bi.config" } From ad83430632d14762f08d7e1c6e45550cb403d225 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Peare=20Bartholdy?= <47455812+bbartholdy@users.noreply.github.com> Date: Tue, 28 Sep 2021 12:43:54 +0200 Subject: [PATCH 2/4] Update docs/alice.md Co-authored-by: James A. Fellows Yates --- docs/alice.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/alice.md b/docs/alice.md index afc1342..35d1799 100644 --- a/docs/alice.md +++ b/docs/alice.md @@ -13,6 +13,8 @@ module load Nextflow/21.03.0 module load Java/11.0.2 ``` +We also highly recommend specifying a location of a cache directory to store singularity images (so you re-use them across runs, and not pull each time), by specifying the location with the `$NXF_SINGULARITY_CACHE_DIR` bash environment variable in your `.bash_profile` or `.bashrc`. + All of the intermediate files required to run the pipeline will be stored in the `work/` directory. It is recommended to delete this directory after the pipeline has finished successfully because it can get quite large, and all of the main output files will be saved in the `results/` directory anyway. The config contains a `cleanup` command that removes the `work/` directory automatically once the pipeline has completeed successfully. If the run does not complete successfully then the `work/` dir should be removed manually to save storage space. From e8b48416bc5577cfc5c3937503f566f88177cd8d Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Tue, 28 Sep 2021 12:52:31 +0200 Subject: [PATCH 3/4] Update docs/alice.md --- docs/alice.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/alice.md b/docs/alice.md index 35d1799..49545b2 100644 --- a/docs/alice.md +++ b/docs/alice.md @@ -18,7 +18,7 @@ We also highly recommend specifying a location of a cache directory to store sin All of the intermediate files required to run the pipeline will be stored in the `work/` directory. It is recommended to delete this directory after the pipeline has finished successfully because it can get quite large, and all of the main output files will be saved in the `results/` directory anyway. The config contains a `cleanup` command that removes the `work/` directory automatically once the pipeline has completeed successfully. If the run does not complete successfully then the `work/` dir should be removed manually to save storage space. -This configuration will automatically choose the correct SLURM queue (short,medium,long) depending on the time required by each process. If there are +This configuration will automatically choose the correct SLURM queue (short,medium,long) depending on the time required by each process. If there are high memory requirements (>240GB), e.g. using MALT, use the 'mem' profile: ```bash From e750a6d445c2f5b2fb692a4948559e2fa5703bd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Peare=20Bartholdy?= <47455812+bbartholdy@users.noreply.github.com> Date: Tue, 28 Sep 2021 13:34:12 +0200 Subject: [PATCH 4/4] Update conf/alice.config Co-authored-by: Maxime U. Garcia --- conf/alice.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/alice.config b/conf/alice.config index 0c1230f..e935ef2 100644 --- a/conf/alice.config +++ b/conf/alice.config @@ -2,7 +2,7 @@ params { config_profile_name = 'ALICE' config_profile_description = 'Profile for use on Academic Leiden Interdisciplinary Cluster Environment (ALICE).' config_profile_contact = 'Bjorn Peare Bartholdy (@osteobjorn)' - config_profile_url = 'https://wiki.alice.universiteitleiden.nl/index.php?title=ALICE_User_Documentation_Wiki' + config_profile_url = 'https://wiki.alice.universiteitleiden.nl/' max_cpus = 24 max_memory = 240.GB max_time = 168.h