From ae0adb056f18d60921d8d152c6eb3286367b7015 Mon Sep 17 00:00:00 2001 From: Mei Wu Date: Mon, 27 Sep 2021 16:05:19 +0200 Subject: [PATCH] initial commit --- conf/hasta.config | 51 ++++++++++++++++++++++++++++++++++++++++++++ docs/hasta.md | 15 +++++++++++++ nfcore_custom.config | 1 + 3 files changed, 67 insertions(+) create mode 100644 conf/hasta.config create mode 100644 docs/hasta.md diff --git a/conf/hasta.config b/conf/hasta.config new file mode 100644 index 0000000..60c7596 --- /dev/null +++ b/conf/hasta.config @@ -0,0 +1,51 @@ +// Profile config names for nf-core/configs +params { + config_profile_description = 'Hasta, a local cluster setup at Clinical Genomics, Stockholm.' + config_profile_contact = 'Clinical Genomics, Stockholm' + config_profile_url = 'https://github.com/Clinical-Genomics' + priority = null + clusterOptions = null + schema_ignore_params = "priority,clusterOptions" +} + +singularity { + enabled = true +} + +params { + max_memory = 180.GB + max_cpus = 36 + max_time = 336.h + + igenomes_ignore = true +} + +process { + executor = 'slurm' + clusterOptions = { "-A $params.priority ${params.clusterOptions ?: ''}" } + + withName:'PICARD_MARKDUPLICATES' { + cpus = { check_max( 13 * task.attempt, 'cpus' ) } + memory = { check_max( 130.GB * task.attempt, 'memory' ) } + } + withName:'DEEPVARIANT' { + cpus = { check_max( 16 * task.attempt, 'cpus' ) } + memory = { check_max( 80.GB * task.attempt, 'memory' ) } + } +} + +profiles { + dev_prio { + params { + priority = 'development' + clusterOptions = "--qos=low" + } + } + + prod_prio { + params { + priority = 'production' + clusterOptions = "--qos=low" + } + } +} \ No newline at end of file diff --git a/docs/hasta.md b/docs/hasta.md new file mode 100644 index 0000000..c849ead --- /dev/null +++ b/docs/hasta.md @@ -0,0 +1,15 @@ +# nf-core/configs: Hasta Configuration + +## Using the Hasta config profile +Before running the pipeline `Nextflow` will need to be install in the conda environment being used. + +To use, run the pipeline with `-profile hasta` (one hyphen). +This will download and launch the [`hasta.config`](../conf/hasta.config) which has been pre-configured with a setup suitable for the hasta servers. +It will enable `Nextflow` to manage the pipeline jobs via the `Slurm` job scheduler. +Using this profile, `Docker` image(s) containing required software(s) will be downloaded, and converted to `Singularity` image(s) if needed before execution of the pipeline. + +Recent version of `Nextflow` also support the environment variable `NXF_SINGULARITY_CACHEDIR` which can be used to supply images. A use case: `NXF_SINGULARITY_CACHEDIR=/path/to/images; export NXF_SINGULARITY_CACHEDIR` before running the pipeline. + +## Development and production config + +Each user on hasta has a priority based on their allocated team, either development or production. To enable this when submitting a job to Slurm, submit with `-profile hasta,dev_prio` or `-profile hasta,prod_prio`. This overwrites certain parts of the config and submits the job based on different priorities. \ No newline at end of file diff --git a/nfcore_custom.config b/nfcore_custom.config index 978c65a..85456a8 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -33,6 +33,7 @@ profiles { genouest { includeConfig "${params.custom_config_base}/conf/genouest.config" } gis { includeConfig "${params.custom_config_base}/conf/gis.config" } google { includeConfig "${params.custom_config_base}/conf/google.config" } + hasta { includeConfig "${params.custom_config_base}/conf/hasta.config" } hebbe { includeConfig "${params.custom_config_base}/conf/hebbe.config" } icr_davros { includeConfig "${params.custom_config_base}/conf/icr_davros.config" } ifb_core { includeConfig "${params.custom_config_base}/conf/ifb_core.config" }