From 8fc60e2e70bee84a28a72d0c82eb1fead3f1aff3 Mon Sep 17 00:00:00 2001 From: phue Date: Mon, 29 Mar 2021 19:25:58 +0200 Subject: [PATCH 1/4] add config for biohpc_gen --- .github/workflows/main.yml | 2 +- README.md | 1 + conf/biohpc_gen.config | 24 ++++++++++++++++++++++++ docs/biohpc_gen.md | 16 ++++++++++++++++ nfcore_custom.config | 3 ++- 5 files changed, 44 insertions(+), 2 deletions(-) create mode 100755 conf/biohpc_gen.config create mode 100644 docs/biohpc_gen.md diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 50dc704..38adb48 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', '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'] + profile: ['abims', 'awsbatch', 'bi','bigpurple', 'binac', 'biohpc_gen', '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 diff --git a/README.md b/README.md index 5616780..4217d62 100644 --- a/README.md +++ b/README.md @@ -99,6 +99,7 @@ Currently documentation is available for the following systems: * [BIGPURPLE](docs/bigpurple.md) * [BI](docs/bi.md) * [BINAC](docs/binac.md) +* [BIOHPC_GEN](docs/biohpc_gen.md) * [CBE](docs/cbe.md) * [CCGA_DX](docs/ccga_dx.md) * [CCGA_MED](docs/ccga_med.md) diff --git a/conf/biohpc_gen.config b/conf/biohpc_gen.config new file mode 100755 index 0000000..cdd2c03 --- /dev/null +++ b/conf/biohpc_gen.config @@ -0,0 +1,24 @@ +//Profile config names for nf-core/configs +params { + config_profile_description = 'BioHPC Genomics (biohpc_gen) cluster profile provided by nf-core/configs' + config_profile_contact = 'Patrick Hüther (@phue)' + config_profile_url = 'https://collab.lmu.de/display/BioHPCGenomics/BioHPC+Genomics' +} + +process { + executor = 'slurm' + queue = { task.memory <= 1536.GB ? (task.time > 2.d || task.memory > 384.GB ? 'biohpc_gen_production' : 'biohpc_gen_normal') : 'biohpc_gen_highmem' } + beforeScript = 'module use /dss/dssfs01/pr53da/pr53da-dss-0000/spack/modules/x86_avx2/linux*' + module = 'charliecloud/0.22:miniconda3' + clusterOptions = '-M biohpc_gen' +} + +charliecloud { + enabled = true +} + +params { + params.max_time = 14.d + params.max_cpus = 80 + params.max_memory = 3.TB +} \ No newline at end of file diff --git a/docs/biohpc_gen.md b/docs/biohpc_gen.md new file mode 100644 index 0000000..66647ac --- /dev/null +++ b/docs/biohpc_gen.md @@ -0,0 +1,16 @@ +# nf-core/configs: BioHPC Genomics (BIOHPC_GEN) Configuration + +All nf-core pipelines have been successfully configured for use on the BioHPC Genomics (biohpc_gen) cluster that is housed at the Leibniz Rechenzentrum (LRZ) for research groups at the Faculty of Biology of the Ludwig-Maximilians-University (LMU) in Munich. + +To use, run the pipeline with `-profile biohpc_gen`. This will download and launch the [`biohpc_gen.config`](../conf/biohpc_gen.config) which has been pre-configured with a setup suitable for the biohpc_gen cluster. Using this profile, a docker image containing all of the required software will be downloaded, and converted to a Charliecloud container before execution of the pipeline. + +Before running the pipeline you will need to load Nextflow and Charliecloud using the environment module system on biohpc_gen. You can do this by issuing the commands below: + +```bash +## Load Nextflow and Charliecloud environment modules +module purge +module load nextflow charliecloud/0.22 +``` + +>NB: You will need an account to use the LRZ Linux cluster as well as group access to the biohpc_gen cluster in order to run nf-core pipelines. +>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. diff --git a/nfcore_custom.config b/nfcore_custom.config index eb287b9..807b6f7 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -15,6 +15,7 @@ profiles { bi { includeConfig "${params.custom_config_base}/conf/bi.config" } bigpurple { includeConfig "${params.custom_config_base}/conf/bigpurple.config" } binac { includeConfig "${params.custom_config_base}/conf/binac.config" } + biohpc_gen { includeConfig "${params.custom_config_base}/conf/biohpc_gen.config" } cbe { includeConfig "${params.custom_config_base}/conf/cbe.config" } ccga_dx { includeConfig "${params.custom_config_base}/conf/ccga_dx.config" } ccga_med { includeConfig "${params.custom_config_base}/conf/ccga_med.config" } @@ -23,7 +24,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 7c5a0871a3582f8fefe3ab6c76ec4c8a2479b5fe Mon Sep 17 00:00:00 2001 From: phue Date: Mon, 29 Mar 2021 19:36:49 +0200 Subject: [PATCH 2/4] add note about required nextflow version --- docs/biohpc_gen.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/biohpc_gen.md b/docs/biohpc_gen.md index 66647ac..1078835 100644 --- a/docs/biohpc_gen.md +++ b/docs/biohpc_gen.md @@ -12,5 +12,6 @@ module purge module load nextflow charliecloud/0.22 ``` +>NB: Charliecloud support requires Nextflow version `21.03.0-edge` or later. >NB: You will need an account to use the LRZ Linux cluster as well as group access to the biohpc_gen cluster in order to run nf-core pipelines. >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. From 60ae267e4397cc9664154ad5cd5df19692a9b615 Mon Sep 17 00:00:00 2001 From: phue Date: Tue, 6 Apr 2021 11:35:01 +0200 Subject: [PATCH 3/4] use SLURM_CLUSTERS env var this seems to be more reliable for queue checking than using the clusterOptions directive. See https://github.com/nextflow-io/nextflow/issues/807 --- conf/biohpc_gen.config | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/conf/biohpc_gen.config b/conf/biohpc_gen.config index cdd2c03..b625b20 100755 --- a/conf/biohpc_gen.config +++ b/conf/biohpc_gen.config @@ -5,12 +5,15 @@ params { config_profile_url = 'https://collab.lmu.de/display/BioHPCGenomics/BioHPC+Genomics' } +env { + SLURM_CLUSTERS='biohpc_gen' +} + process { executor = 'slurm' queue = { task.memory <= 1536.GB ? (task.time > 2.d || task.memory > 384.GB ? 'biohpc_gen_production' : 'biohpc_gen_normal') : 'biohpc_gen_highmem' } beforeScript = 'module use /dss/dssfs01/pr53da/pr53da-dss-0000/spack/modules/x86_avx2/linux*' module = 'charliecloud/0.22:miniconda3' - clusterOptions = '-M biohpc_gen' } charliecloud { @@ -21,4 +24,4 @@ params { params.max_time = 14.d params.max_cpus = 80 params.max_memory = 3.TB -} \ No newline at end of file +} From 53b54ba8454f02e55d799214c9bcf87fd8b0d2c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20H=C3=BCther?= Date: Wed, 7 Apr 2021 13:18:06 +0200 Subject: [PATCH 4/4] Remove whitespace Co-authored-by: Alexander Peltzer --- nfcore_custom.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nfcore_custom.config b/nfcore_custom.config index 807b6f7..6b51561 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -24,7 +24,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" }