From 4e0788ceaffe7dc715ab13f9d44c7d4aded72c64 Mon Sep 17 00:00:00 2001 From: JohannesKersting Date: Fri, 15 Mar 2024 08:44:26 +0100 Subject: [PATCH 01/12] updated GitHub handle and website --- conf/daisybio.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/daisybio.config b/conf/daisybio.config index 99dc27d75..32db86a80 100644 --- a/conf/daisybio.config +++ b/conf/daisybio.config @@ -1,7 +1,7 @@ params { config_profile_description = 'DaiSyBio cluster profile provided by nf-core/configs.' - config_profile_contact = 'Johannes Kersting (Johannes Kersting)' - config_profile_url = 'https://biomedical-big-data.de/' + config_profile_contact = 'Johannes Kersting (@JohannesKersting)' + config_profile_url = 'https://www.mls.ls.tum.de/daisybio/startseite/' max_memory = 1.TB max_cpus = 120 max_time = 96.h From 36e76485a1ba30f481277745a1ad30cfa148b3a3 Mon Sep 17 00:00:00 2001 From: JohannesKersting Date: Fri, 15 Mar 2024 08:51:54 +0100 Subject: [PATCH 02/12] increased the queueSize to 50 --- conf/daisybio.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/daisybio.config b/conf/daisybio.config index 32db86a80..c3868c418 100644 --- a/conf/daisybio.config +++ b/conf/daisybio.config @@ -15,7 +15,7 @@ process { } executor { - queueSize = 30 + queueSize = 50 submitRateLimit = '10 sec' } From 0847a9b1c893d397512fb1328a980ba86f47f8b9 Mon Sep 17 00:00:00 2001 From: JohannesKersting Date: Fri, 15 Mar 2024 10:57:55 +0100 Subject: [PATCH 03/12] locate workdir on /nfs/scratch and use cleanup --- conf/daisybio.config | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/conf/daisybio.config b/conf/daisybio.config index c3868c418..5c216e03e 100644 --- a/conf/daisybio.config +++ b/conf/daisybio.config @@ -8,6 +8,11 @@ params { igenomes_base = '/nfs/data/references/igenomes' } +// Define workDir on /nfs/scratch/nf-core_work/ based on the md5 value of the launchDir +def work_dir = System.getenv("PWD") ? "/nfs/scratch/nf-core_work/"+System.getenv("PWD").md5()+"/work": "work" +workDir = "$work_dir" + + process { executor = 'slurm' queue = 'shared-cpu' @@ -28,4 +33,12 @@ apptainer { } +cleanup = true +profiles { + no_cleanup { + cleanup = false + } +} + + From b9a1588468f1aba92341ff2db80ce4e5d9dfcafa Mon Sep 17 00:00:00 2001 From: JohannesKersting Date: Fri, 15 Mar 2024 11:04:45 +0100 Subject: [PATCH 04/12] renamed internal profile to debug --- conf/daisybio.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/daisybio.config b/conf/daisybio.config index 5c216e03e..959a738a7 100644 --- a/conf/daisybio.config +++ b/conf/daisybio.config @@ -35,7 +35,7 @@ apptainer { cleanup = true profiles { - no_cleanup { + debug { cleanup = false } } From dd1b4af9199d2d340e33cd5f1b9eef7c588d4827 Mon Sep 17 00:00:00 2001 From: JohannesKersting Date: Fri, 15 Mar 2024 17:37:50 +0100 Subject: [PATCH 05/12] renamed debug profile to keep_work --- conf/daisybio.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/daisybio.config b/conf/daisybio.config index 959a738a7..192edd826 100644 --- a/conf/daisybio.config +++ b/conf/daisybio.config @@ -35,7 +35,7 @@ apptainer { cleanup = true profiles { - debug { + keep_work { cleanup = false } } From 3559c2710269c5a2c6abf04fcab92bc95c15e023 Mon Sep 17 00:00:00 2001 From: JohannesKersting Date: Fri, 15 Mar 2024 17:38:43 +0100 Subject: [PATCH 06/12] adjusted work dir name --- conf/daisybio.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/daisybio.config b/conf/daisybio.config index 192edd826..d333abbcd 100644 --- a/conf/daisybio.config +++ b/conf/daisybio.config @@ -9,7 +9,7 @@ params { } // Define workDir on /nfs/scratch/nf-core_work/ based on the md5 value of the launchDir -def work_dir = System.getenv("PWD") ? "/nfs/scratch/nf-core_work/"+System.getenv("PWD").md5()+"/work": "work" +def work_dir = System.getenv("PWD") ? "/nfs/scratch/nf-core_work/"+System.getenv("PWD").md5(): "work" workDir = "$work_dir" From 76b06df023aa2844f859030f7f538ea67f8aaaa3 Mon Sep 17 00:00:00 2001 From: JohannesKersting Date: Thu, 28 Mar 2024 14:15:36 +0100 Subject: [PATCH 07/12] check if work directory base dir exists and update docs --- conf/daisybio.config | 7 ++++--- docs/daisybio.md | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/conf/daisybio.config b/conf/daisybio.config index d333abbcd..c6f7e35c8 100644 --- a/conf/daisybio.config +++ b/conf/daisybio.config @@ -9,9 +9,10 @@ params { } // Define workDir on /nfs/scratch/nf-core_work/ based on the md5 value of the launchDir -def work_dir = System.getenv("PWD") ? "/nfs/scratch/nf-core_work/"+System.getenv("PWD").md5(): "work" -workDir = "$work_dir" - +def work_dir = "/nfs/scratch/nf-core_work/" +if(new File(work_dir).exists() && System.getenv("PWD")) { + workDir = work_dir+System.getenv("PWD").md5() +} process { executor = 'slurm' diff --git a/docs/daisybio.md b/docs/daisybio.md index 3c7309577..ff175a054 100644 --- a/docs/daisybio.md +++ b/docs/daisybio.md @@ -7,4 +7,6 @@ This will automatically download and apply ['daisybio.config'](../conf/daisybio. The config file will set slurm as a scheduler for the compute cluster, define max resources, and specify cache locations for singularity, apptainer, and iGenomes. Pipeline specific parameters still need to be configured manually. +Work directories will be kept at `/nfs/scratch/nf-core_work/` and are automatically removed after a successful pipeline run. To keep the intermediate file, e.g. for using the `-resume` function, add `keep_work` as a profile: `-profile daisybio,,keep_work`. + Singularity and apptainer are currently only installed on the exbio nodes. In order to use them, you can either install singularity/apptainer in a conda environment and execute nextflow inside the environment, or limit the queue to exbio nodes with `-process.queue exbio-cpu` From d44382c10ad04719f2746b44ca2cea73aec6c720 Mon Sep 17 00:00:00 2001 From: JohannesKersting Date: Tue, 20 Aug 2024 14:25:48 +0200 Subject: [PATCH 08/12] added singularity profile, loading a module --- conf/daisybio.config | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/conf/daisybio.config b/conf/daisybio.config index c6f7e35c8..07d7c3eec 100644 --- a/conf/daisybio.config +++ b/conf/daisybio.config @@ -25,10 +25,6 @@ executor { submitRateLimit = '10 sec' } -singularity { - cacheDir = '/nfs/scratch/singularity_cache' -} - apptainer { cacheDir = '/nfs/scratch/apptainer_cache' } @@ -39,6 +35,18 @@ profiles { keep_work { cleanup = false } + singularity { + singularity.enabled = true + singularity.autoMounts = true + conda.enabled = false + docker.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = false + apptainer.enabled = false + process.beforeScript = 'module load singularity' + singularity.cacheDir = '/nfs/scratch/singularity_cache' + } } From bdd93d4f9bf38b42c793c659e680a344a455dffb Mon Sep 17 00:00:00 2001 From: JohannesKersting Date: Tue, 20 Aug 2024 15:55:53 +0200 Subject: [PATCH 09/12] added apptainer profile --- conf/daisybio.config | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/conf/daisybio.config b/conf/daisybio.config index 07d7c3eec..b0e8f14b0 100644 --- a/conf/daisybio.config +++ b/conf/daisybio.config @@ -25,16 +25,14 @@ executor { submitRateLimit = '10 sec' } -apptainer { - cacheDir = '/nfs/scratch/apptainer_cache' -} - - cleanup = true profiles { + // profile to keep work directory keep_work { cleanup = false } + + //profile for singularity singularity { singularity.enabled = true singularity.autoMounts = true @@ -47,6 +45,21 @@ profiles { process.beforeScript = 'module load singularity' singularity.cacheDir = '/nfs/scratch/singularity_cache' } + + // profile for apptainer + apptainer { + apptainer.enabled = true + apptainer.autoMounts = true + conda.enabled = false + docker.enabled = false + singularity.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = false + process.beforeScript = 'module load apptainer' + cacheDir = '/nfs/scratch/apptainer_cache' + } + } From 6797a0f430ed8227a4a93a8167f3a2d9eb3249c2 Mon Sep 17 00:00:00 2001 From: JohannesKersting Date: Tue, 20 Aug 2024 16:03:01 +0200 Subject: [PATCH 10/12] fixed apptainer cache dir --- conf/daisybio.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/daisybio.config b/conf/daisybio.config index b0e8f14b0..3f0519bdd 100644 --- a/conf/daisybio.config +++ b/conf/daisybio.config @@ -57,7 +57,7 @@ profiles { shifter.enabled = false charliecloud.enabled = false process.beforeScript = 'module load apptainer' - cacheDir = '/nfs/scratch/apptainer_cache' + apptainer.cacheDir = '/nfs/scratch/apptainer_cache' } } From a425989283d74b1f8192c0c862d90f6c6e6490e5 Mon Sep 17 00:00:00 2001 From: JohannesKersting Date: Tue, 20 Aug 2024 17:14:09 +0200 Subject: [PATCH 11/12] use launch directory path instead of hash to identify work directories --- conf/daisybio.config | 4 ++-- docs/daisybio.md | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/conf/daisybio.config b/conf/daisybio.config index 3f0519bdd..66291ea23 100644 --- a/conf/daisybio.config +++ b/conf/daisybio.config @@ -8,10 +8,10 @@ params { igenomes_base = '/nfs/data/references/igenomes' } -// Define workDir on /nfs/scratch/nf-core_work/ based on the md5 value of the launchDir +// define workDir in /nfs/scratch/nf-core_work/ named after the launch dir def work_dir = "/nfs/scratch/nf-core_work/" if(new File(work_dir).exists() && System.getenv("PWD")) { - workDir = work_dir+System.getenv("PWD").md5() + workDir = work_dir+System.getenv("PWD").tokenize('/').join('.') } process { diff --git a/docs/daisybio.md b/docs/daisybio.md index ff175a054..f831b819c 100644 --- a/docs/daisybio.md +++ b/docs/daisybio.md @@ -5,8 +5,7 @@ To use the DaiSyBio profile, run a nf-core pipeline with `-profile daisybio,,keep_work`. +Work directories will be kept at `/nfs/scratch/nf-core_work/` in a directory named after the full path of the launch directory ("." separated). Thy are automatically removed after a successful pipeline run. To keep the intermediate file, e.g. for using the `-resume` function, add `keep_work` as a profile: `-profile daisybio,,keep_work`. -Singularity and apptainer are currently only installed on the exbio nodes. In order to use them, you can either install singularity/apptainer in a conda environment and execute nextflow inside the environment, or limit the queue to exbio nodes with `-process.queue exbio-cpu` From e6326dd25347b3bdfcc8872bfe717c21c4b98aa8 Mon Sep 17 00:00:00 2001 From: JohannesKersting Date: Tue, 20 Aug 2024 17:50:55 +0200 Subject: [PATCH 12/12] linting --- docs/daisybio.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/daisybio.md b/docs/daisybio.md index f831b819c..bf267a903 100644 --- a/docs/daisybio.md +++ b/docs/daisybio.md @@ -7,5 +7,4 @@ This will automatically download and apply ['daisybio.config'](../conf/daisybio. The config file will set slurm as a scheduler for the compute cluster, define max resources, and specify cache locations for singularity, apptainer, and iGenomes. Pipeline-specific parameters still need to be configured manually. -Work directories will be kept at `/nfs/scratch/nf-core_work/` in a directory named after the full path of the launch directory ("." separated). Thy are automatically removed after a successful pipeline run. To keep the intermediate file, e.g. for using the `-resume` function, add `keep_work` as a profile: `-profile daisybio,,keep_work`. - +Work directories will be kept at `/nfs/scratch/nf-core_work/` in a directory named after the full path of the launch directory ("." separated). Thy are automatically removed after a successful pipeline run. To keep the intermediate file, e.g. for using the `-resume` function, add `keep_work` as a profile: `-profile daisybio,,keep_work`.