From ae0adb056f18d60921d8d152c6eb3286367b7015 Mon Sep 17 00:00:00 2001 From: Mei Wu Date: Mon, 27 Sep 2021 16:05:19 +0200 Subject: [PATCH 1/6] 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" } From 06fac1dcfceef7603903edeafdf0b6cea6063511 Mon Sep 17 00:00:00 2001 From: Mei Wu Date: Mon, 27 Sep 2021 16:05:32 +0200 Subject: [PATCH 2/6] initial commit --- conf/hasta.config | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/conf/hasta.config b/conf/hasta.config index 60c7596..2794788 100644 --- a/conf/hasta.config +++ b/conf/hasta.config @@ -15,9 +15,7 @@ singularity { params { max_memory = 180.GB max_cpus = 36 - max_time = 336.h - - igenomes_ignore = true + max_time = 336.h } process { From d3b92bad9d52bed274a794aff75896740f45467d Mon Sep 17 00:00:00 2001 From: Mei Wu Date: Mon, 27 Sep 2021 16:11:18 +0200 Subject: [PATCH 3/6] fix lint --- .github/workflows/main.yml | 93 +++++++++++++++++++------------------- 1 file changed, 47 insertions(+), 46 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d59e815..8981afa 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,51 +15,52 @@ jobs: name: Run ${{ matrix.profile }} profile needs: test_all_profiles strategy: - matrix: - profile: - - 'abims' - - 'aws_tower' - - 'awsbatch' - - 'bi' - - 'bigpurple' - - 'binac' - - 'biohpc_gen' - - 'cambridge' - - 'cbe' - - 'ccga_dx' - - 'ccga_med' - - 'cfc' - - 'cfc_dev' - - 'crick' - - 'denbi_qbic' - - 'ebc' - - 'eddie' - - 'eva' - - 'genotoul' - - 'genouest' - - 'gis' - - 'google' - - 'hebbe' - - 'icr_davros' - - 'ifb_core' - - 'imperial' - - 'imperial_mb' - - 'jax' - - 'lugh' - - 'mpcdf' - - 'munin' - - 'nu_genomics' - - 'oist' - - 'pasteur' - - 'phoenix' - - 'prince' - - 'sanger' - - 'seg_globe' - - 'uct_hpc' - - 'uppmax' - - 'utd_ganymede' - - 'utd_sysbio' - - 'uzh' + matrix: + profile: + - "abims" + - "aws_tower" + - "awsbatch" + - "bi" + - "bigpurple" + - "binac" + - "biohpc_gen" + - "cambridge" + - "cbe" + - "ccga_dx" + - "ccga_med" + - "cfc" + - "cfc_dev" + - "crick" + - "denbi_qbic" + - "ebc" + - "eddie" + - "eva" + - "genotoul" + - "genouest" + - "gis" + - "google" + - "hasta" + - "hebbe" + - "icr_davros" + - "ifb_core" + - "imperial" + - "imperial_mb" + - "jax" + - "lugh" + - "mpcdf" + - "munin" + - "nu_genomics" + - "oist" + - "pasteur" + - "phoenix" + - "prince" + - "sanger" + - "seg_globe" + - "uct_hpc" + - "uppmax" + - "utd_ganymede" + - "utd_sysbio" + - "uzh" steps: - uses: actions/checkout@v1 - name: Install Nextflow @@ -68,6 +69,6 @@ jobs: sudo mv nextflow /usr/local/bin/ - name: Check ${{ matrix.profile }} profile env: - SCRATCH: '~' + SCRATCH: "~" NXF_GLOBAL_CONFIG: awsbatch.config run: nextflow run ${GITHUB_WORKSPACE}/configtest.nf --custom_config_base=${GITHUB_WORKSPACE} -profile ${{ matrix.profile }} From c2d74b290a62582034f909e117b0b29231b48cb8 Mon Sep 17 00:00:00 2001 From: Mei Wu Date: Mon, 27 Sep 2021 16:25:02 +0200 Subject: [PATCH 4/6] fix md --- conf/hasta.config | 2 +- docs/hasta.md | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/conf/hasta.config b/conf/hasta.config index 2794788..031cd70 100644 --- a/conf/hasta.config +++ b/conf/hasta.config @@ -46,4 +46,4 @@ profiles { clusterOptions = "--qos=low" } } -} \ No newline at end of file +} diff --git a/docs/hasta.md b/docs/hasta.md index c849ead..4a8bd54 100644 --- a/docs/hasta.md +++ b/docs/hasta.md @@ -1,6 +1,7 @@ # 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). @@ -12,4 +13,4 @@ Recent version of `Nextflow` also support the environment variable `NXF_SINGULAR ## 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 +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. From 735100ed0b296f00b6b2d8c461dce59ecc0fc617 Mon Sep 17 00:00:00 2001 From: Mei Wu Date: Mon, 27 Sep 2021 16:37:34 +0200 Subject: [PATCH 5/6] updated readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9e27b6d..1040f93 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,7 @@ Currently documentation is available for the following systems: * [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) * [JAX](docs/jax.md) From 79a79f7d8dd8b7bdc91b30e295780bf41342b59a Mon Sep 17 00:00:00 2001 From: Mei Wu Date: Tue, 28 Sep 2021 10:38:15 +0200 Subject: [PATCH 6/6] added pipeline-specific config --- conf/hasta.config | 11 +---------- conf/pipeline/raredisease/hasta.config | 11 +++++++++++ pipeline/raredisease.config | 13 +++++++++++++ 3 files changed, 25 insertions(+), 10 deletions(-) create mode 100644 conf/pipeline/raredisease/hasta.config create mode 100644 pipeline/raredisease.config diff --git a/conf/hasta.config b/conf/hasta.config index 031cd70..c5dd5e4 100644 --- a/conf/hasta.config +++ b/conf/hasta.config @@ -20,16 +20,7 @@ params { 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' ) } - } + clusterOptions = { "-A $params.priority ${params.clusterOptions ?: ''}" } } profiles { diff --git a/conf/pipeline/raredisease/hasta.config b/conf/pipeline/raredisease/hasta.config new file mode 100644 index 0000000..2c6ed48 --- /dev/null +++ b/conf/pipeline/raredisease/hasta.config @@ -0,0 +1,11 @@ +process { + + 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' ) } + } +} \ No newline at end of file diff --git a/pipeline/raredisease.config b/pipeline/raredisease.config new file mode 100644 index 0000000..796a38b --- /dev/null +++ b/pipeline/raredisease.config @@ -0,0 +1,13 @@ +/* + * ------------------------------------------------- + * nfcore/raredisease custom profile Nextflow config file + * ------------------------------------------------- + * Config options for custom environments. + * Cluster-specific config options should be saved + * in the conf/pipeline/raredisease folder and imported + * under a profile name here. + */ + +profiles { + hasta { includeConfig "${params.custom_config_base}/conf/pipeline/raredisease/hasta.config" } +}