From 17df98823c99607e3719bef6098f1cff40217b20 Mon Sep 17 00:00:00 2001 From: nf-core-bot Date: Sat, 30 Nov 2024 00:26:04 +0000 Subject: [PATCH 1/9] [automated] Update pipeline configs --- pipeline/tumourevo.config | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 pipeline/tumourevo.config diff --git a/pipeline/tumourevo.config b/pipeline/tumourevo.config new file mode 100644 index 00000000..a4321d40 --- /dev/null +++ b/pipeline/tumourevo.config @@ -0,0 +1,12 @@ +/* +* ------------------------------------------------- +* nfcore/tumourevo custom profile Nextflow config file +* ------------------------------------------------- +* Config options for custom environments. +* Cluster-specific config options should be saved +* in the conf/pipeline/tumourevo folder and imported +* under a profile name here. +*/ + +profiles { +} From 313691a0397144cf3b5d788ef0ad7b72e2d2db08 Mon Sep 17 00:00:00 2001 From: Husen Umer Date: Sun, 1 Dec 2024 15:01:03 +0300 Subject: [PATCH 2/9] New config profile for KAUST --- .github/workflows/main.yml | 1 + README.md | 1 + conf/kaust.config | 71 ++++++++++++++++++++++++++++++++++++++ docs/kaust.md | 37 ++++++++++++++++++++ nfcore_custom.config | 3 ++ 5 files changed, 113 insertions(+) create mode 100755 conf/kaust.config create mode 100644 docs/kaust.md diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index de0bc269..717994c0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -102,6 +102,7 @@ jobs: - "jex" - "unsw_katana" - "ku_sund_danhead" + - "kaust" - "leicester" - "lugh" - "m3c" diff --git a/README.md b/README.md index b52ba566..06997264 100644 --- a/README.md +++ b/README.md @@ -154,6 +154,7 @@ Currently documentation is available for the following systems: - [Jex](docs/jex.md) - [UNSW_Katana](docs/unsw_katana.md) - [KU SUND DANHEAD](docs/ku_sund_danhead.md) +- [KAUST](docs/kaust.md) - [LUGH](docs/lugh.md) - [M3C](docs/m3c.md) - [MAESTRO](docs/maestro.md) diff --git a/conf/kaust.config b/conf/kaust.config new file mode 100755 index 00000000..2d3f30d1 --- /dev/null +++ b/conf/kaust.config @@ -0,0 +1,71 @@ +// KAUST Config Profile +params { + config_profile_name = 'KAUST' + config_profile_description = 'Profile for use on King Abdullah Univesity of Science and Technology (KAUST) Ibex Cluster.' + config_profile_contact = 'Husen Umer (@kaust.edu.sa)' + config_profile_url = 'https://docs.hpc.kaust.edu.sa/quickstart/ibex.html' + save_reference = false + igenomes_ignore = true +} + +// Load genome resources and assets hosted by the Bioinformatics team on IBEX cluster +includeConfig '/biocorelab/BIX/resources/configs/genomes.yaml' + +singularity { + enabled = true + autoMounts = true + pullTimeout = '60 min' + // Use existing images from the centralized library, if available + libraryDir = "/biocorelab/BIX/resources/singularity/images/" + // Download images that are missing from the library to user space + cacheDir = "/home/$USER/.singularity/nf_images/" +} + +process { + executor = 'slurm' + clusterOptions = "-p batch" + maxRetries = 5 + errorStrategy = { task.exitStatus in [143,137,104,134,139,151,140,247,12] ? 'retry' : 'finish' } + beforeScript = 'module load singularity' + // Max allowed resources per process on Ibex + resourceLimits = [ + memory: 1600.GB, + cpus: 200, + time: 10.d + ] +} + +// Keep work directory after a successful run +cleanup = false + +process { + + withLabel:process_single { + time = 20.h + } + + withLabel:process_low { + cpus = { 4 * task.attempt } + memory = { 16.GB * task.attempt } + time = { 6.h * task.attempt } + } + + withLabel:process_medium { + cpus = { 20 * task.attempt } + memory = { 96.GB * task.attempt } + time = { 12.h * task.attempt } + } + + withLabel:process_high { + cpus = { 40 * task.attempt } + memory = { 256.GB * task.attempt } + time = { 20.h * task.attempt } + } + + withLabel:process_long { + cpus = { 12 * task.attempt } + memory = { 128.GB * task.attempt } + time = { 96.h * task.attempt } + } + +} \ No newline at end of file diff --git a/docs/kaust.md b/docs/kaust.md new file mode 100644 index 00000000..37d109aa --- /dev/null +++ b/docs/kaust.md @@ -0,0 +1,37 @@ +# nf-core/configs: UPPMAX Configuration + +The purpose of this custom configurations is to streamline executing nf-core pipelines on the KAUST Ibex cluster. + +## Getting help + +We have a wiki page dedicated to the Bioinformatics team at KAUST to help users: [Bioinformatics Workflows](https://bclwiki.kaust.edu.sa/en/bix/analysis/public/bioinformatics-workflows). + +## Using the KAUST config profile + +The recommended way to activate `Nextflow`, that is need to run the `nf-core` workflows on Ibex, +is to use the [module system](https://docs.hpc.kaust.edu.sa/soft_env/prog_env/modulesystem/basic_commands.html): + +```bash +# Log in to the desired cluster +ssh @ilogin.kaust.edu.sa + +# Activate the modules, you can also choose to use a specific version with e.g. `Nextflow/21.10`. +module load nextflow +``` + +To use, run the pipeline with `-profile kaust` (one hyphen). +This will download and launch the [`kaust.config`](../conf/kaust.config) which has been pre-configured with a setup suitable for the KAUST servers. +It will enable `Nextflow` to manage the pipeline jobs via the `Slurm` job scheduler and `Singularity` to run the tasks. +Using the KAUST profile, `Docker` image(s) containing required software(s) will be downloaded, and converted to `Singularity` image(s) if needed before execution of the pipeline. To avoid downloading same images by multiple users, we provide a singularity `libraryDir` taht is configured to use images already downloaded in our central container library. Images missing from our library will be downloaded to your home directory as defined by `cacheDir`. + +The KAUST profile makes running the nf-core workflows as simple as: + +```bash +module load nextflow +# Launch a nf-core pipeline with the kaust profile for analyzing human data +$ nextflow run nf-core/ -profile kaust -r --genome GRCh38.p14 --samplesheet input.csv [...] +``` +Where `input_csv` contains information about the samples and data file paths. + +Remember to use `-bg` to launch `Nextflow` in the background, so that the pipeline doesn't exit if you leave your terminal session. +Alternatively, you can also launch `Nextflow` in a `tmux` or a `screen` session. diff --git a/nfcore_custom.config b/nfcore_custom.config index a68e2e85..9ebee113 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -214,6 +214,9 @@ profiles { ku_sund_danhead { includeConfig "${params.custom_config_base}/conf/ku_sund_danhead.config" } + uppmax { + includeConfig "${params.custom_config_base}/conf/kaust.config" + } leicester { includeConfig "${params.custom_config_base}/conf/leicester.config" } From f4fba5d32adcfe0fc7ec27b0d8b5472592f245d6 Mon Sep 17 00:00:00 2001 From: Husen Umer Date: Sun, 1 Dec 2024 16:07:52 +0300 Subject: [PATCH 3/9] minor fix to kaust-docs --- docs/kaust.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/kaust.md b/docs/kaust.md index 37d109aa..71bf3444 100644 --- a/docs/kaust.md +++ b/docs/kaust.md @@ -1,4 +1,4 @@ -# nf-core/configs: UPPMAX Configuration +# nf-core/configs: KAUST Configuration The purpose of this custom configurations is to streamline executing nf-core pipelines on the KAUST Ibex cluster. @@ -8,30 +8,29 @@ We have a wiki page dedicated to the Bioinformatics team at KAUST to help users: ## Using the KAUST config profile -The recommended way to activate `Nextflow`, that is need to run the `nf-core` workflows on Ibex, +The recommended way to activate `Nextflow`, that is needed to run the `nf-core` workflows on Ibex, is to use the [module system](https://docs.hpc.kaust.edu.sa/soft_env/prog_env/modulesystem/basic_commands.html): ```bash # Log in to the desired cluster ssh @ilogin.kaust.edu.sa -# Activate the modules, you can also choose to use a specific version with e.g. `Nextflow/21.10`. +# Activate the modules, you can also choose to use a specific version with e.g. `Nextflow/24.04.4`. module load nextflow ``` -To use, run the pipeline with `-profile kaust` (one hyphen). +Launch the pipeline with `-profile kaust` (one hyphen) to run the workflows using the KAUST profile. This will download and launch the [`kaust.config`](../conf/kaust.config) which has been pre-configured with a setup suitable for the KAUST servers. It will enable `Nextflow` to manage the pipeline jobs via the `Slurm` job scheduler and `Singularity` to run the tasks. -Using the KAUST profile, `Docker` image(s) containing required software(s) will be downloaded, and converted to `Singularity` image(s) if needed before execution of the pipeline. To avoid downloading same images by multiple users, we provide a singularity `libraryDir` taht is configured to use images already downloaded in our central container library. Images missing from our library will be downloaded to your home directory as defined by `cacheDir`. +Using the KAUST profile, `Docker` image(s) containing required software(s) will be downloaded, and converted to `Singularity` image(s) if needed before execution of the pipeline. To avoid downloading same images by multiple users, we provide a singularity `libraryDir` that is configured to use images already downloaded in our central container library. Images missing from our library will be downloaded to your home directory path as defined by `cacheDir`. The KAUST profile makes running the nf-core workflows as simple as: - ```bash module load nextflow -# Launch a nf-core pipeline with the kaust profile for analyzing human data +# Launch nf-core pipeline with the kaust profile, e.g. for analyzing human data: $ nextflow run nf-core/ -profile kaust -r --genome GRCh38.p14 --samplesheet input.csv [...] ``` -Where `input_csv` contains information about the samples and data file paths. +Where `input_csv` contains information about the samples and datafile paths. Remember to use `-bg` to launch `Nextflow` in the background, so that the pipeline doesn't exit if you leave your terminal session. Alternatively, you can also launch `Nextflow` in a `tmux` or a `screen` session. From b8efcfa42601de95066a362c087cc0d59665877b Mon Sep 17 00:00:00 2001 From: Husen Umer Date: Mon, 2 Dec 2024 09:53:44 +0300 Subject: [PATCH 4/9] removed workdir flag in config --- conf/kaust.config | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/conf/kaust.config b/conf/kaust.config index 2d3f30d1..c1ffea53 100755 --- a/conf/kaust.config +++ b/conf/kaust.config @@ -35,9 +35,6 @@ process { ] } -// Keep work directory after a successful run -cleanup = false - process { withLabel:process_single { @@ -68,4 +65,4 @@ process { time = { 96.h * task.attempt } } -} \ No newline at end of file +} From 4dd73c3db784814329c3e5a2a0e7649a32fa248c Mon Sep 17 00:00:00 2001 From: Husen Umer Date: Mon, 2 Dec 2024 09:56:51 +0300 Subject: [PATCH 5/9] fixed typo --- nfcore_custom.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nfcore_custom.config b/nfcore_custom.config index 9ebee113..f9c90300 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -214,7 +214,7 @@ profiles { ku_sund_danhead { includeConfig "${params.custom_config_base}/conf/ku_sund_danhead.config" } - uppmax { + kaust { includeConfig "${params.custom_config_base}/conf/kaust.config" } leicester { From 72980692fdb6857cc3b0d1e4f9530f950b836521 Mon Sep 17 00:00:00 2001 From: Husen Umer Date: Mon, 2 Dec 2024 12:42:41 +0300 Subject: [PATCH 6/9] formatting --- conf/kaust.config | 27 +++++++++++++-------------- docs/kaust.md | 1 + 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/conf/kaust.config b/conf/kaust.config index c1ffea53..cd0e3d34 100755 --- a/conf/kaust.config +++ b/conf/kaust.config @@ -12,13 +12,13 @@ params { includeConfig '/biocorelab/BIX/resources/configs/genomes.yaml' singularity { - enabled = true - autoMounts = true - pullTimeout = '60 min' - // Use existing images from the centralized library, if available - libraryDir = "/biocorelab/BIX/resources/singularity/images/" - // Download images that are missing from the library to user space - cacheDir = "/home/$USER/.singularity/nf_images/" + enabled = true + autoMounts = true + pullTimeout = '60 min' + // Use existing images from the centralized library, if available + libraryDir = "/biocorelab/BIX/resources/singularity/images/" + // Download images that are missing from the library to user space + cacheDir = "/home/$USER/.singularity/nf_images/" } process { @@ -39,30 +39,29 @@ process { withLabel:process_single { time = 20.h - } + } withLabel:process_low { cpus = { 4 * task.attempt } memory = { 16.GB * task.attempt } time = { 6.h * task.attempt } - } - + } + withLabel:process_medium { cpus = { 20 * task.attempt } memory = { 96.GB * task.attempt } time = { 12.h * task.attempt } - } + } withLabel:process_high { cpus = { 40 * task.attempt } memory = { 256.GB * task.attempt } time = { 20.h * task.attempt } - } + } withLabel:process_long { cpus = { 12 * task.attempt } memory = { 128.GB * task.attempt } time = { 96.h * task.attempt } - } - + } } diff --git a/docs/kaust.md b/docs/kaust.md index 71bf3444..eb0bd92d 100644 --- a/docs/kaust.md +++ b/docs/kaust.md @@ -1,4 +1,5 @@ # nf-core/configs: KAUST Configuration +manage the pipeline jobs via the nf-core/configs: KAUST Configuration The purpose of this custom configurations is to streamline executing nf-core pipelines on the KAUST Ibex cluster. From 85c1a31f7f7df18358f33c5dc8602bd436661182 Mon Sep 17 00:00:00 2001 From: Husen Umer Date: Mon, 2 Dec 2024 13:00:55 +0300 Subject: [PATCH 7/9] docs update --- docs/kaust.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/kaust.md b/docs/kaust.md index eb0bd92d..95365d68 100644 --- a/docs/kaust.md +++ b/docs/kaust.md @@ -22,15 +22,17 @@ module load nextflow Launch the pipeline with `-profile kaust` (one hyphen) to run the workflows using the KAUST profile. This will download and launch the [`kaust.config`](../conf/kaust.config) which has been pre-configured with a setup suitable for the KAUST servers. -It will enable `Nextflow` to manage the pipeline jobs via the `Slurm` job scheduler and `Singularity` to run the tasks. -Using the KAUST profile, `Docker` image(s) containing required software(s) will be downloaded, and converted to `Singularity` image(s) if needed before execution of the pipeline. To avoid downloading same images by multiple users, we provide a singularity `libraryDir` that is configured to use images already downloaded in our central container library. Images missing from our library will be downloaded to your home directory path as defined by `cacheDir`. +It will enable `Nextflow` to manage the pipeline jobs via the `Slurm` job scheduler and `Singularity` to run the tasks. +Using the KAUST profile, `Docker` image(s) containing required software(s) will be downloaded, and converted to `Singularity` image(s) if needed before execution of the pipeline. To avoid downloading same images by multiple users, we provide a singularity `libraryDir` that is configured to use images already downloaded in our central container library. Images missing from our library will be downloaded to your home directory path as defined by `cacheDir`. The KAUST profile makes running the nf-core workflows as simple as: + ```bash module load nextflow # Launch nf-core pipeline with the kaust profile, e.g. for analyzing human data: $ nextflow run nf-core/ -profile kaust -r --genome GRCh38.p14 --samplesheet input.csv [...] ``` + Where `input_csv` contains information about the samples and datafile paths. Remember to use `-bg` to launch `Nextflow` in the background, so that the pipeline doesn't exit if you leave your terminal session. From feecc08e1a9de57bf1987577c301e97dd144c510 Mon Sep 17 00:00:00 2001 From: Husen Umer Date: Mon, 2 Dec 2024 13:04:32 +0300 Subject: [PATCH 8/9] fix docs --- docs/kaust.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/kaust.md b/docs/kaust.md index 95365d68..69973d6d 100644 --- a/docs/kaust.md +++ b/docs/kaust.md @@ -1,4 +1,5 @@ # nf-core/configs: KAUST Configuration + manage the pipeline jobs via the nf-core/configs: KAUST Configuration The purpose of this custom configurations is to streamline executing nf-core pipelines on the KAUST Ibex cluster. From 6b55debd47d5d03150e1e8f08da92f7403da1e5a Mon Sep 17 00:00:00 2001 From: Husen Umer Date: Mon, 2 Dec 2024 13:13:01 +0300 Subject: [PATCH 9/9] updated docs --- docs/kaust.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/kaust.md b/docs/kaust.md index 69973d6d..34cf3ddb 100644 --- a/docs/kaust.md +++ b/docs/kaust.md @@ -29,7 +29,10 @@ Using the KAUST profile, `Docker` image(s) containing required software(s) will The KAUST profile makes running the nf-core workflows as simple as: ```bash + module load nextflow +module load singularity + # Launch nf-core pipeline with the kaust profile, e.g. for analyzing human data: $ nextflow run nf-core/ -profile kaust -r --genome GRCh38.p14 --samplesheet input.csv [...] ```