diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a3b41fd..9f260cd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -47,7 +47,6 @@ jobs: - 'icr_davros' - 'ifb_core' - 'imperial' - - 'imperial_mb' - 'jax' - 'lugh' - 'maestro' diff --git a/README.md b/README.md index f2accc6..d0e703f 100644 --- a/README.md +++ b/README.md @@ -113,6 +113,7 @@ Currently documentation is available for the following systems: * [HASTA](docs/hasta.md) * [HEBBE](docs/hebbe.md) * [ICR_DAVROS](docs/icr_davros.md) +* [IMPERIAL](docs/imperial.md) * [JAX](docs/jax.md) * [LUGH](docs/lugh.md) * [MAESTRO](docs/maestro.md) diff --git a/conf/imperial.config b/conf/imperial.config index eeb98ae..729d623 100644 --- a/conf/imperial.config +++ b/conf/imperial.config @@ -1,37 +1,80 @@ //Profile config names for nf-core/configs params { - // Config Params - config_profile_description = 'Imperial College London - HPC Profile -- provided by nf-core/configs.' - config_profile_contact = 'Combiz Khozoie (c.khozoie@imperial.ac.uk)' - config_profile_url = 'https://www.imperial.ac.uk/admin-services/ict/self-service/research-support/rcs/' + // Config Params + config_profile_description = 'Imperial College London - HPC Profile -- provided by nf-core/configs.' + config_profile_contact = 'Combiz Khozoie (c.khozoie@imperial.ac.uk)' + config_profile_url = 'https://www.imperial.ac.uk/admin-services/ict/self-service/research-support/rcs/' - // Resources - max_memory = 256.GB - max_cpus = 32 - max_time = 72.h + // Resources + max_memory = 480.GB + max_cpus = 40 + max_time = 1000.h +} + +profiles { + imperial { + process { + executor = 'pbspro' + + // Process-specific resource requirements + withLabel:process_low { + // TARGET QUEUE: throughput + cpus = { 2 * task.attempt } + memory = { 12.GB * task.attempt } + time = { 4.h * task.attempt } + } + withLabel:process_medium { + // TARGET QUEUE: throughput + cpus = 8 + memory = { 32.GB * task.attempt } + time = { 8.h * task.attempt } + } + withLabel:process_high { + // TARGET QUEUE: general + cpus = 32 + memory = { 62.GB * task.attempt } + time = { 16.h * task.attempt } + } + withLabel:process_long { + // TARGET QUEUE: long + cpus = 8 + memory = 96.GB + time = { 72.h * task.attempt } + } + withLabel:process_high_memory { + // TARGET QUEUE: large memory + cpus = { 10 * task.attempt } + memory = { 120.GB * task.attempt } + time = { 12.h * task.attempt } + } + } + } + medbio { + process { + executor = 'pbspro' + + queue = 'pqmedbio-tput' + + //queue = 'med-bio' //!! this is an alias and shouldn't be used + } + } } executor { - $pbspro { - queueSize = 50 - } + $pbspro { + queueSize = 50 + } - $local { - cpus = 2 - queueSize = 1 - memory = '32 GB' - } + $local { + cpus = 2 + queueSize = 1 + memory = '6 GB' + } } singularity { - enabled = true - autoMounts = true - runOptions = "-B /rds/,/rds/general/user/$USER/ephemeral/tmp/:/tmp,/rds/general/user/$USER/ephemeral/tmp/:/var/tmp" -} - -process { - - executor = 'pbspro' - + enabled = true + autoMounts = true + runOptions = "-B /rds/,/rds/general/user/$USER/ephemeral/tmp/:/tmp,/rds/general/user/$USER/ephemeral/tmp/:/var/tmp" } diff --git a/conf/imperial_mb.config b/conf/imperial_mb.config deleted file mode 100644 index a89ffcd..0000000 --- a/conf/imperial_mb.config +++ /dev/null @@ -1,44 +0,0 @@ -//Profile config names for nf-core/configs - -params { - // Config Params - config_profile_description = 'Imperial College London - MEDBIO QUEUE - HPC Profile -- provided by nf-core/configs.' - config_profile_contact = 'Combiz Khozoie (c.khozoie@imperial.ac.uk)' - config_profile_url = 'https://www.imperial.ac.uk/bioinformatics-data-science-group/resources/uk-med-bio/' - - // Resources - max_memory = 640.GB - max_cpus = 32 - max_time = 168.h -} - -executor { - $pbspro { - queueSize = 50 - } - - $local { - cpus = 2 - queueSize = 1 - memory = '32 GB' - } -} - -singularity { - enabled = true - autoMounts = true - runOptions = "-B /rds/,/rdsgpfs/,/rds/general/user/$USER/ephemeral/tmp/:/tmp,/rds/general/user/$USER/ephemeral/tmp/:/var/tmp" -} - -process { - - executor = 'pbspro' - queue = 'pqmedbio-tput' - - //queue = 'med-bio' //!! this is an alias and shouldn't be used - - withLabel:process_large { - queue = 'pqmedbio-large' - } - -} diff --git a/conf/pipeline/scflow/imperial.config b/conf/pipeline/scflow/imperial.config index 7f46466..78a4a8b 100644 --- a/conf/pipeline/scflow/imperial.config +++ b/conf/pipeline/scflow/imperial.config @@ -3,7 +3,7 @@ params { // Config Params config_profile_description = 'Imperial College London - HPC - nf-core/scFlow Profile -- provided by nf-core/configs.' - config_profile_contact = 'Combiz Khozoie (c.khozoie@imperial.ac.uk)' + config_profile_contact = 'NA' // Analysis Resource Params ctd_folder = "/rds/general/user/$USER/projects/ukdrmultiomicsproject/live/Analyses/scFlowResources/refs/ctd" @@ -15,4 +15,4 @@ singularity { autoMounts = true cacheDir = "/rds/general/user/$USER/projects/ukdrmultiomicsproject/live/.singularity-cache" runOptions = "-B /rds/,/rdsgpfs/,/rds/general/user/$USER/ephemeral/tmp/:/tmp,/rds/general/user/$USER/ephemeral/tmp/:/var/tmp" -} \ No newline at end of file +} diff --git a/docs/imperial.md b/docs/imperial.md index 43fc117..158827c 100644 --- a/docs/imperial.md +++ b/docs/imperial.md @@ -2,15 +2,17 @@ All nf-core pipelines have been successfully configured for use on the CX1 cluster at Imperial College London HPC. -To use, run the pipeline with `-profile imperial`. This will download and launch the [`imperial.config`](../conf/imperial.config) which has been pre-configured with a setup suitable for the CX1 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. +To use, run the pipeline with `-profile imperial,standard`. This will download and launch the [`imperial.config`](../conf/imperial.config) which has been pre-configured with a setup suitable for the CX1 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. Before running the pipeline you will need to load Nextflow using the environment module system on the CX1 cluster. You can do this by issuing the commands below: ```bash ## Load Nextflow and Singularity environment modules -module load Nextflow +module load anaconda3/personal +conda install -c bioconda nextflow ``` >NB: You will need an account to use the HPC cluster CX1 in order to run the pipeline. If in doubt contact IT. >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. ->NB: To submit jobs to the Imperial College MEDBIO cluster, use `-profile imperial_mb` instead. +>NB: To submit jobs to the Imperial College MEDBIO cluster, use `-profile imperial,medbio` instead. +>NB: You will need a restricted access account to use the HPC cluster MEDBIO. diff --git a/docs/imperial_mb.md b/docs/imperial_mb.md deleted file mode 100644 index d7f7f15..0000000 --- a/docs/imperial_mb.md +++ /dev/null @@ -1,16 +0,0 @@ -# nf-core/configs: Imperial MEDBIO HPC Configuration - -All nf-core pipelines have been successfully configured for use on the MEDBIO cluster at Imperial College London HPC. - -To use, run the pipeline with `-profile imperial_mb`. This will download and launch the [`imperial_mb.config`](../conf/imperial_mb.config) which has been pre-configured with a setup suitable for the MEDBIO 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. - -Before running the pipeline you will need to load Nextflow using the environment module system on the head node. You can do this by issuing the commands below: - -```bash -## Load Nextflow and Singularity environment modules -module load Nextflow -``` - ->NB: You will need an account to use the HPC cluster MEDBIO in order to run the pipeline. Access to the MEDBIO queue is exclusive. If in doubt contact IT. ->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. ->NB: To submit jobs to the standard CX1 cluster at Imperial College, use `-profile imperial` instead. diff --git a/nfcore_custom.config b/nfcore_custom.config index f580206..a242948 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -41,7 +41,6 @@ profiles { icr_davros { includeConfig "${params.custom_config_base}/conf/icr_davros.config" } ifb_core { includeConfig "${params.custom_config_base}/conf/ifb_core.config" } imperial { includeConfig "${params.custom_config_base}/conf/imperial.config" } - imperial_mb { includeConfig "${params.custom_config_base}/conf/imperial_mb.config" } jax { includeConfig "${params.custom_config_base}/conf/jax.config" } lugh { includeConfig "${params.custom_config_base}/conf/lugh.config" } maestro { includeConfig "${params.custom_config_base}/conf/maestro.config" } diff --git a/pipeline/scflow.config b/pipeline/scflow.config index 8c4697f..0ff19ea 100644 --- a/pipeline/scflow.config +++ b/pipeline/scflow.config @@ -10,5 +10,4 @@ profiles { imperial { includeConfig "${params.custom_config_base}/conf/pipeline/scflow/imperial.config" } - imperial_mb { includeConfig "${params.custom_config_base}/conf/pipeline/scflow/imperial.config" } // intended -} \ No newline at end of file +}