From 0bfedde296033992860b9b4c020d490e738434e6 Mon Sep 17 00:00:00 2001 From: SPearce Date: Fri, 12 Aug 2022 15:43:22 +0100 Subject: [PATCH] Initial attempt at a CRUKMI config file --- .github/workflows/main.yml | 1 + README.md | 1 + conf/crukmi.config | 48 ++++++++++++++++++++++++++++++++++++++ docs/crukmi.md | 9 +++++++ nfcore_custom.config | 1 + 5 files changed, 60 insertions(+) create mode 100644 conf/crukmi.config create mode 100644 docs/crukmi.md diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f5ba0d1..59d038b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -49,6 +49,7 @@ jobs: - "cheaha" - "computerome" - "crick" + - "crukmi" - "denbi_qbic" - "ebc" - "eddie" diff --git a/README.md b/README.md index 94ce55c..918ab0c 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,7 @@ Currently documentation is available for the following systems: - [CHEAHA](docs/cheaha.md) - [Computerome](docs/computerome.md) - [CRICK](docs/crick.md) +- [Cancer Research UK Manchester Institute](docs/crukmi.md) - [CZBIOHUB_AWS](docs/czbiohub.md) - [DENBI_QBIC](docs/denbi_qbic.md) - [EBC](docs/ebc.md) diff --git a/conf/crukmi.config b/conf/crukmi.config new file mode 100644 index 0000000..3e7383b --- /dev/null +++ b/conf/crukmi.config @@ -0,0 +1,48 @@ +//Profile config names for nf-core/configs +params { + config_profile_description = 'Cancer Research UK Manchester Institute HPC cluster profile provided by nf-core/configs' + config_profile_contact = 'Stephen Kitcatt, Simon Pearce (@skitcattCRUKMI, @sppearce)' + config_profile_url = 'http://scicom.picr.man.ac.uk/projects/user-support/wiki' +} + +env { + SINGULARITY_CACHEDIR = '/lmod/nextflow_software' +} + +singularity { + enabled = true + autoMounts = true +} + +process { + beforeScript = 'module load apps/singularity/3.8.0' + executor = 'pbs' + + withLabel:process_low { + cpus = { check_max( 1 * task.attempt, 'cpus' ) } + memory = { check_max( 5.GB * task.attempt, 'memory' ) } + } + + withLabel:process_medium { + cpus = { check_max( 4 * task.attempt, 'cpus' ) } + memory = { check_max( 20.GB * task.attempt, 'memory' ) } + } + + withLabel:process_high { + cpus = { check_max( 16 * task.attempt, 'cpus' ) } + memory = { check_max( 80.GB * task.attempt, 'memory' ) } + } + + withName: 'SAMTOOLS_MPILEUP' { + cpus = 1 + memory = { 8.GB * task.attempt } + } + + +} + +params { + max_memory = 2000.GB + max_cpus = 32 + max_time = 72.h +} diff --git a/docs/crukmi.md b/docs/crukmi.md new file mode 100644 index 0000000..a55a9fa --- /dev/null +++ b/docs/crukmi.md @@ -0,0 +1,9 @@ +# nf-core/configs: BI Configuration + +All nf-core pipelines have been successfully configured for use at Boehringer Ingelheim. + +To use, run the pipeline with `-profile bi`. This will download and launch the [`bi.config`](../conf/bi.config) which has been pre-configured with a setup suitable for the BI systems. 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 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. diff --git a/nfcore_custom.config b/nfcore_custom.config index 6f0ac6c..42b7f66 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -30,6 +30,7 @@ profiles { cheaha { includeConfig "${params.custom_config_base}/conf/cheaha.config" } computerome { includeConfig "${params.custom_config_base}/conf/computerome.config" } crick { includeConfig "${params.custom_config_base}/conf/crick.config" } + crukmi { includeConfig "${params.custom_config_base}/conf/crukmi.config" } czbiohub_aws { includeConfig "${params.custom_config_base}/conf/czbiohub_aws.config" } denbi_qbic { includeConfig "${params.custom_config_base}/conf/denbi_qbic.config" } ebc { includeConfig "${params.custom_config_base}/conf/ebc.config" }