diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 56d27e8..d040466 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -62,6 +62,7 @@ jobs: - 'sanger' - 'seg_globe' - 'uct_hpc' + - 'unibe_ibu' - 'uppmax' - 'utd_ganymede' - 'utd_sysbio' diff --git a/README.md b/README.md index 2771c5d..c0a4378 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,9 @@ If you decide to upload your custom config file to `nf-core/configs` then this w You will simply have to specify `-profile ` in the command used to run the pipeline. See [`nf-core/configs`](https://github.com/nf-core/configs/tree/master/conf) for examples. -Please also make sure to add an extra `params` section with `params.config_profile_description`, `params.config_profile_contact` and `params.config_profile_url` set to reasonable values. +Before adding your config file to nf-core/configs, we highly recommend writing and testing your own custom config file (as described [above](Using an existing config)), and then continuing with the next steps. + +N.B. In your config file, please also make sure to add an extra `params` section with `params.config_profile_description`, `params.config_profile_contact` and `params.config_profile_url` set to reasonable values. Users will get information on who wrote the configuration profile then when executing a nf-core pipeline and can report back if there are things missing for example. ### Testing @@ -125,6 +127,7 @@ Currently documentation is available for the following systems: * [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) @@ -133,11 +136,14 @@ Currently documentation is available for the following systems: ### 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, and the documentation file to the [`docs/`](https://github.com/nf-core/configs/tree/master/docs) directory. -You will also need to 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. -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. +Within the local clone of your fork: -In order to ensure that the config file is tested automatically with GitHub Actions please add your profile name to the `profile:` scope in [`.github/workflows/main.yml`](.github/workflows/main.yml). If you forget to do this the tests will fail with the error: +* **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: ```bash Run python ${GITHUB_WORKSPACE}/bin/cchecker.py ${GITHUB_WORKSPACE}/nfcore_custom.config ${GITHUB_WORKSPACE}/.github/workflows/main.yml @@ -156,6 +162,8 @@ Sometimes it may be desirable to have configuration options for an institute tha Such options should not be added to the main institutional config, as this will be applied to all pipelines. Instead, we can create a pipeline-specific institutional config file. +> The following steps are similar to the instructions for standard institutional config, however using `pipeline` variants of folders e.g., `conf/pipeline/` or under `pipeline/` + :warning: Remember to replace the `` and `` placeholders with the pipeline name and profile name in the following examples Institutional configs work because the pipeline `nextflow.config` file loads the [`nf-core/configs/nfcore_custom.config` config file](https://github.com/nf-core/configs/blob/master/nfcore_custom.config), which in turn loads the institutional configuration file based on the profile `` supplied on the command line. diff --git a/conf/jax.config b/conf/jax.config index 56c0f12..a56df71 100644 --- a/conf/jax.config +++ b/conf/jax.config @@ -1,6 +1,6 @@ params { config_profile_description = 'The Jackson Laboratory Sumner HPC profile provided by nf-core/configs.' - config_profile_contact = 'Asaf Peer (@peera)' + config_profile_contact = 'Bill Flynn (@flynnb)' config_profile_url = 'https://jacksonlaboratory.sharepoint.com/sites/ResearchIT/SitePages/Welcome-to-Sumner.aspx' singularity_cache_dir = '/fastscratch/singularity_cache_nfcore' } diff --git a/conf/sanger.config b/conf/sanger.config index 5611762..1955ca9 100644 --- a/conf/sanger.config +++ b/conf/sanger.config @@ -17,7 +17,6 @@ process{ process.maxRetries = 5 withLabel:process_long { queue = 'long' - max_time = 48.h } } @@ -32,5 +31,5 @@ executor{ params { max_memory = 128.GB max_cpus = 64 - max_time = 12.h + max_time = 48.h } diff --git a/conf/unibe_ibu.config b/conf/unibe_ibu.config new file mode 100644 index 0000000..6ebce5a --- /dev/null +++ b/conf/unibe_ibu.config @@ -0,0 +1,23 @@ +params { + config_profile_description = "University of Bern, Interfaculty Bioinformatics Unit cluster profile" + config_profile_contact = "irene.keller@dbmr.unibe.ch; info@bioinformatics.unibe.ch" + config_profile_url = "https://www.bioinformatics.unibe.ch/" + max_memory = 500.GB + max_cpus = 128 + max_time = 240.h +} + +process { + executor = "slurm" + maxRetries = 2 + beforeScript = 'mkdir -p ./tmp/ && export TMPDIR=./tmp/' +} + +executor { + queueSize = 30 +} + +singularity { + enabled = true + autoMounts = true +} \ No newline at end of file diff --git a/docs/unibe_ibu.md b/docs/unibe_ibu.md new file mode 100644 index 0000000..1adc407 --- /dev/null +++ b/docs/unibe_ibu.md @@ -0,0 +1,5 @@ +# nf-core/configs: UNIBE_IBU Configuration + +Configuration file to run nf-core pipelines on the cluster of the [Interfaculty Bioinformatics Unit](https://www.bioinformatics.unibe.ch/) of the University of Bern. + +To use, run the pipeline with `-profile unibe_ibu`. This will download and launch the profile.config which has been pre-configured with a setup suitable for the IBU 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. **This requires a local installation of singularity**. It is easiest to submit the pipeline from a compute node. Once the image is cached, you can also submit from the login node. diff --git a/nfcore_custom.config b/nfcore_custom.config index 3e4dc5a..4ceb1a7 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -56,6 +56,7 @@ profiles { 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" } + unibe_ibu { includeConfig "${params.custom_config_base}/conf/unibe_ibu.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" }