From b638694bd07aad57a70ca0c06158bff358df114f Mon Sep 17 00:00:00 2001 From: Nathan Watson-Haigh Date: Sat, 12 Mar 2022 21:17:33 +1030 Subject: [PATCH 01/73] Added SAHMRI HPC profile --- .github/workflows/main.yml | 1 + conf/sahmri.config | 28 ++++++++++++++++++++++++++++ docs/sahmri.md | 0 3 files changed, 29 insertions(+) create mode 100644 conf/sahmri.config create mode 100644 docs/sahmri.md diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 28776fd..01b24d9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -63,6 +63,7 @@ jobs: - 'phoenix' - 'prince' - 'rosalind' + - 'sahmri' - 'sanger' - 'seg_globe' - 'uct_hpc' diff --git a/conf/sahmri.config b/conf/sahmri.config new file mode 100644 index 0000000..85ff1fa --- /dev/null +++ b/conf/sahmri.config @@ -0,0 +1,28 @@ +params { + config_profile_description = 'South Australian Medial Health and Research Institute (SAHMRI) HPC cluster profile.' + config_profile_contact = 'Nathan Watson-Haigh (nathan.watson-haigh@sahmri.com)' + config_profile_url = "https://sahmri.com" + max_memory = 375.GB + max_cpus = 32 + max_time = 14.d + igenomes_base = '/cancer/storage/shared/igenomes/' +} +process { + executor = 'slurm' + queue = 'sahmri_prod_hpc,sahmri_cancer_hpc' + maxRetries = 2 + + cpus = { check_max( 2 * task.attempt, 'cpus') } + memory = { check_max( 1.GB * task.attempt, 'memory') } + time = { check_max( 10.m * task.attempt, 'time') } +} +executor { + queueSize = 50 + submitRateLimit = '10 sec' +} +singularity { + enabled = true + autoMounts = true + cacheDir = '/cancer/storage/shared/simg' +} +cleanup = true diff --git a/docs/sahmri.md b/docs/sahmri.md new file mode 100644 index 0000000..e69de29 From b58a9952be938da8b3951f75af471e42747cbc78 Mon Sep 17 00:00:00 2001 From: Nathan Watson-Haigh Date: Sat, 12 Mar 2022 21:24:05 +1030 Subject: [PATCH 02/73] Added SAHMRI HPC profile --- nfcore_custom.config | 1 + 1 file changed, 1 insertion(+) diff --git a/nfcore_custom.config b/nfcore_custom.config index 2c25adb..d3adc4f 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -57,6 +57,7 @@ profiles { phoenix { includeConfig "${params.custom_config_base}/conf/phoenix.config" } prince { includeConfig "${params.custom_config_base}/conf/prince.config" } rosalind { includeConfig "${params.custom_config_base}/conf/rosalind.config" } + sahmri { includeConfig "${params.custom_config_base}/conf/sahmri.config" } sanger { includeConfig "${params.custom_config_base}/conf/sanger.config"} seg_globe { includeConfig "${params.custom_config_base}/conf/seg_globe.config"} uct_hpc { includeConfig "${params.custom_config_base}/conf/uct_hpc.config" } From dba3fb4c1d51996b02c0451222937a2d06fd0e41 Mon Sep 17 00:00:00 2001 From: Nathan Watson-Haigh Date: Sun, 13 Mar 2022 00:05:34 +1030 Subject: [PATCH 03/73] Added SAHMRI HPC profile docs --- docs/sahmri.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/sahmri.md b/docs/sahmri.md index e69de29..4ef285e 100644 --- a/docs/sahmri.md +++ b/docs/sahmri.md @@ -0,0 +1,18 @@ +# nf-core/configs: SAHMRI HPC Configuration + +All nf-core pipelines have been successfully configured for use on the HPC cluster at [SAHMRI](https://sahmri.org.au/). +To use, run the pipeline with `-profile sahmri`. This will download and launch the [`sahmri.config`](../conf/sahmri.config) which has been pre-configured +with a setup suitable for the SAHMRI HPC cluster. Using this profile, either a docker image containing all of the required software will be downloaded, +and converted to a Singularity image or a Singularity image downloaded directly before execution of the pipeline. + +The latest version of Nextflow is not installed by default on the SAHMRI HPC cluster. You will need to install it into a directory you have write access to. +Follow these instructions from the Nextflow documentation. + +- Install Nextflow : [here](https://www.nextflow.io/docs/latest/getstarted.html#) + +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. + +> NB: You will need an account to use the SAHMRI HPC cluster in order to run the pipeline. If in doubt contact the ICT Service Desk. +> NB: Nextflow will need to submit the jobs via SLURM to the SAHMRI HPC cluster and as such the commands above will have to be executed on the login +node. If in doubt contact ICT. From 2f0b0225716017703209be1dd5ca7d3794004f5d Mon Sep 17 00:00:00 2001 From: Nathan Watson-Haigh Date: Sun, 13 Mar 2022 00:08:42 +1030 Subject: [PATCH 04/73] Fixed typos --- conf/sahmri.config | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/sahmri.config b/conf/sahmri.config index 85ff1fa..6757dbf 100644 --- a/conf/sahmri.config +++ b/conf/sahmri.config @@ -1,7 +1,7 @@ params { - config_profile_description = 'South Australian Medial Health and Research Institute (SAHMRI) HPC cluster profile.' - config_profile_contact = 'Nathan Watson-Haigh (nathan.watson-haigh@sahmri.com)' - config_profile_url = "https://sahmri.com" + config_profile_description = 'South Australian Health and Medical Research Institute (SAHMRI) HPC cluster profile.' + config_profile_contact = 'Nathan Watson-Haigh (nathan.watson-haigh@sahmri.com)' + config_profile_url = "https://sahmri.org.au" max_memory = 375.GB max_cpus = 32 max_time = 14.d From cc550267516618430ac80afb6fd300173a0c54d2 Mon Sep 17 00:00:00 2001 From: Nathan Watson-Haigh Date: Sun, 13 Mar 2022 07:39:31 +1030 Subject: [PATCH 05/73] Add singularity to PATH --- conf/sahmri.config | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/sahmri.config b/conf/sahmri.config index 6757dbf..ad6b84d 100644 --- a/conf/sahmri.config +++ b/conf/sahmri.config @@ -23,6 +23,7 @@ executor { singularity { enabled = true autoMounts = true + beforeScript = 'export PATH=/apps/opt/singularity/latest/bin:${PATH}' cacheDir = '/cancer/storage/shared/simg' } cleanup = true From a0f5ac744581085a73190180ce5fcca4c0b877fe Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Tue, 15 Mar 2022 11:41:51 +1030 Subject: [PATCH 06/73] Added references subdir to igenomes_base --- conf/sahmri.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/sahmri.config b/conf/sahmri.config index ad6b84d..b3eb8c6 100644 --- a/conf/sahmri.config +++ b/conf/sahmri.config @@ -5,7 +5,7 @@ params { max_memory = 375.GB max_cpus = 32 max_time = 14.d - igenomes_base = '/cancer/storage/shared/igenomes/' + igenomes_base = '/cancer/storage/shared/igenomes/references/' } process { executor = 'slurm' From 9747d5fe15adb8a0f9d8e9c6e88c06f97eccb957 Mon Sep 17 00:00:00 2001 From: Praveen Raj S <43108054+praveenraj2018@users.noreply.github.com> Date: Wed, 16 Mar 2022 14:36:25 +0100 Subject: [PATCH 07/73] Added PileupSummariesForMutect2 in CPU limit list Add PileupSummariesForMutect2 to the list to run with less threads. Changed the MaxForks to 12 Tested on an internal sample and it worked! --- conf/munin.config | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/conf/munin.config b/conf/munin.config index 4f9c209..34d36ae 100644 --- a/conf/munin.config +++ b/conf/munin.config @@ -20,9 +20,10 @@ process { maxForks = 46 // Limit cpus for Mutect2 - withName:'Mutect2|Mutect2Single' { +process { + withName:'Mutect2|Mutect2Single|PileupSummariesForMutect2' { time = {48.h * task.attempt} - maxForks = 23 + maxForks = 12 } } From 1d4f254e435dac46917e0e96460cbaffdfd95bc2 Mon Sep 17 00:00:00 2001 From: Praveen Raj S <43108054+praveenraj2018@users.noreply.github.com> Date: Wed, 16 Mar 2022 14:37:28 +0100 Subject: [PATCH 08/73] Update munin.config --- conf/munin.config | 1 - 1 file changed, 1 deletion(-) diff --git a/conf/munin.config b/conf/munin.config index 34d36ae..5f794d6 100644 --- a/conf/munin.config +++ b/conf/munin.config @@ -20,7 +20,6 @@ process { maxForks = 46 // Limit cpus for Mutect2 -process { withName:'Mutect2|Mutect2Single|PileupSummariesForMutect2' { time = {48.h * task.attempt} maxForks = 12 From 30f710ada44884596061cbb0069e68a08e26a242 Mon Sep 17 00:00:00 2001 From: "Nathan S. Watson-Haigh" Date: Thu, 17 Mar 2022 13:38:43 +1030 Subject: [PATCH 09/73] Add debug profile --- conf/sahmri.config | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/conf/sahmri.config b/conf/sahmri.config index b3eb8c6..b47db52 100644 --- a/conf/sahmri.config +++ b/conf/sahmri.config @@ -27,3 +27,8 @@ singularity { cacheDir = '/cancer/storage/shared/simg' } cleanup = true +profiles { + debug { + cleanup = false + } +} From c42ab624c2872ef4507f4bafd185ebcd8e98a4ba Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Thu, 17 Mar 2022 18:32:07 -0500 Subject: [PATCH 10/73] style: Replace markdownlint with prettier --- .github/markdownlint.yml | 5 ----- .prettierignore | 7 +++++++ .prettierrc.yaml | 2 ++ 3 files changed, 9 insertions(+), 5 deletions(-) delete mode 100644 .github/markdownlint.yml create mode 100644 .prettierignore create mode 100644 .prettierrc.yaml diff --git a/.github/markdownlint.yml b/.github/markdownlint.yml deleted file mode 100644 index 96b12a7..0000000 --- a/.github/markdownlint.yml +++ /dev/null @@ -1,5 +0,0 @@ -# Markdownlint configuration file -default: true, -line-length: false -no-duplicate-header: - siblings_only: true diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..7f7ac1c --- /dev/null +++ b/.prettierignore @@ -0,0 +1,7 @@ +# gitignore +.nextflow* +work/ +data/ +results/ +.DS_Store +*.code-workspace diff --git a/.prettierrc.yaml b/.prettierrc.yaml new file mode 100644 index 0000000..ef9b1b8 --- /dev/null +++ b/.prettierrc.yaml @@ -0,0 +1,2 @@ +printWidth: 120 +tabWidth: 2 From 58da86d7293a6330e8bfeb8af11228b498c2b3b6 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Thu, 17 Mar 2022 18:32:45 -0500 Subject: [PATCH 11/73] ci: Use prettier --- .github/workflows/linting.yml | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 0fa938a..bead544 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -1,18 +1,22 @@ -name: Markdown linting -# This workflow is triggered on pushes and PRs to the repository. -on: [push, pull_request] +name: Code Linting +on: + push: + branches: [master] + pull_request: + branches: [master] jobs: - Markdown: - runs-on: ubuntu-18.04 + prettier: + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 - - uses: actions/setup-node@v2 - - name: Install markdownlint - run: | - npm install -g markdownlint-cli - - name: Run Markdownlint - run: | - markdownlint ${GITHUB_WORKSPACE} -c ${GITHUB_WORKSPACE}/.github/markdownlint.yml + - name: Check out repository + uses: actions/checkout@v2 - + - name: Install NodeJS + uses: actions/setup-node@v2 + + - name: Install Prettier + run: npm install -g prettier + + - name: Run Prettier --check + run: prettier --check ${GITHUB_WORKSPACE} From 6c37bf3b2070ea60d4facf379bc139f095729958 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Thu, 17 Mar 2022 18:33:31 -0500 Subject: [PATCH 12/73] style: Run prettier --- .github/PULL_REQUEST_TEMPLATE.md | 17 +-- .github/workflows/main.yml | 119 +++++++++++---------- README.md | 176 +++++++++++++++---------------- docs/alice.md | 2 +- docs/bi.md | 2 +- docs/bigpurple.md | 4 +- docs/binac.md | 4 +- docs/biohpc_gen.md | 6 +- docs/cambridge.md | 4 +- docs/cbe.md | 4 +- docs/ccga_dx.md | 3 +- docs/ccga_med.md | 2 +- docs/cfc.md | 4 +- docs/cheaha.md | 10 +- docs/crick.md | 46 ++++---- docs/czbiohub.md | 8 +- docs/denbi_qbic.md | 4 +- docs/eva.md | 4 +- docs/genotoul.md | 14 +-- docs/icr_davros.md | 44 ++++---- docs/ifb_core.md | 2 +- docs/imperial.md | 8 +- docs/jax.md | 4 +- docs/leicester.md | 6 +- docs/lugh.md | 4 +- docs/mpcdf.md | 2 +- docs/munin.md | 2 +- docs/nihbiowulf.md | 4 +- docs/oist.md | 18 ++-- docs/pasteur.md | 18 ++-- docs/pipeline/ampliseq/binac.md | 2 +- docs/pipeline/ampliseq/uppmax.md | 2 +- docs/pipeline/rnafusion/munin.md | 4 +- docs/pipeline/rnavar/munin.md | 44 ++++---- docs/pipeline/sarek/munin.md | 22 ++-- docs/pipeline/sarek/uppmax.md | 4 +- docs/pipeline/scflow/imperial.md | 10 +- docs/prince.md | 4 +- docs/sahmri.md | 4 +- docs/template.md | 4 +- docs/uppmax.md | 26 ++--- docs/utd_ganymede.md | 4 +- docs/utd_sysbio.md | 4 +- docs/uzh.md | 4 +- docs/vai.md | 6 +- 45 files changed, 345 insertions(+), 344 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 13943d9..97cf785 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -5,16 +5,17 @@ about: A new cluster config Please follow these steps before submitting your PR: -* [ ] If your PR is a work in progress, include `[WIP]` in its title -* [ ] Your PR targets the `master` branch -* [ ] You've included links to relevant issues, if any +- [ ] If your PR is a work in progress, include `[WIP]` in its title +- [ ] Your PR targets the `master` branch +- [ ] You've included links to relevant issues, if any Steps for adding a new config profile: -* [ ] Add your custom config file to the `conf/` directory -* [ ] Add your documentation file to the `docs/` directory -* [ ] Add your custom profile to the `nfcore_custom.config` file in the top-level directory -* [ ] Add your custom profile to the `README.md` file in the top-level directory -* [ ] Add your profile name to the `profile:` scope in `.github/workflows/main.yml` + +- [ ] Add your custom config file to the `conf/` directory +- [ ] Add your documentation file to the `docs/` directory +- [ ] Add your custom profile to the `nfcore_custom.config` file in the top-level directory +- [ ] Add your custom profile to the `README.md` file in the top-level directory +- [ ] Add your profile name to the `profile:` scope in `.github/workflows/main.yml` -* [Using an existing config](#using-an-existing-config) - * [Configuration and parameters](#configuration-and-parameters) - * [Offline usage](#offline-usage) -* [Adding a new config](#adding-a-new-config) - * [Checking user hostnames](#checking-user-hostnames) - * [Testing](#testing) - * [Documentation](#documentation) - * [Uploading to `nf-core/configs`](#uploading-to-nf-coreconfigs) -* [Adding a new pipeline-specific config](#adding-a-new-pipeline-specific-config) - * [Pipeline-specific institutional documentation](#pipeline-specific-institutional-documentation) - * [Pipeline-specific documentation](#pipeline-specific-documentation) - * [Enabling pipeline-specific configs within a pipeline](#enabling-pipeline-specific-configs-within-a-pipeline) - * [Create the pipeline-specific `nf-core/configs` files](#create-the-pipeline-specific-nf-coreconfigs-files) -* [Help](#help) +- [Using an existing config](#using-an-existing-config) + - [Configuration and parameters](#configuration-and-parameters) + - [Offline usage](#offline-usage) +- [Adding a new config](#adding-a-new-config) + - [Checking user hostnames](#checking-user-hostnames) + - [Testing](#testing) + - [Documentation](#documentation) + - [Uploading to `nf-core/configs`](#uploading-to-nf-coreconfigs) +- [Adding a new pipeline-specific config](#adding-a-new-pipeline-specific-config) + - [Pipeline-specific institutional documentation](#pipeline-specific-institutional-documentation) + - [Pipeline-specific documentation](#pipeline-specific-documentation) + - [Enabling pipeline-specific configs within a pipeline](#enabling-pipeline-specific-configs-within-a-pipeline) + - [Create the pipeline-specific `nf-core/configs` files](#create-the-pipeline-specific-nf-coreconfigs-files) +- [Help](#help) ## Using an existing config @@ -86,68 +86,68 @@ 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) -* [AZUREBATCH](docs/azurebatch.md) -* [BIGPURPLE](docs/bigpurple.md) -* [BI](docs/bi.md) -* [BINAC](docs/binac.md) -* [BIOHPC_GEN](docs/biohpc_gen.md) -* [CAMBRIDGE](docs/cambridge.md) -* [CBE](docs/cbe.md) -* [CCGA_DX](docs/ccga_dx.md) -* [CCGA_MED](docs/ccga_med.md) -* [CFC](docs/cfc.md) -* [CHEAHA](docs/cheaha.md) -* [Computerome](docs/computerome.md) -* [CRICK](docs/crick.md) -* [CZBIOHUB_AWS](docs/czbiohub.md) -* [DENBI_QBIC](docs/denbi_qbic.md) -* [EBC](docs/ebc.md) -* [EVA](docs/eva.md) -* [FGCZ](docs/fgcz.md) -* [GENOTOUL](docs/genotoul.md) -* [GENOUEST](docs/genouest.md) -* [GIS](docs/gis.md) -* [GOOGLE](docs/google.md) -* [HASTA](docs/hasta.md) -* [HEBBE](docs/hebbe.md) -* [ICR_DAVROS](docs/icr_davros.md) -* [IMPERIAL](docs/imperial.md) -* [JAX](docs/jax.md) -* [LUGH](docs/lugh.md) -* [MAESTRO](docs/maestro.md) -* [MARVIN](docs/marvin.md) -* [MPCDF](docs/mpcdf.md) -* [MUNIN](docs/munin.md) -* [NU_GENOMICS](docs/nu_genomics.md) -* [NIHBIOWULF](docs/nihbiowulf.md) -* [OIST](docs/oist.md) -* [PASTEUR](docs/pasteur.md) -* [PHOENIX](docs/phoenix.md) -* [PRINCE](docs/prince.md) -* [ROSALIND](docs/rosalind.md) -* [SANGER](docs/sanger.md) -* [SEG_GLOBE](docs/seg_globe.md) -* [UCT_HPC](docs/uct_hpc.md) -* [UNIBE_IBU](docs/unibe_ibu.md) -* [UPPMAX](docs/uppmax.md) -* [UTD_GANYMEDE](docs/utd_ganymede.md) -* [UTD_SYSBIO](docs/utd_sysbio.md) -* [UZH](docs/uzh.md) -* [VAI](docs/vai.md) +- [ABIMS](docs/abims.md) +- [ALICE](docs/alice.md) +- [AWSBATCH](docs/awsbatch.md) +- [AWS_TOWER](docs/aws_tower.md) +- [AZUREBATCH](docs/azurebatch.md) +- [BIGPURPLE](docs/bigpurple.md) +- [BI](docs/bi.md) +- [BINAC](docs/binac.md) +- [BIOHPC_GEN](docs/biohpc_gen.md) +- [CAMBRIDGE](docs/cambridge.md) +- [CBE](docs/cbe.md) +- [CCGA_DX](docs/ccga_dx.md) +- [CCGA_MED](docs/ccga_med.md) +- [CFC](docs/cfc.md) +- [CHEAHA](docs/cheaha.md) +- [Computerome](docs/computerome.md) +- [CRICK](docs/crick.md) +- [CZBIOHUB_AWS](docs/czbiohub.md) +- [DENBI_QBIC](docs/denbi_qbic.md) +- [EBC](docs/ebc.md) +- [EVA](docs/eva.md) +- [FGCZ](docs/fgcz.md) +- [GENOTOUL](docs/genotoul.md) +- [GENOUEST](docs/genouest.md) +- [GIS](docs/gis.md) +- [GOOGLE](docs/google.md) +- [HASTA](docs/hasta.md) +- [HEBBE](docs/hebbe.md) +- [ICR_DAVROS](docs/icr_davros.md) +- [IMPERIAL](docs/imperial.md) +- [JAX](docs/jax.md) +- [LUGH](docs/lugh.md) +- [MAESTRO](docs/maestro.md) +- [MARVIN](docs/marvin.md) +- [MPCDF](docs/mpcdf.md) +- [MUNIN](docs/munin.md) +- [NU_GENOMICS](docs/nu_genomics.md) +- [NIHBIOWULF](docs/nihbiowulf.md) +- [OIST](docs/oist.md) +- [PASTEUR](docs/pasteur.md) +- [PHOENIX](docs/phoenix.md) +- [PRINCE](docs/prince.md) +- [ROSALIND](docs/rosalind.md) +- [SANGER](docs/sanger.md) +- [SEG_GLOBE](docs/seg_globe.md) +- [UCT_HPC](docs/uct_hpc.md) +- [UNIBE_IBU](docs/unibe_ibu.md) +- [UPPMAX](docs/uppmax.md) +- [UTD_GANYMEDE](docs/utd_ganymede.md) +- [UTD_SYSBIO](docs/utd_sysbio.md) +- [UZH](docs/uzh.md) +- [VAI](docs/vai.md) ### Uploading to `nf-core/configs` [Fork](https://help.github.com/articles/fork-a-repo/) the [`nf-core/configs`](https://github.com/nf-core/configs/) repository to your own GitHub account. Within the local clone of your fork: -* **add** the custom config file to the [`conf/`](https://github.com/nf-core/configs/tree/master/conf) directory -* **add** the documentation file to the [`docs/`](https://github.com/nf-core/configs/tree/master/docs) directory -* **edit** and add your custom profile to the [`nfcore_custom.config`](https://github.com/nf-core/configs/blob/master/nfcore_custom.config) file in the top-level directory of the clone -* **edit** and add your custom profile to the [`README.md`](https://github.com/nf-core/configs/blob/master/README.md) file in the top-level directory of the clone +- **add** the custom config file to the [`conf/`](https://github.com/nf-core/configs/tree/master/conf) directory +- **add** the documentation file to the [`docs/`](https://github.com/nf-core/configs/tree/master/docs) directory +- **edit** and add your custom profile to the [`nfcore_custom.config`](https://github.com/nf-core/configs/blob/master/nfcore_custom.config) file in the top-level directory of the clone +- **edit** and add your custom profile to the [`README.md`](https://github.com/nf-core/configs/blob/master/README.md) file in the top-level directory of the clone In order to ensure that the config file is tested automatically with GitHub Actions please add your profile name to the `profile:` scope (under strategy matrix) in [`.github/workflows/main.yml`](.github/workflows/main.yml). If you forget to do this the tests will fail with the error: @@ -186,25 +186,25 @@ Note that pipeline-specific configs are not required and should only be added if Currently documentation is available for the following pipelines within specific profiles: -* ampliseq - * [BINAC](docs/pipeline/ampliseq/binac.md) - * [UPPMAX](docs/pipeline/ampliseq/uppmax.md) -* eager - * [EVA](docs/pipeline/eager/eva.md) -* rnafusion - * [MUNIN](docs/pipeline/rnafusion/munin.md) -* sarek - * [MUNIN](docs/pipeline/sarek/munin.md) - * [UPPMAX](docs/pipeline/sarek/uppmax.md) -* rnavar - * [MUNIN](docs/pipeline/rnavar/munin.md) +- ampliseq + - [BINAC](docs/pipeline/ampliseq/binac.md) + - [UPPMAX](docs/pipeline/ampliseq/uppmax.md) +- eager + - [EVA](docs/pipeline/eager/eva.md) +- rnafusion + - [MUNIN](docs/pipeline/rnafusion/munin.md) +- sarek + - [MUNIN](docs/pipeline/sarek/munin.md) + - [UPPMAX](docs/pipeline/sarek/uppmax.md) +- rnavar + - [MUNIN](docs/pipeline/rnavar/munin.md) ### Pipeline-specific documentation Currently documentation is available for the following pipeline: -* viralrecon - * [genomes](docs/pipeline/viralrecon/genomes.md) +- viralrecon + - [genomes](docs/pipeline/viralrecon/genomes.md) ### Enabling pipeline-specific configs within a pipeline @@ -233,7 +233,7 @@ We will be notified automatically when you have created your pull request, and p [Fork](https://help.github.com/articles/fork-a-repo/) the [`nf-core/configs`](https://github.com/nf-core/configs/) repository to your own GitHub account. And add or edit the following files in the local clone of your fork. -* `pipeline/.config` +- `pipeline/.config` If not already created, create the `pipeline/.config` file, and add your custom profile to the profile scope @@ -243,18 +243,18 @@ profiles { } ``` -* `conf/pipeline//.config` +- `conf/pipeline//.config` Add the custom configuration file to the `conf/pipeline//` directory. Make sure to add an extra `params` section with `params.config_profile_description`, `params.config_profile_contact` to the top of `pipeline/.config` and set to reasonable values. Users will get information on who wrote the pipeline-specific configuration profile then when executing the nf-core pipeline and can report back if there are things missing for example. -* `docs/pipeline//.md` +- `docs/pipeline//.md` Add the documentation file to the `docs/pipeline//` directory. You will also need to edit and add your custom profile to the [`README.md`](https://github.com/nf-core/configs/blob/master/README.md) file in the top-level directory of the clone. -* `README.md` +- `README.md` Edit this file, and add the new pipeline-specific institutional profile to the list in the section Pipeline specific documentation diff --git a/docs/alice.md b/docs/alice.md index 49545b2..8e93d9f 100644 --- a/docs/alice.md +++ b/docs/alice.md @@ -13,7 +13,7 @@ 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`. +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. diff --git a/docs/bi.md b/docs/bi.md index 450d0df..a55a9fa 100644 --- a/docs/bi.md +++ b/docs/bi.md @@ -6,4 +6,4 @@ To use, run the pipeline with `-profile bi`. This will download and launch the [ Before running the pipeline you will need to follow the internal documentation to run Nextflow on our systems. Similar to that, you need to set an environment variable `NXF_GLOBAL_CONFIG` to the path of the internal global config which is not publicly available here. ->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. +> 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/docs/bigpurple.md b/docs/bigpurple.md index 3673820..4b8bf4e 100644 --- a/docs/bigpurple.md +++ b/docs/bigpurple.md @@ -21,5 +21,5 @@ git clone this repo, copy the `bigpurple.config` from the conf folder and then y `nextflow run nf-core/ -c bigpurple.config ` ->NB: You will need an account to use the HPC cluster BigPurple in order to run the pipeline. If in doubt contact MCIT. ->NB: You will need to install nextflow in your home directory - instructions are on nextflow.io (or ask the writer of this profile). The reason there is no module for nextflow on the cluster, is that the development cycle of nextflow is rapid and it's easy to update yourself: `nextflow self-update` +> NB: You will need an account to use the HPC cluster BigPurple in order to run the pipeline. If in doubt contact MCIT. +> NB: You will need to install nextflow in your home directory - instructions are on nextflow.io (or ask the writer of this profile). The reason there is no module for nextflow on the cluster, is that the development cycle of nextflow is rapid and it's easy to update yourself: `nextflow self-update` diff --git a/docs/binac.md b/docs/binac.md index ce91b91..750274f 100644 --- a/docs/binac.md +++ b/docs/binac.md @@ -13,5 +13,5 @@ module load devel/java_jdk/1.8.0u112 module load devel/singularity/3.0.1 ``` ->NB: You will need an account to use the HPC cluster BINAC 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. +> NB: You will need an account to use the HPC cluster BINAC 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/docs/biohpc_gen.md b/docs/biohpc_gen.md index 1078835..c007cad 100644 --- a/docs/biohpc_gen.md +++ b/docs/biohpc_gen.md @@ -12,6 +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. +> 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. diff --git a/docs/cambridge.md b/docs/cambridge.md index 4f18088..598ab7a 100644 --- a/docs/cambridge.md +++ b/docs/cambridge.md @@ -3,7 +3,7 @@ All nf-core pipelines have been successfully configured for use on the Cambridge HPC cluster at the [The University of Cambridge](https://www.cam.ac.uk/). To use, run the pipeline with `-profile cambridge`. This will download and launch the [`cambridge.config`](../conf/cambridge.config) which has been pre-configured with a setup suitable for the Cambridge HPC cluster. Using this profile, either a docker image containing all of the required software will be downloaded, -and converted to a Singularity image or a Singularity image downloaded directly before execution of the pipeline. +and converted to a Singularity image or a Singularity image downloaded directly before execution of the pipeline. The latest version of Nextflow is not installed by default on the Cambridge HPC cluster. You will need to install it into a directory you have write access to. Follow these instructions from the Nextflow documentation. @@ -15,4 +15,4 @@ has finished successfully because it can get quite large, and all of the main ou > NB: You will need an account to use the Cambridge HPC cluster in order to run the pipeline. If in doubt contact IT. > NB: Nextflow will need to submit the jobs via SLURM to the Cambridge HPC cluster and as such the commands above will have to be executed on one of the login -nodes. If in doubt contact IT. +> nodes. If in doubt contact IT. diff --git a/docs/cbe.md b/docs/cbe.md index b7628d0..b0b4e7b 100644 --- a/docs/cbe.md +++ b/docs/cbe.md @@ -14,5 +14,5 @@ module load nextflow/21.10.6 A local copy of the [AWS-iGenomes](https://registry.opendata.aws/aws-igenomes/) resource has been made available on CBE so you should be able to run the pipeline against any reference available in the `igenomes.config` specific to the nf-core pipeline. You can do this by simply using the `--genome ` parameter. ->NB: You will need an account to use the HPC cluster on CBE 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. +> NB: You will need an account to use the HPC cluster on CBE 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/docs/ccga_dx.md b/docs/ccga_dx.md index 162661d..2904cab 100644 --- a/docs/ccga_dx.md +++ b/docs/ccga_dx.md @@ -5,4 +5,5 @@ Deployment and testing of nf-core pipelines at the CCGA DX cluster is on-going. To use, run the pipeline with `-profile ccga_dx`. This will download and launch the [`ccga_dx.config`](../conf/ccga_dx.config) which has been pre-configured with a setup suitable for the CCGA 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. Before running the pipeline you will need to have Nextflow installed. ->NB: Access to the CCGA DX cluster is restricted to IKMB/CCGA employes. Please talk to Marc Hoeppner to get access (@marchoeppner). + +> NB: Access to the CCGA DX cluster is restricted to IKMB/CCGA employes. Please talk to Marc Hoeppner to get access (@marchoeppner). diff --git a/docs/ccga_med.md b/docs/ccga_med.md index 9aa4236..f796a05 100644 --- a/docs/ccga_med.md +++ b/docs/ccga_med.md @@ -13,4 +13,4 @@ module load nextflow module load singularity ``` ->NB: Access to the CCGA Med cluster is restricted to IKMB/CCGA employees. Please talk to Marc Hoeppner to get access (@marchoeppner). +> NB: Access to the CCGA Med cluster is restricted to IKMB/CCGA employees. Please talk to Marc Hoeppner to get access (@marchoeppner). diff --git a/docs/cfc.md b/docs/cfc.md index f96a47d..3180ac4 100644 --- a/docs/cfc.md +++ b/docs/cfc.md @@ -13,7 +13,7 @@ module load devel/java_jdk/1.8.0u121 module load devel/singularity/3.4.2 ``` ->NB: You will need an account to use the HPC cluster CFC 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. +> NB: You will need an account to use the HPC cluster CFC 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. The queues are set to be `qbic` or `compute` and will be chosen automatically for you depending on your job submission. diff --git a/docs/cheaha.md b/docs/cheaha.md index 27d42b4..9d871c3 100644 --- a/docs/cheaha.md +++ b/docs/cheaha.md @@ -15,16 +15,16 @@ module load Nextflow 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. ->NB: You will need an account to use the HPC cluster on Cheaha in order to run the pipeline. If in doubt contact UAB IT Research Computing.

->NB: Nextflow will need to submit the jobs via SLURM to the HPC cluster and as such the commands above will have to be executed on one of the login nodes (or alternatively in an interactive partition, but be aware of time limit). If in doubt contact UAB IT Research Computing.

->NB: Instead of using `module load Nextflow`, you may instead create a conda environment (e.g: `conda create -p $USER_DATA/nf-core_nextflow_env nf-core nextflow`) if you would like to have a more personalized environment of Nextflow (versions which may not be modules yet) and nf-core tools. This __requires__ you to instead do the following: +> NB: You will need an account to use the HPC cluster on Cheaha in order to run the pipeline. If in doubt contact UAB IT Research Computing.

+> NB: Nextflow will need to submit the jobs via SLURM to the HPC cluster and as such the commands above will have to be executed on one of the login nodes (or alternatively in an interactive partition, but be aware of time limit). If in doubt contact UAB IT Research Computing.

+> NB: Instead of using `module load Nextflow`, you may instead create a conda environment (e.g: `conda create -p $USER_DATA/nf-core_nextflow_env nf-core nextflow`) if you would like to have a more personalized environment of Nextflow (versions which may not be modules yet) and nf-core tools. This **requires** you to instead do the following: ```bash module purge module load Singularity module load Anaconda3 # change path/enviroment name if according to what you created -conda activate $USER_DATA/nf-core_nextflow_env +conda activate $USER_DATA/nf-core_nextflow_env ``` ->NB: while the jobs for each process of the pipeline are sent to the appropriate nodes, the current session must remain active while the pipeline is running. We recommend to use `screen` prior to loading any modules/environments. Once the pipeline starts you can detach the screen session by typing `Ctrl-a d` so you can safely logout of HPC, while keeping the pipeline active (and you may resume the screen session with `screen -r`). Other similar tools (e.g. `tmux`) may also be used. +> NB: while the jobs for each process of the pipeline are sent to the appropriate nodes, the current session must remain active while the pipeline is running. We recommend to use `screen` prior to loading any modules/environments. Once the pipeline starts you can detach the screen session by typing `Ctrl-a d` so you can safely logout of HPC, while keeping the pipeline active (and you may resume the screen session with `screen -r`). Other similar tools (e.g. `tmux`) may also be used. diff --git a/docs/crick.md b/docs/crick.md index 156e1bc..7f2fe85 100644 --- a/docs/crick.md +++ b/docs/crick.md @@ -1,23 +1,23 @@ -# nf-core/configs: Crick (CAMP HPC) Configuration - -All nf-core pipelines have been successfully configured for use on the CAMP HPC cluster at the [The Francis Crick Institute](https://www.crick.ac.uk/). - -To use, run the pipeline with `-profile crick`. This will download and launch the [`crick.config`](../conf/crick.config) which has been pre-configured with a setup suitable for the CAMP HPC 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. - -Before running the pipeline you will need to load Nextflow and Singularity using the environment module system on CAMP. Please check the main README of the pipeline to make sure that the version of Nextflow is compatible with that required to run the pipeline. You can do this by issuing the commands below: - -```bash -## Load Nextflow and Singularity environment modules -module purge -module load Nextflow/21.04.0 -module load Singularity/3.4.2 -``` - -A local copy of the [AWS-iGenomes](https://github.com/ewels/AWS-iGenomes) resource has been made available on CAMP so you should be able to run the pipeline against any reference available in the `igenomes.config` specific to the nf-core pipeline. You can do this by simply using the `--genome ` parameter. Some of the more exotic genomes may not have been downloaded onto CAMP so have a look in the `igenomes_base` path specified in [`crick.config`](../conf/crick.config), and if your genome of interest is not present please contact [BABS](mailto:bioinformatics@crick.ac.uk). - -Alternatively, if you are running the pipeline regularly for genomes that arent available in the iGenomes resource, we recommend creating a config file with paths to your reference genome indices (see [`reference genomes documentation`](https://nf-co.re/usage/reference_genomes) for instructions). - -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. - ->NB: You will need an account to use the HPC cluster on CAMP in order to run the pipeline. If in doubt contact IT. ->NB: Nextflow will need to submit the jobs via SLURM 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. +# nf-core/configs: Crick (CAMP HPC) Configuration + +All nf-core pipelines have been successfully configured for use on the CAMP HPC cluster at the [The Francis Crick Institute](https://www.crick.ac.uk/). + +To use, run the pipeline with `-profile crick`. This will download and launch the [`crick.config`](../conf/crick.config) which has been pre-configured with a setup suitable for the CAMP HPC 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. + +Before running the pipeline you will need to load Nextflow and Singularity using the environment module system on CAMP. Please check the main README of the pipeline to make sure that the version of Nextflow is compatible with that required to run the pipeline. You can do this by issuing the commands below: + +```bash +## Load Nextflow and Singularity environment modules +module purge +module load Nextflow/21.04.0 +module load Singularity/3.4.2 +``` + +A local copy of the [AWS-iGenomes](https://github.com/ewels/AWS-iGenomes) resource has been made available on CAMP so you should be able to run the pipeline against any reference available in the `igenomes.config` specific to the nf-core pipeline. You can do this by simply using the `--genome ` parameter. Some of the more exotic genomes may not have been downloaded onto CAMP so have a look in the `igenomes_base` path specified in [`crick.config`](../conf/crick.config), and if your genome of interest is not present please contact [BABS](mailto:bioinformatics@crick.ac.uk). + +Alternatively, if you are running the pipeline regularly for genomes that arent available in the iGenomes resource, we recommend creating a config file with paths to your reference genome indices (see [`reference genomes documentation`](https://nf-co.re/usage/reference_genomes) for instructions). + +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. + +> NB: You will need an account to use the HPC cluster on CAMP in order to run the pipeline. If in doubt contact IT. +> NB: Nextflow will need to submit the jobs via SLURM 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/docs/czbiohub.md b/docs/czbiohub.md index 376460b..501db67 100644 --- a/docs/czbiohub.md +++ b/docs/czbiohub.md @@ -22,7 +22,7 @@ Now you can run pipelines with abandon! ### 2. Make a GitHub repo for your workflows (optional :) -To make sharing your pipelines and commands easy between your teammates, it's best to share code in a GitHub repository. One way is to store the commands in a Makefile ([example](https://github.com/czbiohub/kh-workflows/blob/master/nf-kmer-similarity/Makefile)) which can contain multiple `nextflow run` commands so that you don't need to remember the S3 bucket or output directory for every single one. [Makefiles](https://kbroman.org/minimal_make/) are broadly used in the software community for running many complex commands. Makefiles can have a lot of dependencies and be confusing, so we're only going to write *simple* Makefiles. +To make sharing your pipelines and commands easy between your teammates, it's best to share code in a GitHub repository. One way is to store the commands in a Makefile ([example](https://github.com/czbiohub/kh-workflows/blob/master/nf-kmer-similarity/Makefile)) which can contain multiple `nextflow run` commands so that you don't need to remember the S3 bucket or output directory for every single one. [Makefiles](https://kbroman.org/minimal_make/) are broadly used in the software community for running many complex commands. Makefiles can have a lot of dependencies and be confusing, so we're only going to write _simple_ Makefiles. ```bash rnaseq: @@ -120,12 +120,12 @@ You can do this by simply using the `--genome ` parameter. For Human and Mouse, we use [GENCODE](https://www.gencodegenes.org/) gene annotations. This doesn't change how you would specify the genome name, only that the pipelines run with the `czbiohub_aws` profile would be with GENCODE rather than iGenomes. ->NB: You will need an account to use the HPC cluster on PROFILE CLUSTER 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. +> NB: You will need an account to use the HPC cluster on PROFILE CLUSTER 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. ## High Priority Queue -If you would like to run with the *High Priority* queue, specify the `highpriority` config profile after `czbiohub_aws`. When applied after the main `czbiohub_aws` config, it overwrites the process `queue` identifier. +If you would like to run with the _High Priority_ queue, specify the `highpriority` config profile after `czbiohub_aws`. When applied after the main `czbiohub_aws` config, it overwrites the process `queue` identifier. To use it, submit your run with with `-profile czbiohub_aws,highpriority`. diff --git a/docs/denbi_qbic.md b/docs/denbi_qbic.md index 0b759bd..815652d 100644 --- a/docs/denbi_qbic.md +++ b/docs/denbi_qbic.md @@ -4,5 +4,5 @@ All nf-core pipelines have been successfully configured for use on the de.NBI Cl To use, run the pipeline with `-profile denbi_qbic`. This will download and launch the [`denbi_qbic.config`](../conf/denbi_qbic.config) which has been pre-configured with a setup suitable for the automatically created 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 de.NBI Cluster 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 cluster and as such the commands above will have to be executed on one of the login nodes. If in doubt contact IT. +> NB: You will need an account to use de.NBI Cluster 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 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/docs/eva.md b/docs/eva.md index 24a964c..b731647 100644 --- a/docs/eva.md +++ b/docs/eva.md @@ -20,8 +20,8 @@ Note the following characteristics of this profile: - Using this profile will currently store singularity images in a cache under `/mnt/archgen/users/singularity_scratch/cache/`. All archgen users currently have read/write access to this directory, however this will likely change to a read-only directory in the future that will be managed by the IT team. - Intermediate files will be _automatically_ cleaned up (see `debug` below if you don't want this to happen) on successful run completion. ->NB: You will need an account and VPN access to use the cluster at MPI-EVA in order to run the pipeline. If in doubt contact the IT team. ->NB: Nextflow will need to submit the jobs via SGE to the clusters and as such the commands above will have to be executed on one of the head nodes. If in doubt contact IT. +> NB: You will need an account and VPN access to use the cluster at MPI-EVA in order to run the pipeline. If in doubt contact the IT team. +> NB: Nextflow will need to submit the jobs via SGE to the clusters and as such the commands above will have to be executed on one of the head nodes. If in doubt contact IT. ### debug diff --git a/docs/genotoul.md b/docs/genotoul.md index b86cf66..517ee42 100644 --- a/docs/genotoul.md +++ b/docs/genotoul.md @@ -65,11 +65,11 @@ sbatch nfcore-rnaseq.sh By default, available mount points are: -* /bank -* /home -* /save -* /work -* /work2 +- /bank +- /home +- /save +- /work +- /work2 To have access to specific other mount point (such as nosave or project) you can add a config profile file with option `-profile` and which contain: @@ -84,5 +84,5 @@ A local copy of several genomes are available in `/bank` directory. See our [databank page](http://bioinfo.genotoul.fr/index.php/resources-2/databanks/) to search for your favorite genome. ->NB: You will need an account to use the HPC cluster on Genotoul in order -to run the pipeline. If in doubt see [http://bioinfo.genotoul.fr/](http://bioinfo.genotoul.fr/). +> NB: You will need an account to use the HPC cluster on Genotoul in order +> to run the pipeline. If in doubt see [http://bioinfo.genotoul.fr/](http://bioinfo.genotoul.fr/). diff --git a/docs/icr_davros.md b/docs/icr_davros.md index 93bcf06..5fc0886 100644 --- a/docs/icr_davros.md +++ b/docs/icr_davros.md @@ -1,22 +1,22 @@ -# nf-core/configs: Institute of Cancer Research (Davros HPC) Configuration - -Deployment and testing of nf-core pipelines at the Davros cluster is on-going. - -To run an nf-core pipeline on Davros, run the pipeline with `-profile icr_davros`. This will download and launch the [`icr_davros.config`](../conf/icr_davros.config) which has been pre-configured with a setup suitable for the Davros HPC 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. - -Before running the pipeline you will need to load Nextflow using the environment module system. You can do this by issuing the commands below: - -```bash -## Load Nextflow environment modules -module load Nextflow/19.10.0 -``` - -Singularity is installed on the compute nodes of Davros, but not the login nodes. There is no module for Singularity. - -A subset of the [AWS-iGenomes](https://github.com/ewels/AWS-iGenomes) resource has been made available locally on Davros so you should be able to run the pipeline against any reference available in the `igenomes.config` specific to the nf-core pipeline you want to execute. You can do this by simply using the `--genome ` parameter. Some of the more exotic genomes may not have been downloaded onto Davros so have a look in the `igenomes_base` path specified in [`icr_davros.config`](../conf/icr_davros.config), and if your genome of interest isn't present please contact [Scientific Computing](mailto:schelpdesk@icr.ac.uk). - -Alternatively, if you are running the pipeline regularly for genomes that arent available in the iGenomes resource, we recommend creating a config file with paths to your reference genome indices (see [`reference genomes documentation`](https://nf-co.re/usage/reference_genomes) for instructions). - -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. All of the main output files will be saved in the `results/` directory. - ->NB: Nextflow will need to submit the jobs via LSF to the HPC cluster. This can be done from an interactive or normal job. If in doubt contact Scientific Computing. +# nf-core/configs: Institute of Cancer Research (Davros HPC) Configuration + +Deployment and testing of nf-core pipelines at the Davros cluster is on-going. + +To run an nf-core pipeline on Davros, run the pipeline with `-profile icr_davros`. This will download and launch the [`icr_davros.config`](../conf/icr_davros.config) which has been pre-configured with a setup suitable for the Davros HPC 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. + +Before running the pipeline you will need to load Nextflow using the environment module system. You can do this by issuing the commands below: + +```bash +## Load Nextflow environment modules +module load Nextflow/19.10.0 +``` + +Singularity is installed on the compute nodes of Davros, but not the login nodes. There is no module for Singularity. + +A subset of the [AWS-iGenomes](https://github.com/ewels/AWS-iGenomes) resource has been made available locally on Davros so you should be able to run the pipeline against any reference available in the `igenomes.config` specific to the nf-core pipeline you want to execute. You can do this by simply using the `--genome ` parameter. Some of the more exotic genomes may not have been downloaded onto Davros so have a look in the `igenomes_base` path specified in [`icr_davros.config`](../conf/icr_davros.config), and if your genome of interest isn't present please contact [Scientific Computing](mailto:schelpdesk@icr.ac.uk). + +Alternatively, if you are running the pipeline regularly for genomes that arent available in the iGenomes resource, we recommend creating a config file with paths to your reference genome indices (see [`reference genomes documentation`](https://nf-co.re/usage/reference_genomes) for instructions). + +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. All of the main output files will be saved in the `results/` directory. + +> NB: Nextflow will need to submit the jobs via LSF to the HPC cluster. This can be done from an interactive or normal job. If in doubt contact Scientific Computing. diff --git a/docs/ifb_core.md b/docs/ifb_core.md index 90c0eb1..b9eb978 100644 --- a/docs/ifb_core.md +++ b/docs/ifb_core.md @@ -37,4 +37,4 @@ A local copy of several genomes are available in `/shared/bank` directory. See our [databank page](https://ifb-elixirfr.gitlab.io/cluster/doc/banks/) to search for your favorite genome. ->NB: You will need an account to use the HPC cluster on IFB core in order to run the pipeline. If in doubt contact IT or go to [account page](https://my.cluster.france-bioinformatique.fr/manager2/login). +> NB: You will need an account to use the HPC cluster on IFB core in order to run the pipeline. If in doubt contact IT or go to [account page](https://my.cluster.france-bioinformatique.fr/manager2/login). diff --git a/docs/imperial.md b/docs/imperial.md index 158827c..275186c 100644 --- a/docs/imperial.md +++ b/docs/imperial.md @@ -12,7 +12,7 @@ module load anaconda3/personal conda install -c bioconda nextflow ``` ->NB: You will need an account to use the HPC cluster CX1 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. ->NB: To submit jobs to the Imperial College MEDBIO cluster, use `-profile imperial,medbio` instead. ->NB: You will need a restricted access account to use the HPC cluster MEDBIO. +> NB: You will need an account to use the HPC cluster CX1 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. +> NB: To submit jobs to the Imperial College MEDBIO cluster, use `-profile imperial,medbio` instead. +> NB: You will need a restricted access account to use the HPC cluster MEDBIO. diff --git a/docs/jax.md b/docs/jax.md index d38cfbe..45f100e 100644 --- a/docs/jax.md +++ b/docs/jax.md @@ -4,5 +4,5 @@ All nf-core pipelines have been successfully configured for use on the JAX Sumne To use, run the pipeline with `-profile jax`. This will download and launch the [`jax.config`](../conf/jax.config) which has been pre-configured with a setup suitable for JAX Sumner 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 and slurm will be used as well. ->NB: You will need an account to use the HPC cluster JAX in order to run the pipeline. If in doubt contact IT. ->NB: Nextflow should not be executed on the login nodes. If in doubt contact IT. +> NB: You will need an account to use the HPC cluster JAX in order to run the pipeline. If in doubt contact IT. +> NB: Nextflow should not be executed on the login nodes. If in doubt contact IT. diff --git a/docs/leicester.md b/docs/leicester.md index 79445af..6aed54e 100644 --- a/docs/leicester.md +++ b/docs/leicester.md @@ -2,7 +2,7 @@ All nf-core pipelines have been successfully configured for use on the ALICE and SPECTRE cluster at the University of Leicester. -To use, run the pipeline with `-profile leicester`. This will download and launch the [`leicester.config`](../conf/leicester.config ) which has been pre-configured with a setup suitable for the Leicester 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. +To use, run the pipeline with `-profile leicester`. This will download and launch the [`leicester.config`](../conf/leicester.config) which has been pre-configured with a setup suitable for the Leicester 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 ALICE and SPECTRE cluster 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. +> NB: You will need an account to use the ALICE and SPECTRE cluster 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/docs/lugh.md b/docs/lugh.md index 567071f..3d71c70 100644 --- a/docs/lugh.md +++ b/docs/lugh.md @@ -23,12 +23,12 @@ The configuration file will load prerequisite modules for users (`Java` & `Singu ## Queue Resources | Queue | Hostnames | Max Memory | Max CPUS | Max Time | -|---------|----------------|------------|----------|----------| +| ------- | -------------- | ---------- | -------- | -------- | | MSC | compute[01-03] | 32GB | 16 | 336.h | | Normal | compute[10-29] | 64GB | 16 | 240.h | | Highmem | compute[04-09] | 128GB | 32 | 2880.h | -*** +--- The configuration profile design is very simple. If your process exceeds 64GB memory or 16 cpus, it is sent to the `highmem` queue. If not, it is sent to the `normal` queue. Please do not use the `MSC` queue, this is reserved for Masters students. diff --git a/docs/mpcdf.md b/docs/mpcdf.md index 793fad5..a887e22 100644 --- a/docs/mpcdf.md +++ b/docs/mpcdf.md @@ -10,7 +10,7 @@ Currently profiles for the following clusters are supported: `cobra`, `raven` All profiles use `singularity` as the corresponding containerEngine. To prevent repeatedly downloading the same singularity image for every pipeline run, for all profiles we recommend specifying a cache location in your `~/.bash_profile` with the `$NXF_SINGULARITY_CACHEDIR` bash variable. ->NB: Nextflow will need to submit the jobs via SLURM to the clusters and as such the commands above will have to be executed on one of the head nodes. Check the [MPCDF documentation](https://www.mpcdf.mpg.de/services/computing). +> NB: Nextflow will need to submit the jobs via SLURM to the clusters and as such the commands above will have to be executed on one of the head nodes. Check the [MPCDF documentation](https://www.mpcdf.mpg.de/services/computing). ## Global Profiles diff --git a/docs/munin.md b/docs/munin.md index 167ff9b..5983e4d 100644 --- a/docs/munin.md +++ b/docs/munin.md @@ -33,4 +33,4 @@ Example: `nextflow run -profile munin,docker` A local copy of the iGenomes resource has been made available on the MUNIN cluster so you should be able to run the pipeline against any reference available in the `igenomes.config` specific to the nf-core pipeline. You can do this by simply using the `--genome ` parameter. ->NB: You will need an account to use the MUNIN cluster in order to run the pipeline. If in doubt contact @szilva. +> NB: You will need an account to use the MUNIN cluster in order to run the pipeline. If in doubt contact @szilva. diff --git a/docs/nihbiowulf.md b/docs/nihbiowulf.md index c563b00..4552b4f 100644 --- a/docs/nihbiowulf.md +++ b/docs/nihbiowulf.md @@ -21,5 +21,5 @@ A partial local copy of the iGenomes resource is available on Biowulf. This is a You can do this by simply using the `--genome ` parameter. ->NB: You will need an account to use the HPC cluster on Biowulf in order to run the pipeline. If in doubt contact CIT. ->NB: Nextflow will need to submit the jobs via the job scheduler to the HPC cluster. The master process submitting jobs should be run either as a batch job or on an interactive node - not on the biowulf login node. If in doubt contact Biowulf staff. +> NB: You will need an account to use the HPC cluster on Biowulf in order to run the pipeline. If in doubt contact CIT. +> NB: Nextflow will need to submit the jobs via the job scheduler to the HPC cluster. The master process submitting jobs should be run either as a batch job or on an interactive node - not on the biowulf login node. If in doubt contact Biowulf staff. diff --git a/docs/oist.md b/docs/oist.md index 8c4a68c..5ed31d1 100644 --- a/docs/oist.md +++ b/docs/oist.md @@ -3,19 +3,19 @@ The nf-core pipelines [rnaseq](https://nf-co.re/rnaseq) and [eager](https://nf-co.re/eager) have been successfully tested on the _Deigo_ cluster at the Okinawa Institute of Science and Technology Graduate University -([OIST](https://www.oist.jp)). We have no reason to expect that other +([OIST](https://www.oist.jp)). We have no reason to expect that other pipelines would not work. -To use, run the pipeline with `-profile oist`. This will download and launch +To use, run the pipeline with `-profile oist`. This will download and launch the [`oist.config`](../conf/oist.config) which has been pre-configured with a -setup suitable for _Deigo_. Using this profile, a docker image containing all +setup suitable for _Deigo_. 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. ## Below are non-mandatory information e.g. on modules to load etc Before running the pipeline you will need to load Nextflow and Singularity -using the environment module system on _Deigo_. You can do this by issuing the +using the environment module system on _Deigo_. You can do this by issuing the commands below: ```bash @@ -25,9 +25,9 @@ ml bioinfo-ugrp-modules ml Other/Nextflow ``` ->NB: You will need an account to use the _Deigo_ cluster in order to run the ->pipeline. If in doubt contact IT. +> NB: You will need an account to use the _Deigo_ cluster in order to run the +> pipeline. If in doubt contact IT. > ->NB: Nextflow will submit the jobs via the SLURM 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. +> NB: Nextflow will submit the jobs via the SLURM 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/docs/pasteur.md b/docs/pasteur.md index b7d37fa..775a9b3 100644 --- a/docs/pasteur.md +++ b/docs/pasteur.md @@ -18,15 +18,15 @@ 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) diff --git a/docs/pipeline/ampliseq/binac.md b/docs/pipeline/ampliseq/binac.md index fb3403e..9d985b1 100644 --- a/docs/pipeline/ampliseq/binac.md +++ b/docs/pipeline/ampliseq/binac.md @@ -14,4 +14,4 @@ Example: `nextflow run nf-core/ampliseq -profile binac` Specific configurations for BINAC has been made for ampliseq. -* Specifies the `TZ` `ENV` variable to be `Europe/Berlin` to fix a QIIME2 issue +- Specifies the `TZ` `ENV` variable to be `Europe/Berlin` to fix a QIIME2 issue diff --git a/docs/pipeline/ampliseq/uppmax.md b/docs/pipeline/ampliseq/uppmax.md index 7061bdc..4753469 100644 --- a/docs/pipeline/ampliseq/uppmax.md +++ b/docs/pipeline/ampliseq/uppmax.md @@ -14,4 +14,4 @@ Example: `nextflow run nf-core/ampliseq -profile uppmax` Specific configurations for UPPMAX has been made for ampliseq. -* Makes sure that a fat node is allocated for training and applying a Bayesian classifier. +- Makes sure that a fat node is allocated for training and applying a Bayesian classifier. diff --git a/docs/pipeline/rnafusion/munin.md b/docs/pipeline/rnafusion/munin.md index 607db9e..3f6d6d0 100644 --- a/docs/pipeline/rnafusion/munin.md +++ b/docs/pipeline/rnafusion/munin.md @@ -14,5 +14,5 @@ Example: `nextflow run nf-core/rnafusion -profile munin` Specific configurations for `MUNIN` has been made for rnafusion. -* `cpus`, `memory` and `time` max requirements. -* Paths to specific references and indexes +- `cpus`, `memory` and `time` max requirements. +- Paths to specific references and indexes diff --git a/docs/pipeline/rnavar/munin.md b/docs/pipeline/rnavar/munin.md index e4fd11f..214d7fc 100644 --- a/docs/pipeline/rnavar/munin.md +++ b/docs/pipeline/rnavar/munin.md @@ -16,34 +16,34 @@ Specific configurations for `MUNIN` has been made for rnavar. Genome references -* Path to `fasta`: `/data1/references/CTAT_GenomeLib_v37_Mar012021/GRCh38_gencode_v37_CTAT_lib_Mar012021.plug-n-play/ctat_genome_lib_build_dir/ref_genome.fa` -* Path to `fasta_fai`: `/data1/references/CTAT_GenomeLib_v37_Mar012021/GRCh38_gencode_v37_CTAT_lib_Mar012021.plug-n-play/ctat_genome_lib_build_dir/ref_genome.fa.fai` -* Path to `gtf`: `/data1/references/CTAT_GenomeLib_v37_Mar012021/GRCh38_gencode_v37_CTAT_lib_Mar012021.plug-n-play/ctat_genome_lib_build_dir/ref_annot.gtf` -* Path to `gene_bed`: `/data1/references/CTAT_GenomeLib_v37_Mar012021/GRCh38_gencode_v37_CTAT_lib_Mar012021.plug-n-play/ctat_genome_lib_build_dir/ref_annot.bed` +- Path to `fasta`: `/data1/references/CTAT_GenomeLib_v37_Mar012021/GRCh38_gencode_v37_CTAT_lib_Mar012021.plug-n-play/ctat_genome_lib_build_dir/ref_genome.fa` +- Path to `fasta_fai`: `/data1/references/CTAT_GenomeLib_v37_Mar012021/GRCh38_gencode_v37_CTAT_lib_Mar012021.plug-n-play/ctat_genome_lib_build_dir/ref_genome.fa.fai` +- Path to `gtf`: `/data1/references/CTAT_GenomeLib_v37_Mar012021/GRCh38_gencode_v37_CTAT_lib_Mar012021.plug-n-play/ctat_genome_lib_build_dir/ref_annot.gtf` +- Path to `gene_bed`: `/data1/references/CTAT_GenomeLib_v37_Mar012021/GRCh38_gencode_v37_CTAT_lib_Mar012021.plug-n-play/ctat_genome_lib_build_dir/ref_annot.bed` Known genome resources -* Path to `dbsnp`: `/data1/references/annotations/GATK_bundle/dbsnp_146.hg38.vcf.gz` -* Path to `dbsnp_tbi`: `/data1/references/annotations/GATK_bundle/dbsnp_146.hg38.vcf.gz.tbi` -* Path to `known_indels`: `/data1/references/annotations/GATK_bundle/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz` -* Path to `known_indels_tbi`: `/data1/references/annotations/GATK_bundle/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz.tbi` +- Path to `dbsnp`: `/data1/references/annotations/GATK_bundle/dbsnp_146.hg38.vcf.gz` +- Path to `dbsnp_tbi`: `/data1/references/annotations/GATK_bundle/dbsnp_146.hg38.vcf.gz.tbi` +- Path to `known_indels`: `/data1/references/annotations/GATK_bundle/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz` +- Path to `known_indels_tbi`: `/data1/references/annotations/GATK_bundle/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz.tbi` STAR index -* Path to `star_index`: `/data1/references/CTAT_GenomeLib_v37_Mar012021/GRCh38_gencode_v37_CTAT_lib_Mar012021.plug-n-play/ctat_genome_lib_build_dir/STAR.2.7.9a_2x151bp/` -* Params `read_length` set to `151` +- Path to `star_index`: `/data1/references/CTAT_GenomeLib_v37_Mar012021/GRCh38_gencode_v37_CTAT_lib_Mar012021.plug-n-play/ctat_genome_lib_build_dir/STAR.2.7.9a_2x151bp/` +- Params `read_length` set to `151` Variant annotation configurations -* Params `annotation_cache` and `cadd_cache` set to `true` -* Params `snpeff_db` set to `GRCh38.99` -* Params `vep_cache_version` set to `99` -* Params `vep_genome` set to `GRCh38` -* Path to `snpeff_cache`: `/data1/cache/snpEff/` -* Path to `vep_cache`: `/data1/cache/VEP/` -* Path to `pon`: `/data1/PON/vcfs/BTB.PON.vcf.gz` -* Path to `pon_index`: `/data1/PON/vcfs/BTB.PON.vcf.gz.tbi` -* Path to `cadd_indels`: `/data1/cache/CADD/v1.4/InDels.tsv.gz` -* Path to `cadd_indels_tbi`: `/data1/cache/CADD/v1.4/InDels.tsv.gz.tbi` -* Path to `cadd_wg_snvs`: `/data1/cache/CADD/v1.4/whole_genome_SNVs.tsv.gz` -* Path to `cadd_wg_snvs_tbi`: `/data1/cache/CADD/v1.4/whole_genome_SNVs.tsv.gz.tbi` +- Params `annotation_cache` and `cadd_cache` set to `true` +- Params `snpeff_db` set to `GRCh38.99` +- Params `vep_cache_version` set to `99` +- Params `vep_genome` set to `GRCh38` +- Path to `snpeff_cache`: `/data1/cache/snpEff/` +- Path to `vep_cache`: `/data1/cache/VEP/` +- Path to `pon`: `/data1/PON/vcfs/BTB.PON.vcf.gz` +- Path to `pon_index`: `/data1/PON/vcfs/BTB.PON.vcf.gz.tbi` +- Path to `cadd_indels`: `/data1/cache/CADD/v1.4/InDels.tsv.gz` +- Path to `cadd_indels_tbi`: `/data1/cache/CADD/v1.4/InDels.tsv.gz.tbi` +- Path to `cadd_wg_snvs`: `/data1/cache/CADD/v1.4/whole_genome_SNVs.tsv.gz` +- Path to `cadd_wg_snvs_tbi`: `/data1/cache/CADD/v1.4/whole_genome_SNVs.tsv.gz.tbi` diff --git a/docs/pipeline/sarek/munin.md b/docs/pipeline/sarek/munin.md index 5f9511b..4960404 100644 --- a/docs/pipeline/sarek/munin.md +++ b/docs/pipeline/sarek/munin.md @@ -14,14 +14,14 @@ Example: `nextflow run nf-core/sarek -profile munin` Specific configurations for `MUNIN` has been made for sarek. -* Params `annotation_cache` and `cadd_cache` set to `true` -* Params `vep_cache_version` set to `95` -* Path to `snpeff_cache`: `/data1/cache/snpEff/` -* Path to `vep_cache`: `/data1/cache/VEP/` -* Path to `pon`: `/data1/PON/vcfs/BTB.PON.vcf.gz` -* Path to `pon_index`: `/data1/PON/vcfs/BTB.PON.vcf.gz.tbi` -* Path to `cadd_indels`: `/data1/cache/CADD/v1.4/InDels.tsv.gz` -* Path to `cadd_indels_tbi`: `/data1/cache/CADD/v1.4/InDels.tsv.gz.tbi` -* Path to `cadd_wg_snvs`: `/data1/cache/CADD/v1.4/whole_genome_SNVs.tsv.gz` -* Path to `cadd_wg_snvs_tbi`: `/data1/cache/CADD/v1.4/whole_genome_SNVs.tsv.gz.tbi` -* Load module `Sentieon` for Processes with `sentieon` labels +- Params `annotation_cache` and `cadd_cache` set to `true` +- Params `vep_cache_version` set to `95` +- Path to `snpeff_cache`: `/data1/cache/snpEff/` +- Path to `vep_cache`: `/data1/cache/VEP/` +- Path to `pon`: `/data1/PON/vcfs/BTB.PON.vcf.gz` +- Path to `pon_index`: `/data1/PON/vcfs/BTB.PON.vcf.gz.tbi` +- Path to `cadd_indels`: `/data1/cache/CADD/v1.4/InDels.tsv.gz` +- Path to `cadd_indels_tbi`: `/data1/cache/CADD/v1.4/InDels.tsv.gz.tbi` +- Path to `cadd_wg_snvs`: `/data1/cache/CADD/v1.4/whole_genome_SNVs.tsv.gz` +- Path to `cadd_wg_snvs_tbi`: `/data1/cache/CADD/v1.4/whole_genome_SNVs.tsv.gz.tbi` +- Load module `Sentieon` for Processes with `sentieon` labels diff --git a/docs/pipeline/sarek/uppmax.md b/docs/pipeline/sarek/uppmax.md index e612a41..372ceb4 100644 --- a/docs/pipeline/sarek/uppmax.md +++ b/docs/pipeline/sarek/uppmax.md @@ -14,5 +14,5 @@ Example: `nextflow run nf-core/sarek -profile uppmax` Specific configurations for uppmax clusters has been made for sarek. -* Set paths to reference genomes -* Set path to singularity containers for `irma` +- Set paths to reference genomes +- Set path to singularity containers for `irma` diff --git a/docs/pipeline/scflow/imperial.md b/docs/pipeline/scflow/imperial.md index be2cc59..f2a0b37 100644 --- a/docs/pipeline/scflow/imperial.md +++ b/docs/pipeline/scflow/imperial.md @@ -14,8 +14,8 @@ Example: `nextflow run nf-core/scflow -profile imperial` Specific configurations for Imperial have been made for scflow. -* Singularity `enabled` and `autoMounts` set to `true` -* Singularity `cacheDir` path set to an RDS location -* Singularity `runOptions` path set to bind (`-B`) RDS paths with container paths. -* Params `ctd_folder` set to an RDS location. -* Parms `ensembl_mappings` set to an RDS location. +- Singularity `enabled` and `autoMounts` set to `true` +- Singularity `cacheDir` path set to an RDS location +- Singularity `runOptions` path set to bind (`-B`) RDS paths with container paths. +- Params `ctd_folder` set to an RDS location. +- Parms `ensembl_mappings` set to an RDS location. diff --git a/docs/prince.md b/docs/prince.md index d339541..48ea708 100644 --- a/docs/prince.md +++ b/docs/prince.md @@ -16,5 +16,5 @@ git clone this repo, copy the `prince.config` from the conf folder and then you `nextflow run nf-core/ -c prince.config ` ->NB: You will need an account to use the HPC cluster Prince in order to run the pipeline. If in doubt contact the HPC admins. ->NB: Rather than using the nextflow module, I recommend you install nextflow in your home directory - instructions are on nextflow.io (or ask the writer of this profile). The reason this is better than using the module for nextflow on the cluster, is that the development cycle of nextflow is rapid and it's easy to update your installation yourself: `nextflow self-update`. +> NB: You will need an account to use the HPC cluster Prince in order to run the pipeline. If in doubt contact the HPC admins. +> NB: Rather than using the nextflow module, I recommend you install nextflow in your home directory - instructions are on nextflow.io (or ask the writer of this profile). The reason this is better than using the module for nextflow on the cluster, is that the development cycle of nextflow is rapid and it's easy to update your installation yourself: `nextflow self-update`. diff --git a/docs/sahmri.md b/docs/sahmri.md index 4ef285e..bb00a36 100644 --- a/docs/sahmri.md +++ b/docs/sahmri.md @@ -3,7 +3,7 @@ All nf-core pipelines have been successfully configured for use on the HPC cluster at [SAHMRI](https://sahmri.org.au/). To use, run the pipeline with `-profile sahmri`. This will download and launch the [`sahmri.config`](../conf/sahmri.config) which has been pre-configured with a setup suitable for the SAHMRI HPC cluster. Using this profile, either a docker image containing all of the required software will be downloaded, -and converted to a Singularity image or a Singularity image downloaded directly before execution of the pipeline. +and converted to a Singularity image or a Singularity image downloaded directly before execution of the pipeline. The latest version of Nextflow is not installed by default on the SAHMRI HPC cluster. You will need to install it into a directory you have write access to. Follow these instructions from the Nextflow documentation. @@ -15,4 +15,4 @@ has finished successfully because it can get quite large, and all of the main ou > NB: You will need an account to use the SAHMRI HPC cluster in order to run the pipeline. If in doubt contact the ICT Service Desk. > NB: Nextflow will need to submit the jobs via SLURM to the SAHMRI HPC cluster and as such the commands above will have to be executed on the login -node. If in doubt contact ICT. +> node. If in doubt contact ICT. diff --git a/docs/template.md b/docs/template.md index 2e915f7..16a3d62 100644 --- a/docs/template.md +++ b/docs/template.md @@ -20,5 +20,5 @@ module load Singularity/2.6.0 A local copy of the iGenomes resource has been made available on PROFILE CLUSTER so you should be able to run the pipeline against any reference available in the `igenomes.config` specific to the nf-core pipeline. You can do this by simply using the `--genome ` parameter. ->NB: You will need an account to use the HPC cluster on PROFILE CLUSTER 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. +> NB: You will need an account to use the HPC cluster on PROFILE CLUSTER 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/docs/uppmax.md b/docs/uppmax.md index 3024cb0..2806508 100644 --- a/docs/uppmax.md +++ b/docs/uppmax.md @@ -58,15 +58,15 @@ All jobs will be submitted to fat nodes using this method, so it's only for use The UPPMAX nf-core configuration profile uses the `hostname` of the active environment to automatically apply the following resource limits: -* `rackham` - * cpus available: 20 cpus - * memory available: 125 GB -* `bianca` - * cpus available: 16 cpus - * memory available: 109 GB -* `irma` - * cpus available: 16 cpus - * memory available: 250 GB +- `rackham` + - cpus available: 20 cpus + - memory available: 125 GB +- `bianca` + - cpus available: 16 cpus + - memory available: 109 GB +- `irma` + - cpus available: 16 cpus + - memory available: 250 GB ## Development config @@ -83,10 +83,10 @@ To use it, submit with `-profile uppmax,devel`. > :warning: For more information, please follow the following guides: > -> * [UPPMAX `bianca` user guide](http://uppmax.uu.se/support/user-guides/bianca-user-guide/). -> * [nf-core guide for running offline](https://nf-co.re/usage/offline) -> * [nf-core `tools` guide for downloading pipelines for offline use](https://nf-co.re/tools#downloading-pipelines-for-offline-use). -> * [UPPMAX `Singularity` guide](https://www.uppmax.uu.se/support-sv/user-guides/singularity-user-guide/). +> - [UPPMAX `bianca` user guide](http://uppmax.uu.se/support/user-guides/bianca-user-guide/). +> - [nf-core guide for running offline](https://nf-co.re/usage/offline) +> - [nf-core `tools` guide for downloading pipelines for offline use](https://nf-co.re/tools#downloading-pipelines-for-offline-use). +> - [UPPMAX `Singularity` guide](https://www.uppmax.uu.se/support-sv/user-guides/singularity-user-guide/). For security reasons, there is no internet access on `bianca` so you can't download from or upload files to the cluster directly. Before running a nf-core pipeline on `bianca` you will first have to download the pipeline and singularity images needed elsewhere and transfer them via the `wharf` area to your own `bianca` project. diff --git a/docs/utd_ganymede.md b/docs/utd_ganymede.md index 81dd46a..6c5e3ea 100644 --- a/docs/utd_ganymede.md +++ b/docs/utd_ganymede.md @@ -14,5 +14,5 @@ module load singularity 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. ->NB: You will need an account to use the HPC cluster on Ganymede in order to run the pipeline. If in doubt contact Ganymedeadmins. ->NB: Nextflow will need to submit the jobs via SLURM 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 GanymedeAdmins. +> NB: You will need an account to use the HPC cluster on Ganymede in order to run the pipeline. If in doubt contact Ganymedeadmins. +> NB: Nextflow will need to submit the jobs via SLURM 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 GanymedeAdmins. diff --git a/docs/utd_sysbio.md b/docs/utd_sysbio.md index 3ae617a..28a410f 100644 --- a/docs/utd_sysbio.md +++ b/docs/utd_sysbio.md @@ -12,5 +12,5 @@ module purge module load singularity ``` ->NB: You will need an account to use the HPC cluster on Sysbio in order to run the pipeline. If in doubt contact OIT. ->NB: Nextflow will need to submit the jobs via SLURM 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 OIT. +> NB: You will need an account to use the HPC cluster on Sysbio in order to run the pipeline. If in doubt contact OIT. +> NB: Nextflow will need to submit the jobs via SLURM 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 OIT. diff --git a/docs/uzh.md b/docs/uzh.md index 0195eef..d92e1c6 100644 --- a/docs/uzh.md +++ b/docs/uzh.md @@ -4,5 +4,5 @@ All nf-core pipelines have been successfully configured for use on the UZH clust To use, run the pipeline with `-profile uzh`. This will download and launch the [`uzh.config`](../conf/uzh.config) which has been pre-configured with a setup suitable for the UZH 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 UZH 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. +> NB: You will need an account to use the HPC cluster UZH 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/docs/vai.md b/docs/vai.md index b174bbf..2bafb8b 100644 --- a/docs/vai.md +++ b/docs/vai.md @@ -9,6 +9,6 @@ module load singularity NXF_OPTS="-Xmx500m" MALLOC_ARENA_MAX=4 nextflow run ``` ->NB: You will need an account to use the HPC 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 the login node. If in doubt contact IT. ->NB: The submit node limits the amount of memory available to each user. The `NXF_OPTS` and `MALLOC_ARENA_MAX` parameters above prevent Nextflow from allocating more memory than the scheduler will allow. +> NB: You will need an account to use the HPC 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 the login node. If in doubt contact IT. +> NB: The submit node limits the amount of memory available to each user. The `NXF_OPTS` and `MALLOC_ARENA_MAX` parameters above prevent Nextflow from allocating more memory than the scheduler will allow. From c909b36a5ed299b63794b0641f27b01b69ce5b47 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Fri, 18 Mar 2022 05:21:34 -0500 Subject: [PATCH 13/73] style: Allow editorconfig to manage tab widths --- .editorconfig | 12 ++++++++++++ .prettierrc.yaml | 1 - 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..835c83d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +indent_size = 4 +indent_style = space + +[*.{md,yml,yaml}] +indent_size = 2 diff --git a/.prettierrc.yaml b/.prettierrc.yaml index ef9b1b8..c81f9a7 100644 --- a/.prettierrc.yaml +++ b/.prettierrc.yaml @@ -1,2 +1 @@ printWidth: 120 -tabWidth: 2 From ac6c08fbf47499bdbe8948d72a4b437fb258c34e Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Fri, 18 Mar 2022 05:22:34 -0500 Subject: [PATCH 14/73] style: yaml => yml --- .prettierrc.yaml => .prettierrc.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .prettierrc.yaml => .prettierrc.yml (100%) diff --git a/.prettierrc.yaml b/.prettierrc.yml similarity index 100% rename from .prettierrc.yaml rename to .prettierrc.yml From 590045be316e369ba1a54797fc0361725e0da5d7 Mon Sep 17 00:00:00 2001 From: Edmund Miller Date: Mon, 21 Mar 2022 19:18:55 -0500 Subject: [PATCH 15/73] ci: Run linting only once --- .github/workflows/linting.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index bead544..6bf3334 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -1,9 +1,9 @@ name: Code Linting on: - push: - branches: [master] pull_request: - branches: [master] + push: + branches: + - master jobs: prettier: From 5466d927f1eb523233cc0d4e90025f64795651e0 Mon Sep 17 00:00:00 2001 From: b97pla Date: Wed, 23 Mar 2022 15:29:40 +0100 Subject: [PATCH 16/73] added requirements for uppmax cluster miarka --- conf/pipeline/sarek/uppmax.config | 12 ++++++++++++ conf/uppmax.config | 23 +++++++++++++++++++++++ docs/pipeline/sarek/uppmax.md | 2 +- docs/uppmax.md | 6 +++--- 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/conf/pipeline/sarek/uppmax.config b/conf/pipeline/sarek/uppmax.config index 46d95a5..21802a0 100644 --- a/conf/pipeline/sarek/uppmax.config +++ b/conf/pipeline/sarek/uppmax.config @@ -26,3 +26,15 @@ if (hostname ==~ "r.*") { if (hostname ==~ "i.*") { params.single_cpu_mem = 15.GB } + +// Miarka-specific config +if (hostname ==~ "m.*") { + params.single_cpu_mem = 7.GB + + process { + withName:MapReads { + cpus = {params.max_cpus} + memory = {params.max_memory} + } + } +} diff --git a/conf/uppmax.config b/conf/uppmax.config index 9f73c7d..b6d4959 100644 --- a/conf/uppmax.config +++ b/conf/uppmax.config @@ -36,6 +36,20 @@ def clusterOptionsCreator = { m -> return base } + // cluster is miarka + if (hostname.startsWith("m")) { + // job will fit on a regular node + if (m <= 357.GB) { + return base + } + // job requires at least a 2TB node + if (m <= 2000.GB) { + return base + " --mem 2TB " + } + // job requires the largest node + return base + " --mem 4TB " + } + if (m <= 250.GB) { return base + " -p node -C mem256GB " } @@ -77,6 +91,15 @@ if (hostname.startsWith("i")) { params.config_profile_description = 'UPPMAX (Irma) cluster profile provided by nf-core/configs.' } +// Cluster: Miarka +if (hostname.startsWith("m")) { + params.max_memory = 357.GB + // but what about the 96-core node? + params.max_cpus = 48 + params.max_time = 480.h + params.config_profile_description = 'UPPMAX (Miarka) cluster profile provided by nf-core/configs.' +} + // Cluster: Rackham if (hostname.startsWith("r")) { params.max_cpus = 20 diff --git a/docs/pipeline/sarek/uppmax.md b/docs/pipeline/sarek/uppmax.md index 372ceb4..36504b8 100644 --- a/docs/pipeline/sarek/uppmax.md +++ b/docs/pipeline/sarek/uppmax.md @@ -15,4 +15,4 @@ Example: `nextflow run nf-core/sarek -profile uppmax` Specific configurations for uppmax clusters has been made for sarek. - Set paths to reference genomes -- Set path to singularity containers for `irma` +- Override resource requirements for MapReads on `miarka` diff --git a/docs/uppmax.md b/docs/uppmax.md index 2806508..891762a 100644 --- a/docs/uppmax.md +++ b/docs/uppmax.md @@ -64,9 +64,9 @@ The UPPMAX nf-core configuration profile uses the `hostname` of the active envir - `bianca` - cpus available: 16 cpus - memory available: 109 GB -- `irma` - - cpus available: 16 cpus - - memory available: 250 GB +- `miarka` + - cpus available: 48 cpus + - memory available: 357 GB ## Development config From 9a6cdfc21e0cc594425c401f06382f81dbf2563c Mon Sep 17 00:00:00 2001 From: b97pla Date: Thu, 24 Mar 2022 14:25:43 +0100 Subject: [PATCH 17/73] removed process-specific requirements for sarek, request miarka high-mem node --- conf/pipeline/sarek/uppmax.config | 7 ------- conf/uppmax.config | 3 +-- docs/pipeline/sarek/uppmax.md | 1 - 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/conf/pipeline/sarek/uppmax.config b/conf/pipeline/sarek/uppmax.config index 21802a0..b52c4ff 100644 --- a/conf/pipeline/sarek/uppmax.config +++ b/conf/pipeline/sarek/uppmax.config @@ -30,11 +30,4 @@ if (hostname ==~ "i.*") { // Miarka-specific config if (hostname ==~ "m.*") { params.single_cpu_mem = 7.GB - - process { - withName:MapReads { - cpus = {params.max_cpus} - memory = {params.max_memory} - } - } } diff --git a/conf/uppmax.config b/conf/uppmax.config index b6d4959..3b2a699 100644 --- a/conf/uppmax.config +++ b/conf/uppmax.config @@ -47,7 +47,7 @@ def clusterOptionsCreator = { m -> return base + " --mem 2TB " } // job requires the largest node - return base + " --mem 4TB " + return base + " -C mem4TB " } if (m <= 250.GB) { @@ -94,7 +94,6 @@ if (hostname.startsWith("i")) { // Cluster: Miarka if (hostname.startsWith("m")) { params.max_memory = 357.GB - // but what about the 96-core node? params.max_cpus = 48 params.max_time = 480.h params.config_profile_description = 'UPPMAX (Miarka) cluster profile provided by nf-core/configs.' diff --git a/docs/pipeline/sarek/uppmax.md b/docs/pipeline/sarek/uppmax.md index 36504b8..a4d89c2 100644 --- a/docs/pipeline/sarek/uppmax.md +++ b/docs/pipeline/sarek/uppmax.md @@ -15,4 +15,3 @@ Example: `nextflow run nf-core/sarek -profile uppmax` Specific configurations for uppmax clusters has been made for sarek. - Set paths to reference genomes -- Override resource requirements for MapReads on `miarka` From b9da0b4f009f2a49124c02e5c3fe6a8dc4c26178 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aida=20Andrades=20Valtue=C3=B1a?= Date: Fri, 25 Mar 2022 09:36:29 +0100 Subject: [PATCH 18/73] Update eva.config Update eva.config to send big memory jobs (>700G) to the bigmem queue --- conf/eva.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/eva.config b/conf/eva.config index 7f89ac2..866cdd5 100644 --- a/conf/eva.config +++ b/conf/eva.config @@ -36,7 +36,7 @@ profiles { } process { - queue = 'archgen.q' + queue = { task.memory > 700.GB ? 'bigmem.q' : 'archgen.q' } clusterOptions = { "-S /bin/bash -V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } } From 3a7f7f431e04fc4bc7264ecc6c77b8b217b709fe Mon Sep 17 00:00:00 2001 From: Mahesh Binzer-Panchal Date: Fri, 25 Mar 2022 13:58:37 +0000 Subject: [PATCH 19/73] Execute sinfo with bash shell --- conf/uppmax.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/uppmax.config b/conf/uppmax.config index 3b2a699..e743072 100644 --- a/conf/uppmax.config +++ b/conf/uppmax.config @@ -23,7 +23,7 @@ singularity { def hostname = "r1" try { - hostname = "sinfo --local -N -h | grep -m 1 -F -v CLUSTER: | cut -f1 -d' ' ".execute().text.trim() + hostname = ['/bin/bash', '-c', 'sinfo --local -N -h | grep -m 1 -F -v CLUSTER: | cut -f1 -d" "'].execute().text.trim() } catch (java.io.IOException e) { System.err.println("WARNING: Could not run sinfo to determine current cluster, defaulting to rackham") } From b0c9ac9be8fb41bc922060ead3cba3f6f34836aa Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Mon, 28 Mar 2022 09:02:26 +0200 Subject: [PATCH 20/73] Update eva.md --- docs/eva.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/eva.md b/docs/eva.md index b731647..d71be10 100644 --- a/docs/eva.md +++ b/docs/eva.md @@ -4,7 +4,11 @@ All nf-core pipelines have been successfully configured for use on the Departmen To use, run the pipeline with `-profile eva`. You can further with optimise submissions by specifying which cluster queue you are using e,g, `-profile eva,archgen`. This will download and launch the [`eva.config`](../conf/eva.config) which has been pre-configured with a setup suitable for the `all.q` queue. The number of parallel jobs that run is currently limited to 8. -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. The image will currently be centrally stored here: +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. + +Institute-specific pipeline profiles exists for: + +- eager ## Additional Profiles @@ -16,9 +20,10 @@ If you specify `-profile eva,archgen` you will be able to use the nodes availabl Note the following characteristics of this profile: -- By default, job resources are assigned a maximum number of CPUs of 32, 256 GB maximum memory and 720.h maximum wall time. +- By default, job resources are assigned a maximum number of CPUs of 32, 256 GB maximum memory and 365 day maximum wall time. - Using this profile will currently store singularity images in a cache under `/mnt/archgen/users/singularity_scratch/cache/`. All archgen users currently have read/write access to this directory, however this will likely change to a read-only directory in the future that will be managed by the IT team. - Intermediate files will be _automatically_ cleaned up (see `debug` below if you don't want this to happen) on successful run completion. +- Jobs submitted with >700.GB will automatically be submitted to the dynamic `bigmem.q`. > NB: You will need an account and VPN access to use the cluster at MPI-EVA in order to run the pipeline. If in doubt contact the IT team. > NB: Nextflow will need to submit the jobs via SGE to the clusters and as such the commands above will have to be executed on one of the head nodes. If in doubt contact IT. From 576351219abc2875ba71895f021ac911d9e0e929 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Tue, 29 Mar 2022 12:47:46 +0200 Subject: [PATCH 21/73] Update eva.config --- conf/eva.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/eva.config b/conf/eva.config index 7f89ac2..2787b6e 100644 --- a/conf/eva.config +++ b/conf/eva.config @@ -17,7 +17,7 @@ process { executor = 'sge' penv = 'smp' queue = 'all.q' - clusterOptions = { "-S /bin/bash -V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } + clusterOptions = { "-V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } } executor { @@ -37,7 +37,7 @@ profiles { process { queue = 'archgen.q' - clusterOptions = { "-S /bin/bash -V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } + clusterOptions = { "-V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } } singularity { From 3d2a612b39f2ff7a42aae29d8ba80da4afa12a19 Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Tue, 29 Mar 2022 12:48:37 +0200 Subject: [PATCH 22/73] Remove setting of bash in clusterOotions --- conf/pipeline/eager/eva.config | 138 ++++++++++++++++----------------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index 0e48e69..9b2d12c 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -14,7 +14,7 @@ process { maxRetries = 2 // Solution for clusterOptions comes from here: https://github.com/nextflow-io/nextflow/issues/332 + personal toMega conversion - clusterOptions = { "-S /bin/bash -V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } + clusterOptions = { "-V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } withLabel:'sc_tiny'{ cpus = { check_max( 1, 'cpus' ) } @@ -61,110 +61,110 @@ process { // Fixes for SGE and Java incompatibility due to Java using more memory than you tell it to use withName: makeSeqDict { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: fastqc { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: adapter_removal { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: samtools_flagstat { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } } withName: samtools_flagstat_after_filter { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } } withName: dedup { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: markduplicates { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } memory = { check_max( 20.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: library_merge { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } } withName: seqtype_merge { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } } withName: additional_library_merge { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } memory = { check_max( 4.GB * task.attempt, 'memory' ) } } withName: metagenomic_complexity_filter { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } } withName: malt { - clusterOptions = { "-S /bin/bash -V -l h_vmem=1000G" } + clusterOptions = { "-V -l h_vmem=1000G" } cpus = { check_max( 32, 'cpus' ) } memory = { check_max( 955.GB * task.attempt, 'memory' ) } } withName: maltextract { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: multivcfanalyzer { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: mtnucratio { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: vcf2genome { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: qualimap { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : task.exitStatus in [255] ? 'ignore' : 'finish' } } withName: damageprofiler { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } memory = { check_max( 8.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: circularmapper { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: circulargenerator { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: preseq { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'ignore' } } withName: genotyping_ug { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } @@ -191,7 +191,7 @@ profiles { maxRetries = 2 // Solution for clusterOptions comes from here: https://github.com/nextflow-io/nextflow/issues/332 + personal toMega conversion - clusterOptions = { "-S /bin/bash -V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } + clusterOptions = { "-V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } withLabel:'sc_tiny'{ cpus = { check_max( 1, 'cpus' ) } @@ -231,58 +231,58 @@ profiles { // Fixes for SGE and Java incompatibility due to (and also some samtools?!) using more memory than you tell it to use withName: makeSeqDict { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: fastqc { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: adapter_removal { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: samtools_flagstat { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } } withName: samtools_flagstat_after_filter { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } } withName: dedup { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: markduplicates { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } memory = { check_max( 32.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: library_merge { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } } withName: seqtype_merge { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } } withName: additional_library_merge { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } memory = { check_max( 4.GB * task.attempt, 'memory' ) } } withName: metagenomic_complexity_filter { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } } withName: malt { - clusterOptions = { "-S /bin/bash -V -l h_vmem=1000G" } + clusterOptions = { "-V -l h_vmem=1000G" } cpus = { check_max( 32, 'cpus' ) } memory = { check_max( 955.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } @@ -293,53 +293,53 @@ profiles { } withName: maltextract { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: multivcfanalyzer { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: mtnucratio { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: vcf2genome { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: qualimap { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : task.exitStatus in [255] ? 'ignore' : 'finish' } } withName: damageprofiler { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } memory = { check_max( 16.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: circularmapper { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: circulargenerator { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: genotyping_ug { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: preseq { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'ignore' } } @@ -365,7 +365,7 @@ profiles { maxRetries = 2 // Solution for clusterOptions comes from here: https://github.com/nextflow-io/nextflow/issues/332 + personal toMega conversion - clusterOptions = { "-S /bin/bash -V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } + clusterOptions = { "-V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } withLabel:'sc_tiny'{ cpus = { check_max( 1, 'cpus' ) } @@ -405,50 +405,50 @@ profiles { // Fixes for SGE and Java incompatibility due to Java using more memory than you tell it to use withName: makeSeqDict { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: fastqc { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: adapter_removal { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: samtools_flagstat { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } } withName: samtools_flagstat_after_filter { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } } withName: dedup { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: markduplicates { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } memory = { check_max( 48.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: library_merge { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } memory = { check_max( 6.GB * task.attempt, 'memory' ) } } withName: seqtype_merge { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } } withName: additional_library_merge { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } memory = { check_max( 6.GB * task.attempt, 'memory' ) } } @@ -457,64 +457,64 @@ profiles { } withName: metagenomic_complexity_filter { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } } withName: malt { - clusterOptions = { "-S /bin/bash -V -l h_vmem=1000G" } + clusterOptions = { "-V -l h_vmem=1000G" } cpus = { check_max( 32, 'cpus' ) } memory = { check_max( 955.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: maltextract { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: multivcfanalyzer { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: mtnucratio { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: vcf2genome { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: qualimap { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : task.exitStatus in [255] ? 'ignore' : 'finish' } } withName: damageprofiler { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } memory = { check_max( 32.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: circularmapper { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: circulargenerator { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: genotyping_ug { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: preseq { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'ignore' } } From 2277b541a3c40cd7713e28b002b69a05d6d9ae9d Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Thu, 31 Mar 2022 11:06:53 +0200 Subject: [PATCH 23/73] Re-add bash bin specification --- conf/eva.config | 4 +- conf/pipeline/eager/eva.config | 226 +++++++++++++++------------------ 2 files changed, 107 insertions(+), 123 deletions(-) diff --git a/conf/eva.config b/conf/eva.config index 428750e..866cdd5 100644 --- a/conf/eva.config +++ b/conf/eva.config @@ -17,7 +17,7 @@ process { executor = 'sge' penv = 'smp' queue = 'all.q' - clusterOptions = { "-V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } + clusterOptions = { "-S /bin/bash -V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } } executor { @@ -37,7 +37,7 @@ profiles { process { queue = { task.memory > 700.GB ? 'bigmem.q' : 'archgen.q' } - clusterOptions = { "-V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } + clusterOptions = { "-S /bin/bash -V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } } singularity { diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index c2b3967..1eefd18 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -14,7 +14,7 @@ process { maxRetries = 2 // Solution for clusterOptions comes from here: https://github.com/nextflow-io/nextflow/issues/332 + personal toMega conversion - clusterOptions = { "-V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } + clusterOptions = { "-S /bin/bash -V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } withLabel:'sc_tiny'{ cpus = { check_max( 1, 'cpus' ) } @@ -57,145 +57,129 @@ process { memory = { check_max( 256.GB * task.attempt, 'memory' ) } time = '365.d' } - + // Fixes for SGE and Java incompatibility due to Java using more memory than you tell it to use withName: makeSeqDict { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } - + withName: fastqc { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: adapter_removal { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } - - withName: bwa { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga())}G,h=!(bionode01|bionode02|bionode03|bionode04|bionode05|bionode06)" } - } - - withName: bwamem { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga())}G,h=!(bionode01|bionode02|bionode03|bionode04|bionode05|bionode06)" } - } - - withName: circularmapper { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga())}G,h=!(bionode01|bionode02|bionode03|bionode04|bionode05|bionode06)" } - } - - withName: bowtie2 { - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga())}G,h=!(bionode01|bionode02|bionode03|bionode04|bionode05|bionode06)" } - } withName: samtools_flagstat { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } } - + withName: samtools_flagstat_after_filter { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } } withName: dedup { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: markduplicates { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } memory = { check_max( 20.GB * task.attempt, 'memory' ) } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } - + withName: library_merge { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } } withName: seqtype_merge { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } } - + withName: additional_library_merge { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } memory = { check_max( 4.GB * task.attempt, 'memory' ) } } - + withName: metagenomic_complexity_filter { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } } withName: malt { - clusterOptions = { "-V -l h_vmem=1000G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=1000G" } cpus = { check_max( 32, 'cpus' ) } memory = { check_max( 955.GB * task.attempt, 'memory' ) } } withName: maltextract { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: multivcfanalyzer { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: mtnucratio { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: vcf2genome { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: qualimap { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : task.exitStatus in [255] ? 'ignore' : 'finish' } } withName: damageprofiler { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } memory = { check_max( 8.GB * task.attempt, 'memory' ) } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: circularmapper { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: circulargenerator { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: preseq { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'ignore' } } - + withName: genotyping_ug { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 2)}G" } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } } profiles { - + medium_data { - + params { // Specific nf-core/configs params config_profile_contact = 'James Fellows Yates (@jfy133)' config_profile_description = 'nf-core/eager medium-data EVA profile provided by nf-core/configs' } - + executor { queueSize = 8 } @@ -207,7 +191,7 @@ profiles { maxRetries = 2 // Solution for clusterOptions comes from here: https://github.com/nextflow-io/nextflow/issues/332 + personal toMega conversion - clusterOptions = { "-V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } + clusterOptions = { "-S /bin/bash -V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } withLabel:'sc_tiny'{ cpus = { check_max( 1, 'cpus' ) } @@ -247,58 +231,58 @@ profiles { // Fixes for SGE and Java incompatibility due to (and also some samtools?!) using more memory than you tell it to use withName: makeSeqDict { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } - + withName: fastqc { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: adapter_removal { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: samtools_flagstat { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } } - + withName: samtools_flagstat_after_filter { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } } withName: dedup { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: markduplicates { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } memory = { check_max( 32.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } - + withName: library_merge { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } } withName: seqtype_merge { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } } withName: additional_library_merge { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } memory = { check_max( 4.GB * task.attempt, 'memory' ) } } withName: metagenomic_complexity_filter { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } } withName: malt { - clusterOptions = { "-V -l h_vmem=1000G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=1000G" } cpus = { check_max( 32, 'cpus' ) } memory = { check_max( 955.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } @@ -309,53 +293,53 @@ profiles { } withName: maltextract { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: multivcfanalyzer { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: mtnucratio { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: vcf2genome { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: qualimap { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : task.exitStatus in [255] ? 'ignore' : 'finish' } } withName: damageprofiler { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } memory = { check_max( 16.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: circularmapper { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: circulargenerator { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } - + withName: genotyping_ug { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: preseq { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'ignore' } } @@ -363,13 +347,13 @@ profiles { } big_data { - + params { // Specific nf-core/configs params config_profile_contact = 'James Fellows Yates (@jfy133)' config_profile_description = 'nf-core/eager big-data EVA profile provided by nf-core/configs' } - + executor { queueSize = 6 } @@ -381,7 +365,7 @@ profiles { maxRetries = 2 // Solution for clusterOptions comes from here: https://github.com/nextflow-io/nextflow/issues/332 + personal toMega conversion - clusterOptions = { "-V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } + clusterOptions = { "-S /bin/bash -V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } withLabel:'sc_tiny'{ cpus = { check_max( 1, 'cpus' ) } @@ -421,50 +405,50 @@ profiles { // Fixes for SGE and Java incompatibility due to Java using more memory than you tell it to use withName: makeSeqDict { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } - + withName: fastqc { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: adapter_removal { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: samtools_flagstat { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } } - + withName: samtools_flagstat_after_filter { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } } withName: dedup { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: markduplicates { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } memory = { check_max( 48.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } - + withName: library_merge { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } memory = { check_max( 6.GB * task.attempt, 'memory' ) } } withName: seqtype_merge { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } } withName: additional_library_merge { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } memory = { check_max( 6.GB * task.attempt, 'memory' ) } } @@ -473,70 +457,70 @@ profiles { } withName: metagenomic_complexity_filter { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } } withName: malt { - clusterOptions = { "-V -l h_vmem=1000G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=1000G" } cpus = { check_max( 32, 'cpus' ) } memory = { check_max( 955.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: maltextract { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: multivcfanalyzer { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: mtnucratio { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: vcf2genome { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: qualimap { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : task.exitStatus in [255] ? 'ignore' : 'finish' } } withName: damageprofiler { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } - memory = { check_max( 32.GB * task.attempt, 'memory' ) } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + memory = { check_max( 32.GB * task.attempt, 'memory' ) } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: circularmapper { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } withName: circulargenerator { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } - + withName: genotyping_ug { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } - + withName: preseq { - clusterOptions = { "-V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'ignore' } } } } - + pathogen_loose { params { config_profile_description = 'Pathogen (loose) MPI-EVA profile, provided by nf-core/configs.' From 44238471cf615c0759134e1a80890100abc1d6f6 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Thu, 31 Mar 2022 13:12:50 +0200 Subject: [PATCH 24/73] Update eva.config --- conf/pipeline/eager/eva.config | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index 1eefd18..cc102b5 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -74,6 +74,22 @@ process { clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } + + withName: bwa { + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga())}G,h=!(bionode01|bionode02|bionode03|bionode04|bionode05|bionode06)" } + } + + withName: bwamem { + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga())}G,h=!(bionode01|bionode02|bionode03|bionode04|bionode05|bionode06)" } + } + + withName: circularmapper { + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga())}G,h=!(bionode01|bionode02|bionode03|bionode04|bionode05|bionode06)" } + } + + withName: bowtie2 { + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga())}G,h=!(bionode01|bionode02|bionode03|bionode04|bionode05|bionode06)" } + } withName: samtools_flagstat { clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } From edaad1cd18c552ecd9958eae73801a1516048262 Mon Sep 17 00:00:00 2001 From: Praveen Raj S <43108054+praveenraj2018@users.noreply.github.com> Date: Thu, 7 Apr 2022 12:36:01 +0200 Subject: [PATCH 25/73] Update: sentieon version Sentieon version has been updated to 202112.02. --- conf/pipeline/sarek/munin.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/pipeline/sarek/munin.config b/conf/pipeline/sarek/munin.config index 6a73b8c..77f76f0 100644 --- a/conf/pipeline/sarek/munin.config +++ b/conf/pipeline/sarek/munin.config @@ -23,7 +23,7 @@ params { // Specific nf-core/sarek process configuration process { withLabel:sentieon { - module = {params.sentieon ? 'sentieon/202112.00' : null} + module = {params.sentieon ? 'sentieon/202112.02' : null} container = {params.sentieon ? null : container} } } From a086878c0bc7db6e616e7988087f34d12360d284 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 22 Apr 2022 10:47:04 +0200 Subject: [PATCH 26/73] Update eva.config --- conf/pipeline/eager/eva.config | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index 17b5b34..6290b4c 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -69,6 +69,11 @@ process { clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } + + withName: fastqc_after_clipping { + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + } withName: adapter_removal { clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } @@ -255,6 +260,11 @@ profiles { clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } + + withName: fastqc_after_clipping { + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + } withName: adapter_removal { clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } @@ -429,6 +439,11 @@ profiles { clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } + + withName: fastqc_after_clipping { + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + } withName: adapter_removal { clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } From 69d1a14894146ed5781f4c487327d08815d4bd5e Mon Sep 17 00:00:00 2001 From: Alex Rajewski Date: Fri, 22 Apr 2022 10:17:13 -0700 Subject: [PATCH 27/73] basic Cedars-Sinai HPC config file --- conf/cedars.config | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 conf/cedars.config diff --git a/conf/cedars.config b/conf/cedars.config new file mode 100644 index 0000000..d9b9027 --- /dev/null +++ b/conf/cedars.config @@ -0,0 +1,26 @@ +//Profile config names for nf-core/configs +params { + config_profile_description = 'Cedars-Sinai Medical Center HPC Profile' + config_profile_contact = 'Alex Rajewski (@rajewski)' + config_profile_url = 'https://www.cedars-sinai.edu/research/cores/informatics-computing/resources.html' + max_memory = 90.GB + max_cpus = 10 + max_time = 240.h +} + +// Specify the queing system +executor { + name = "sge" +} + +process { + penv = 'smp' + beforeScript = + """ + module load 'singularity/3.6.0' + """ +} + +singularity { + enabled = true +} From 766eb450be7775798f33dca4be1ef59f8dbcb84d Mon Sep 17 00:00:00 2001 From: Alex Rajewski Date: Fri, 22 Apr 2022 10:23:19 -0700 Subject: [PATCH 28/73] usage notes --- docs/cedars.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 docs/cedars.md diff --git a/docs/cedars.md b/docs/cedars.md new file mode 100644 index 0000000..ba09eb1 --- /dev/null +++ b/docs/cedars.md @@ -0,0 +1,7 @@ +# Cedars-Sinai Medical Center HPC + + - You will need HPC access from EIS, which can be requested in the Service Center. + - You will need to load the nextflow module on the HPC before running any pipelines (`module load nextflow`). This should automatically load Java as well. + - Run this with `-profile cedars` + - By default this config file does not specify a queue for submission, and things will thus go to `all.q`. Because of that, the memory and cpu limits have been set accordingly. + - We 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` From c60d73b56594786ef983f86f8bc8396befbbb611 Mon Sep 17 00:00:00 2001 From: Alex Rajewski Date: Fri, 22 Apr 2022 10:26:32 -0700 Subject: [PATCH 29/73] add Cedars-Sinai HPC --- nfcore_custom.config | 1 + 1 file changed, 1 insertion(+) diff --git a/nfcore_custom.config b/nfcore_custom.config index 9b088b1..939fd3a 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -24,6 +24,7 @@ profiles { 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" } + cedars { includeConfig "${params.custom_config_base}/conf/cedars.config" } cfc { includeConfig "${params.custom_config_base}/conf/cfc.config" } cfc_dev { includeConfig "${params.custom_config_base}/conf/cfc_dev.config" } cheaha { includeConfig "${params.custom_config_base}/conf/cheaha.config" } From aa2c3e256b28b371c1115ac9413508499fd71088 Mon Sep 17 00:00:00 2001 From: Alex Rajewski Date: Fri, 22 Apr 2022 10:27:50 -0700 Subject: [PATCH 30/73] add cedars-sinai --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 55fa3b9..398acca 100644 --- a/README.md +++ b/README.md @@ -99,6 +99,7 @@ Currently documentation is available for the following systems: - [CBE](docs/cbe.md) - [CCGA_DX](docs/ccga_dx.md) - [CCGA_MED](docs/ccga_med.md) +- [Cedars-Sinai](docs/cedars.md) - [CFC](docs/cfc.md) - [CHEAHA](docs/cheaha.md) - [Computerome](docs/computerome.md) From d261b3df7896cb791473d0b53f8e1a868f61e472 Mon Sep 17 00:00:00 2001 From: Alex Rajewski Date: Fri, 22 Apr 2022 10:29:22 -0700 Subject: [PATCH 31/73] add cedars-sinai --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 38ddb4f..3abcba6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -43,6 +43,7 @@ jobs: - "cbe" - "ccga_dx" - "ccga_med" + - "cedars" - "cfc" - "cfc_dev" - "cheaha" From 4885b672b1768fb06ee92a5df17f4831475d9742 Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Mon, 25 Apr 2022 11:46:32 +0200 Subject: [PATCH 32/73] Prettier --- docs/cedars.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/cedars.md b/docs/cedars.md index ba09eb1..2abaf5d 100644 --- a/docs/cedars.md +++ b/docs/cedars.md @@ -1,7 +1,7 @@ # Cedars-Sinai Medical Center HPC - - You will need HPC access from EIS, which can be requested in the Service Center. - - You will need to load the nextflow module on the HPC before running any pipelines (`module load nextflow`). This should automatically load Java as well. - - Run this with `-profile cedars` - - By default this config file does not specify a queue for submission, and things will thus go to `all.q`. Because of that, the memory and cpu limits have been set accordingly. - - We 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` +- You will need HPC access from EIS, which can be requested in the Service Center. +- You will need to load the nextflow module on the HPC before running any pipelines (`module load nextflow`). This should automatically load Java as well. +- Run this with `-profile cedars` +- By default this config file does not specify a queue for submission, and things will thus go to `all.q`. Because of that, the memory and cpu limits have been set accordingly. +- We 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` From bf658abc77c5d169a88b640e261b56ae4889cf25 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Mon, 2 May 2022 13:59:13 +0200 Subject: [PATCH 33/73] Update eva.config --- conf/pipeline/eager/eva.config | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index cc102b5..63aaa86 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -183,6 +183,12 @@ process { clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } + + withName:get_software_versions { + cache = false + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + } } @@ -358,6 +364,12 @@ profiles { clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'ignore' } } + + withName:get_software_versions { + cache = false + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + } } } @@ -533,6 +545,12 @@ profiles { clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'ignore' } } + + withName:get_software_versions { + cache = false + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + } } } From 57095fe79fce706f2fc9ba9f93d3660fbde400a3 Mon Sep 17 00:00:00 2001 From: "Thiseas C. Lamnidis" Date: Tue, 3 May 2022 16:12:20 +0200 Subject: [PATCH 34/73] Update eva.config Set max heap size for java jobs in `get_software_versions`. Limited OpenBLAS threading for python jobs that use numpy/pandas. --- conf/pipeline/eager/eva.config | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index b563828..ce0db42 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -191,10 +191,17 @@ process { withName:get_software_versions { cache = false + beforeScript = '_JAVA_OPTIONS="-XX:ParallelGCThreads=1 -Xmx256m"; export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1' clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } + + withName:kraken_merge { + beforeScript = 'export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1' +} +withName:multiqc { + beforeScript = 'export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1;' } profiles { From 04226692febf767fddabfda0ee4ca6e064b5e7c4 Mon Sep 17 00:00:00 2001 From: "Thiseas C. Lamnidis" Date: Tue, 3 May 2022 16:21:35 +0200 Subject: [PATCH 35/73] Update eva.config --- conf/pipeline/eager/eva.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index ce0db42..5dd915d 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -191,7 +191,7 @@ process { withName:get_software_versions { cache = false - beforeScript = '_JAVA_OPTIONS="-XX:ParallelGCThreads=1 -Xmx256m"; export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1' + beforeScript = 'export _JAVA_OPTIONS="-XX:ParallelGCThreads=1 -Xmx256m"; export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1' clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } From 79ad571319eba01f29e00fa23d50036f9c0b5b29 Mon Sep 17 00:00:00 2001 From: "Thiseas C. Lamnidis" Date: Tue, 3 May 2022 16:25:48 +0200 Subject: [PATCH 36/73] Update eva.config --- conf/pipeline/eager/eva.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index 5dd915d..cc18042 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -192,7 +192,7 @@ process { withName:get_software_versions { cache = false beforeScript = 'export _JAVA_OPTIONS="-XX:ParallelGCThreads=1 -Xmx256m"; export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1' - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toMega())}M" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } From 4592969613ffd32f55fd7824040d59013fea89e9 Mon Sep 17 00:00:00 2001 From: "Thiseas C. Lamnidis" Date: Tue, 3 May 2022 16:30:04 +0200 Subject: [PATCH 37/73] memory for get_software_versions in MB. --- conf/pipeline/eager/eva.config | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index cc18042..c6554a6 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -381,13 +381,6 @@ profiles { clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'ignore' } } - - withName:get_software_versions { - cache = false - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } - } - } } @@ -567,13 +560,6 @@ profiles { clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } errorStrategy = { task.exitStatus in [143,137,104,134,139] ? 'retry' : 'ignore' } } - - withName:get_software_versions { - cache = false - clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 6)}G" } - errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } - } - } } From 085726d0814cc4c4c9a4dd4f959bedee6fad7329 Mon Sep 17 00:00:00 2001 From: "Thiseas C. Lamnidis" Date: Tue, 3 May 2022 16:36:05 +0200 Subject: [PATCH 38/73] Update eva.config --- conf/pipeline/eager/eva.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index c6554a6..4c7a721 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -191,7 +191,7 @@ process { withName:get_software_versions { cache = false - beforeScript = 'export _JAVA_OPTIONS="-XX:ParallelGCThreads=1 -Xmx256m"; export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1' + beforeScript = 'export _JAVA_OPTIONS="-XX:ParallelGCThreads=1 -Xmx512m"; export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1' clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toMega())}M" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } From 79e227aa4e0da89a6d28f122edf95bc7aaaef4fc Mon Sep 17 00:00:00 2001 From: "Thiseas C. Lamnidis" Date: Tue, 3 May 2022 16:42:21 +0200 Subject: [PATCH 39/73] Update eva.config --- conf/pipeline/eager/eva.config | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index 4c7a721..e1a347b 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -197,11 +197,12 @@ process { } withName:kraken_merge { - beforeScript = 'export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1' -} + beforeScript = 'export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1' + } -withName:multiqc { - beforeScript = 'export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1;' + withName:multiqc { + beforeScript = 'export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1;' + } } profiles { From a42c4344ad6071ea649aa698bbdd4bfc9fe21708 Mon Sep 17 00:00:00 2001 From: "Thiseas C. Lamnidis" Date: Tue, 3 May 2022 18:30:42 +0200 Subject: [PATCH 40/73] Exclude bionode 06 for software versions --- conf/pipeline/eager/eva.config | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index e1a347b..34ae450 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -191,6 +191,7 @@ process { withName:get_software_versions { cache = false + clusterOptions = { "-S /bin/bash -V -l h=!(bionode06)" beforeScript = 'export _JAVA_OPTIONS="-XX:ParallelGCThreads=1 -Xmx512m"; export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1' clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toMega())}M" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } From 209601f78274239006764daf8733d133ab9e1718 Mon Sep 17 00:00:00 2001 From: "Thiseas C. Lamnidis" Date: Wed, 4 May 2022 13:08:13 +0200 Subject: [PATCH 41/73] missing bracket --- conf/pipeline/eager/eva.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index 34ae450..907d1df 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -191,7 +191,7 @@ process { withName:get_software_versions { cache = false - clusterOptions = { "-S /bin/bash -V -l h=!(bionode06)" + clusterOptions = { "-S /bin/bash -V -l h=!(bionode06)" } beforeScript = 'export _JAVA_OPTIONS="-XX:ParallelGCThreads=1 -Xmx512m"; export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1' clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toMega())}M" } errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } From 8b9744723caf27536d42814ce4a150d31faba8f3 Mon Sep 17 00:00:00 2001 From: Emil Date: Wed, 4 May 2022 14:13:24 +0200 Subject: [PATCH 42/73] Fixes hasta java memory issues --- conf/hasta.config | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/conf/hasta.config b/conf/hasta.config index c5dd5e4..7db9b4c 100644 --- a/conf/hasta.config +++ b/conf/hasta.config @@ -21,6 +21,14 @@ params { process { executor = 'slurm' clusterOptions = { "-A $params.priority ${params.clusterOptions ?: ''}" } + + withName: QUALIMAP_BAMQC { + memory = 64.GB + ext.args = "--java-mem-size=60G" + } + withName: 'PICARD_COLLECTHSMETRICS|PICARD_COLLECTMULTIPLEMETRICS|COLLECTREADCOUNTS|DENOISEREADCOUNTS' { + clusterOptions = { task.memory ? "-l h_vmem=${task.memory.bytes/task.cpus}+2" : null } + } } profiles { From 20c826fd5051bff96bc4f3e5d7da58316370c624 Mon Sep 17 00:00:00 2001 From: Harshil Patel Date: Thu, 5 May 2022 11:10:05 +0100 Subject: [PATCH 43/73] Update retry strategy for preemptible instances on GCP --- conf/google.config | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conf/google.config b/conf/google.config index 4333d86..41f0e1f 100644 --- a/conf/google.config +++ b/conf/google.config @@ -15,7 +15,8 @@ google.zone = params.google_zone google.lifeSciences.debug = params.google_debug workDir = params.google_bucket google.lifeSciences.preemptible = params.google_preemptible + if (google.lifeSciences.preemptible) { - process.errorStrategy = { task.exitStatus==14 ? 'retry' : 'terminate' } + process.errorStrategy = { task.exitStatus in [8,10,14] ? 'retry' : 'terminate' } process.maxRetries = 5 } \ No newline at end of file From e938f3606f012c4bf583a26544236205fae83ed0 Mon Sep 17 00:00:00 2001 From: Emil Date: Thu, 5 May 2022 14:09:45 +0200 Subject: [PATCH 44/73] Removes the new SGE clusterOptions for now --- conf/hasta.config | 3 --- 1 file changed, 3 deletions(-) diff --git a/conf/hasta.config b/conf/hasta.config index 7db9b4c..67d8652 100644 --- a/conf/hasta.config +++ b/conf/hasta.config @@ -26,9 +26,6 @@ process { memory = 64.GB ext.args = "--java-mem-size=60G" } - withName: 'PICARD_COLLECTHSMETRICS|PICARD_COLLECTMULTIPLEMETRICS|COLLECTREADCOUNTS|DENOISEREADCOUNTS' { - clusterOptions = { task.memory ? "-l h_vmem=${task.memory.bytes/task.cpus}+2" : null } - } } profiles { From 95d18270e8abcedfb380d25089063c39c43743de Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Fri, 6 May 2022 13:57:11 +0200 Subject: [PATCH 45/73] Update eva.config --- conf/eva.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/eva.config b/conf/eva.config index 866cdd5..2440368 100644 --- a/conf/eva.config +++ b/conf/eva.config @@ -17,7 +17,7 @@ process { executor = 'sge' penv = 'smp' queue = 'all.q' - clusterOptions = { "-S /bin/bash -V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } + clusterOptions = { "-S /bin/bash -V -j y -o output.sge -l h_vmem=${task.memory.toGiga()}G" } } executor { @@ -37,7 +37,7 @@ profiles { process { queue = { task.memory > 700.GB ? 'bigmem.q' : 'archgen.q' } - clusterOptions = { "-S /bin/bash -V -j y -o output.log -l h_vmem=${task.memory.toGiga()}G" } + clusterOptions = { "-S /bin/bash -V -j y -o output.sge -l h_vmem=${task.memory.toGiga()}G" } } singularity { From d09f5fc11614f10af780638b3da0f42cca7ef158 Mon Sep 17 00:00:00 2001 From: "Thiseas C. Lamnidis" Date: Fri, 6 May 2022 15:12:04 +0200 Subject: [PATCH 46/73] Update eva.config eigenstrat_snp_coverage also loads pandas --- conf/pipeline/eager/eva.config | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conf/pipeline/eager/eva.config b/conf/pipeline/eager/eva.config index 907d1df..f35f1ed 100644 --- a/conf/pipeline/eager/eva.config +++ b/conf/pipeline/eager/eva.config @@ -197,6 +197,10 @@ process { errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } } + withName:eigenstrat_snp_coverage { + beforeScript = 'export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1' + } + withName:kraken_merge { beforeScript = 'export OPENBLAS_NUM_THREADS=1; export OMP_NUM_THREADS=1' } From 5bc6ed90bde50cf0443e9cfadc626546b6731cff Mon Sep 17 00:00:00 2001 From: sofstam Date: Wed, 11 May 2022 11:13:31 +0200 Subject: [PATCH 47/73] Add hasta config for taxprofiler --- conf/pipeline/taxprofiler/hasta.config | 10 ++++++++++ pipeline/taxprofiler.config | 13 +++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 conf/pipeline/taxprofiler/hasta.config create mode 100644 pipeline/taxprofiler.config diff --git a/conf/pipeline/taxprofiler/hasta.config b/conf/pipeline/taxprofiler/hasta.config new file mode 100644 index 0000000..fcf7b7d --- /dev/null +++ b/conf/pipeline/taxprofiler/hasta.config @@ -0,0 +1,10 @@ +process { + + withName:'BBMAP_BBDUK' { + memory = { check_max( 80.GB * task.attempt, 'memory' ) } + } + + withName: 'MALT_RUN' { + memory = { check_max( 80.GB * task.attempt, 'memory' ) } + } +} diff --git a/pipeline/taxprofiler.config b/pipeline/taxprofiler.config new file mode 100644 index 0000000..be9f02b --- /dev/null +++ b/pipeline/taxprofiler.config @@ -0,0 +1,13 @@ +/* + * ------------------------------------------------- + * nfcore/taxprofiler custom profile Nextflow config file + * ------------------------------------------------- + * Config options for custom environments. + * Cluster-specific config options should be saved + * in the conf/pipeline/taxprofiler folder and imported + * under a profile name here. + */ + +profiles { + hasta { includeConfig "${params.custom_config_base}/conf/pipeline/taxprofiler/hasta.config" } +} From e1f780d976d012822a5448537a2981bfc5c2e88f Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Thu, 12 May 2022 07:54:17 +0100 Subject: [PATCH 48/73] Add taxprofiler for eVA --- README.md | 6 ++++-- conf/pipeline/taxprofiler/eva.config | 29 ++++++++++++++++++++++++++++ docs/pipeline/taxprofiler/eva.md | 19 ++++++++++++++++++ pipeline/taxprofiler.config | 3 +++ 4 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 conf/pipeline/taxprofiler/eva.config create mode 100644 docs/pipeline/taxprofiler/eva.md create mode 100644 pipeline/taxprofiler.config diff --git a/README.md b/README.md index 398acca..43b8c71 100644 --- a/README.md +++ b/README.md @@ -194,11 +194,13 @@ Currently documentation is available for the following pipelines within specific - [EVA](docs/pipeline/eager/eva.md) - rnafusion - [MUNIN](docs/pipeline/rnafusion/munin.md) +- rnavar + - [MUNIN](docs/pipeline/rnavar/munin.md) - sarek - [MUNIN](docs/pipeline/sarek/munin.md) - [UPPMAX](docs/pipeline/sarek/uppmax.md) -- rnavar - - [MUNIN](docs/pipeline/rnavar/munin.md) +- taxprofiler + - [EVA](docs/pipeline/taxprofiler/eva.md) ### Pipeline-specific documentation diff --git a/conf/pipeline/taxprofiler/eva.config b/conf/pipeline/taxprofiler/eva.config new file mode 100644 index 0000000..59b5fc6 --- /dev/null +++ b/conf/pipeline/taxprofiler/eva.config @@ -0,0 +1,29 @@ +params { + // Specific nf-core/configs params + config_profile_contact = 'James Fellows Yates (@jfy133)' + config_profile_description = 'nf-core/taxprofiler EVA profile provided by nf-core/configs' +} + +process { + + withName: BBMAP_BBDUK { + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 2)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + } + + withName: MALT_RUN { + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 4)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + } + + withName: METAPHLAN3 { + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 3)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + } + + withName: MEGAN_RMA2INFO { + clusterOptions = { "-S /bin/bash -V -l h_vmem=${(task.memory.toGiga() * 4)}G" } + errorStrategy = { task.exitStatus in [1,143,137,104,134,139,140] ? 'retry' : 'finish' } + } + +} diff --git a/docs/pipeline/taxprofiler/eva.md b/docs/pipeline/taxprofiler/eva.md new file mode 100644 index 0000000..fc7e3d8 --- /dev/null +++ b/docs/pipeline/taxprofiler/eva.md @@ -0,0 +1,19 @@ +# nf-core/configs: eva taxprofiler specific configuration + +Extra specific configuration for taxprofiler pipeline + +## Usage + +To use, run the pipeline with `-profile eva`. + +This will download and launch the taxprofiler specific [`eva.config`](../../../conf/pipeline/taxprofiler/eva.config) which has been pre-configured with a setup suitable for the MPI-EVA cluster. + +Example: `nextflow run nf-core/taxprofiler -profile eva` + +## taxprofiler specific configurations for eva + +Specific configurations for eva has been made for taxprofiler. + +### General profiles + +- The general MPI-EVA profile runs with default nf-core/taxprofiler parameters, but with modifications to account for issues SGE have with Java and python tools, nameling: BBDUK, MALT, MetaPhlAn3, and MEGAN diff --git a/pipeline/taxprofiler.config b/pipeline/taxprofiler.config new file mode 100644 index 0000000..f9eea2d --- /dev/null +++ b/pipeline/taxprofiler.config @@ -0,0 +1,3 @@ +profiles { + eva { includeConfig "${params.custom_config_base}/conf/pipeline/taxprofiler/eva.config" } +} From 6bb7c1a4223d776cca1bea8834909c2c9f971c5f Mon Sep 17 00:00:00 2001 From: Sarah Guinchard Date: Thu, 12 May 2022 10:55:00 +0200 Subject: [PATCH 49/73] Update config file with queue & correct ressources --- conf/ifb_core.config | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/conf/ifb_core.config b/conf/ifb_core.config index 50a72f4..64b571a 100644 --- a/conf/ifb_core.config +++ b/conf/ifb_core.config @@ -2,7 +2,7 @@ params { config_profile_description = 'The IFB core cluster profile' config_profile_contact = 'https://community.france-bioinformatique.fr' - config_profile_url = 'https://www.france-bioinformatique.fr/' + config_profile_url = 'https://ifb-elixirfr.gitlab.io/cluster/doc/cluster-desc/' } singularity { @@ -13,12 +13,12 @@ singularity { process { executor = 'slurm' + queue = { task.time <= 24.h ? 'fast' : 'long' } } params { igenomes_ignore = true - // Max resources requested by a normal node on genotoul. - max_memory = 240.GB - max_cpus = 28 - max_time = 96.h + max_memory = 252.GB + max_cpus = 56 + max_time = 720.h } From 54b3cda34d9042ee5b5698d9101e38058e1266c5 Mon Sep 17 00:00:00 2001 From: sofstam Date: Thu, 12 May 2022 11:00:26 +0200 Subject: [PATCH 50/73] Add review suggestion --- conf/pipeline/taxprofiler/hasta.config | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/conf/pipeline/taxprofiler/hasta.config b/conf/pipeline/taxprofiler/hasta.config index fcf7b7d..1241558 100644 --- a/conf/pipeline/taxprofiler/hasta.config +++ b/conf/pipeline/taxprofiler/hasta.config @@ -1,3 +1,9 @@ +params { + // Specific nf-core/configs params + config_profile_contact = 'Sofia Stamouli (@sofstam)' + config_profile_description = 'nf-core/taxprofiler HASTA profile provided by nf-core/configs' +} + process { withName:'BBMAP_BBDUK' { From 84457cc6559f18d6664d346ca48a3b0306e82ccf Mon Sep 17 00:00:00 2001 From: Sarah Guinchard Date: Thu, 12 May 2022 11:01:36 +0200 Subject: [PATCH 51/73] Update documentation --- docs/ifb_core.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/ifb_core.md b/docs/ifb_core.md index b9eb978..caf588a 100644 --- a/docs/ifb_core.md +++ b/docs/ifb_core.md @@ -6,7 +6,8 @@ To use, run the pipeline with `-profile ifb_core`. This will download and launch ## How to use on IFB core -Before running the pipeline you will need to load Nextflow using the environment module system on IFB core. You can do this by issuing the commands below: +Here is [the link to the cluster's documentation](https://ifb-elixirfr.gitlab.io/cluster/doc/quick-start/). +Before running the pipeline you will need to load Nextflow and other dependencies using the environment module system on IFB core. You can do this by issuing the commands below: ```bash # Login to a compute node @@ -14,7 +15,10 @@ srun --pty bash ## Load Nextflow and Singularity environment modules module purge -module load nextflow/20.04.1 +module load nextflow +module load singularity +module load openjdk + # Run a downloaded/git-cloned nextflow workflow from nextflow run \\ From 3538f8511a2cb4d311fbd4a67bc3cc1fbd6788db Mon Sep 17 00:00:00 2001 From: Sarah Guinchard Date: Thu, 12 May 2022 11:02:42 +0200 Subject: [PATCH 52/73] removed comment --- conf/ifb_core.config | 1 - 1 file changed, 1 deletion(-) diff --git a/conf/ifb_core.config b/conf/ifb_core.config index 64b571a..6331278 100644 --- a/conf/ifb_core.config +++ b/conf/ifb_core.config @@ -6,7 +6,6 @@ params { } singularity { - // need one image per execution enabled = true runOptions = '-B /shared' } From b1deb0abce3bd642387ec3e87e7860877344e121 Mon Sep 17 00:00:00 2001 From: sofstam Date: Thu, 12 May 2022 14:56:52 +0200 Subject: [PATCH 53/73] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43b8c71..8acc0d5 100644 --- a/README.md +++ b/README.md @@ -201,6 +201,7 @@ Currently documentation is available for the following pipelines within specific - [UPPMAX](docs/pipeline/sarek/uppmax.md) - taxprofiler - [EVA](docs/pipeline/taxprofiler/eva.md) + - [hasta](docs/pipeline/taxprofiler/hasta.md) ### Pipeline-specific documentation From ca4cdcffeed7fa34d5ce635e707c98979aeb57e7 Mon Sep 17 00:00:00 2001 From: sofstam Date: Thu, 12 May 2022 15:07:30 +0200 Subject: [PATCH 54/73] Fix typo --- docs/pipeline/{ => taxprofiler}/hasta.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/pipeline/{ => taxprofiler}/hasta.md (100%) diff --git a/docs/pipeline/hasta.md b/docs/pipeline/taxprofiler/hasta.md similarity index 100% rename from docs/pipeline/hasta.md rename to docs/pipeline/taxprofiler/hasta.md From cc86e6b2704a6891b6f0f6ccba1bbbee10945f03 Mon Sep 17 00:00:00 2001 From: Nicolas Vannieuwkerke Date: Fri, 20 May 2022 09:12:18 +0200 Subject: [PATCH 55/73] Added the VSC UGent profile --- conf/vsc_ugent.config | 110 ++++++++++++++++++++++++++++++++++++++++++ docs/vsc_ugent.md | 40 +++++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 conf/vsc_ugent.config create mode 100644 docs/vsc_ugent.md diff --git a/conf/vsc_ugent.config b/conf/vsc_ugent.config new file mode 100644 index 0000000..7df41f9 --- /dev/null +++ b/conf/vsc_ugent.config @@ -0,0 +1,110 @@ +// Specify the work directory +workDir = "$VSC_SCRATCH_VO_USER/work" + +// Perform work directory cleanup when the run has succesfully completed +cleanup = true + +// Reduce the job submit rate to about 10 per second, this way the server won't be bombarded with jobs +executor { + submitRateLimit = '10 sec' +} + +// Specify that singularity should be used and where the cache dir will be for the images +singularity { + enabled = true + autoMounts = true + cacheDir = "$VSC_SCRATCH_VO_USER/singularity" +} + +// Define profiles for each cluster +profiles { + skitty { + params { + config_profile_description = 'HPC_SKITTY profile for use on the Skitty cluster of the VSC HPC.' + config_profile_contact = 'Nicolas Vannieuwkerke (@nvnieuwk)' + config_profile_url = 'https://www.ugent.be/hpc/en' + max_memory = 177.GB + max_cpus = 36 + max_time = 72.h + } + + process { + executor = 'slurm' + queue = 'skitty' + maxRetries = 2 + scratch = "$VSC_SCRATCH_VO_USER" + } + } + + swalot { + params { + config_profile_description = 'HPC_SWALOT profile for use on the Swalot cluster of the VSC HPC.' + config_profile_contact = 'Nicolas Vannieuwkerke (@nvnieuwk)' + config_profile_url = 'https://www.ugent.be/hpc/en' + max_memory = 116.GB + max_cpus = 20 + max_time = 72.h + } + + process { + executor = 'slurm' + queue = 'swalot' + maxRetries = 2 + scratch = "$VSC_SCRATCH_VO_USER" + } + } + + victini { + params { + config_profile_description = 'HPC_VICTINI profile for use on the Victini cluster of the VSC HPC.' + config_profile_contact = 'Nicolas Vannieuwkerke (@nvnieuwk)' + config_profile_url = 'https://www.ugent.be/hpc/en' + max_memory = 88.GB + max_cpus = 36 + max_time = 72.h + } + + process { + executor = 'slurm' + queue = 'victini' + maxRetries = 2 + scratch = "$VSC_SCRATCH_VO_USER" + } + } + + kirlia { + params { + config_profile_description = 'HPC_KIRLIA profile for use on the Kirlia cluster of the VSC HPC.' + config_profile_contact = 'Nicolas Vannieuwkerke (@nvnieuwk)' + config_profile_url = 'https://www.ugent.be/hpc/en' + max_memory = 738.GB + max_cpus = 36 + max_time = 72.h + } + + process { + executor = 'slurm' + queue = 'kirlia' + maxRetries = 2 + scratch = "$VSC_SCRATCH_VO_USER" + } + } + + doduo { + params { + config_profile_description = 'HPC_DODUO profile for use on the Doduo cluster of the VSC HPC.' + config_profile_contact = 'Nicolas Vannieuwkerke (@nvnieuwk)' + config_profile_url = 'https://www.ugent.be/hpc/en' + max_memory = 250.GB + max_cpus = 96 + max_time = 72.h + } + + process { + executor = 'slurm' + queue = 'doduo' + maxRetries = 2 + scratch = "$VSC_SCRATCH_VO_USER" + } + } +} \ No newline at end of file diff --git a/docs/vsc_ugent.md b/docs/vsc_ugent.md new file mode 100644 index 0000000..d0bc230 --- /dev/null +++ b/docs/vsc_ugent.md @@ -0,0 +1,40 @@ +# nf-core/configs: University of Ghent High Performance Computing Infrastructure (VSC) + +> **NB:** You will need an [account](https://www.ugent.be/hpc/en/access/faq/access) to use the HPC cluster to run the pipeline. + +First you should go to the cluster you want to run the pipeline on. You can check what clusters have the most free space on this [link](https://shieldon.ugent.be:8083/pbsmon-web-users/). Use the following commands to easily switch between clusters: + +```shell +module purge +module swap cluster/ +``` + +Before running the pipeline you will need to create a SLURM/PBS script to submit as a job. + +```bash +#!/bin/bash + +module load Nextflow + +nextflow run -profile vsc_ugent, +``` + +I also highly recommend specifying a location of a Singularity cache directory, by specifying the location with the `$SINGULARITY_CACHEDIR` bash environment variable in your `.bash_profile` or `.bashrc` or by adding it to your SLURM/PBS script. If this cache directory is not specified, the cache directory defaults to your `$HOME/.singularity` directory, which does not have a lot of disk space. + +```shell +export SINGULARITY_CACHEDIR=$VSC_SCRATCH_VO_USER/.singularity +``` + +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 completed successfully. If the run does not complete successfully then the `work/` dir should be removed manually to save storage space. + +You can also add several TORQUE options to the SLURM/PBS script. More about this on this [link](http://hpcugent.github.io/vsc_user_docs/pdf/intro-HPC-linux-gent.pdf#appendix.B). + +To submit your job to the cluster by using the following command: + +```shell +qsub