From 5d0c9450bc813505b406778d854790b02178139b Mon Sep 17 00:00:00 2001 From: Me Date: Thu, 12 Oct 2023 10:08:12 +0100 Subject: [PATCH] Add University of Dundee cluster config --- .github/workflows/main.yml | 1 + README.md | 1 + conf/uod_hpc.config | 22 ++++++++++++++++++++++ docs/uod_hpc.md | 34 ++++++++++++++++++++++++++++++++++ nfcore_custom.config | 1 + 5 files changed, 59 insertions(+) create mode 100644 conf/uod_hpc.config create mode 100644 docs/uod_hpc.md diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c251acf70..244f0c13d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -117,6 +117,7 @@ jobs: - "uge" - "unibe_ibu" - "unc_lccc" + - "uod_hpc" - "uppmax" - "utd_ganymede" - "utd_sysbio" diff --git a/README.md b/README.md index d8064cab3..9ba844863 100644 --- a/README.md +++ b/README.md @@ -171,6 +171,7 @@ Currently documentation is available for the following systems: - [UNC_LCCC](docs/unc_lccc.md) - [UGE](docs/uge.md) - [UNIBE_IBU](docs/unibe_ibu.md) +- [UOD_HPC](docs/uod_hpc.md) - [UPPMAX](docs/uppmax.md) - [UTD_GANYMEDE](docs/utd_ganymede.md) - [UTD_SYSBIO](docs/utd_sysbio.md) diff --git a/conf/uod_hpc.config b/conf/uod_hpc.config new file mode 100644 index 000000000..c5d0f2a78 --- /dev/null +++ b/conf/uod_hpc.config @@ -0,0 +1,22 @@ +params { + config_profile_description = 'University of Dundee Compute Cluster' + config_profile_contact = 'Dominic Sloan-Murphy (dsloanmurphy001@dundee.ac.uk)' + config_profile_url = 'https://uod-hpc.readthedocs.io/en/latest/software/nextflow/' +} + +process { + executor = 'sge' + penv = 'smp' + queue = 'all.q' + + // Workaround for: + // https://github.com/nextflow-io/nextflow/issues/2449 + withName: '.*' { memory = null } + withName: '.*' { time = null } +} + +executor { + max_memory = 128.GB + max_cpus = 28 + max_time = 72.h +} diff --git a/docs/uod_hpc.md b/docs/uod_hpc.md new file mode 100644 index 000000000..78af3f656 --- /dev/null +++ b/docs/uod_hpc.md @@ -0,0 +1,34 @@ +# nf-core/configs: Dundee Configuration + +The nf-core pipelines [rnaseq](https://nf-co.re/rnaseq) and [sarek](https://nf-co.re/sarek) have been successfully tested on the [University of Dundee compute cluster](https://uod-hpc.readthedocs.io/en/latest/). + +To use, run the pipeline with `-profile uod_hpc`. This will download and launch the [`uod_hpc.config`](../conf/uod_hpc.config) which has been pre-configured with a setup suitable for the Dundee cluster. + +## Using Nextflow on Myriad + +Before running the pipeline you will need to install and configure Nextflow. You can do this by issuing the commands below: + +```bash +# Create a Bioconda environment and install Nextflow +setup-miniconda-env /cluster///nextflow-env +source "/cluster///nextflow-env/bin/activate" +conda config --add channels defaults +conda config --add channels bioconda +conda config --add channels conda-forge +conda config --set channel_priority strict +conda install -c bioconda nextflow +``` + +For convenience, append the activation command to your `.bashrc` file to avoid having to source your conda environment on each log-in: + +```bash +echo source '"/cluster///nextflow-env/bin/activate"' >> ~/.bashrc +``` + +:::note +You will need an account to use the HPC cluster in order to run the pipeline. If in doubt raise a support request with University of Dundee service desk. +::: + +:::note +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 raise a support request with University of Dundee service desk. +::: diff --git a/nfcore_custom.config b/nfcore_custom.config index 29d42c0a5..a3cd5c905 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -99,6 +99,7 @@ profiles { uge { includeConfig "${params.custom_config_base}/conf/uge.config" } unc_lccc { includeConfig "${params.custom_config_base}/conf/unc_lccc.config" } unibe_ibu { includeConfig "${params.custom_config_base}/conf/unibe_ibu.config" } + uod_hpc { includeConfig "${params.custom_config_base}/conf/uod_hpc.config" } uppmax { includeConfig "${params.custom_config_base}/conf/uppmax.config" } utd_ganymede { includeConfig "${params.custom_config_base}/conf/utd_ganymede.config" } utd_sysbio { includeConfig "${params.custom_config_base}/conf/utd_sysbio.config" }