diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ea84e53d..289cdfee 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2,3 +2,4 @@ **/giga** @MartinGrignard **/shu_bmrc** @lquayle88 **/utd_ganymede** @edmundmiller @alyssa-ab +**/unsw_katana** @jscgh diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 19195ac3..de0bc269 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -100,6 +100,7 @@ jobs: - "janelia" - "jax" - "jex" + - "unsw_katana" - "ku_sund_danhead" - "leicester" - "lugh" diff --git a/README.md b/README.md index ee46ec70..b52ba566 100644 --- a/README.md +++ b/README.md @@ -152,6 +152,7 @@ Currently documentation is available for the following systems: - [Janelia Research Campus](docs/janelia.md) - [JAX](docs/jax.md) - [Jex](docs/jex.md) +- [UNSW_Katana](docs/unsw_katana.md) - [KU SUND DANHEAD](docs/ku_sund_danhead.md) - [LUGH](docs/lugh.md) - [M3C](docs/m3c.md) diff --git a/conf/pipeline/proteinfold/unsw_katana.config b/conf/pipeline/proteinfold/unsw_katana.config new file mode 100644 index 00000000..d6257b6b --- /dev/null +++ b/conf/pipeline/proteinfold/unsw_katana.config @@ -0,0 +1,21 @@ +profiles { + unsw_katana { + params { + config_profile_contact = '@jscgh' + config_profile_description = 'nf-core/proteinfold UNSW Katana profile provided by nf-core/configs' + } + process { + executor = 'pbspro' + queue = 'submission' + + withLabel:gpu_compute { + accelerator = 1 + clusterOptions = { "-l host=k095 -l ngpus=1 -l ncpus=${task.cpus} -l mem=${task.memory.toMega()}mb" } + } + + withName: 'RUN_HELIXFOLD3' { + containerOptions = "--bind \${TMPDIR}:/tmp,\${PWD} --env CUDA_VISIBLE_DEVICES=0" + } + } + } +} diff --git a/conf/unsw_katana.config b/conf/unsw_katana.config new file mode 100644 index 00000000..4dd71baf --- /dev/null +++ b/conf/unsw_katana.config @@ -0,0 +1,53 @@ +// UNSW Katana nf-core configuration profile + + +params { + config_profile_description = 'UNSW Katana HPC profile provided by nf-core/configs.' + config_profile_contact = '@jscgh' + config_profile_url = 'https://docs.restech.unsw.edu.au/' +} + +process { + executor = 'pbspro' + queue = 'submission' + + resourceLimits = [ + memory: 248.GB, + cpus: 24, + time: 100.h + ] + + withLabel:process_single { + cpus = { 1 } + memory = { 4.GB * task.attempt } + time = { 2.h * task.attempt } + } + withLabel:process_low { + cpus = { 2 * task.attempt } + memory = { 12.GB * task.attempt } + time = { 2.h * task.attempt } + } + withLabel:process_medium { + cpus = { 8 * task.attempt } + memory = { 62.GB * task.attempt } + time = { 12.h * task.attempt } + } + withLabel:process_high { + cpus = { 12 * task.attempt } + memory = { 124.GB * task.attempt } + time = { 48.h * task.attempt } + } + withLabel:process_long { + time = { 100.h * task.attempt } + } + withLabel:process_high_memory { + memory = { 248.GB * task.attempt } + } + withLabel:error_ignore { + errorStrategy = 'ignore' + } + withLabel:error_retry { + errorStrategy = 'retry' + maxRetries = 1 + } +} diff --git a/docs/unsw_katana.md b/docs/unsw_katana.md new file mode 100644 index 00000000..264445db --- /dev/null +++ b/docs/unsw_katana.md @@ -0,0 +1,31 @@ +# nf-core/configs: USNW Katana HPC Configuration + +nf-core pipelines have been successfully configured for use on the [UNSW Katana](https://docs.restech.unsw.edu.au/) at the University of New South Wales, Sydney, Australia. + +To run an nf-core pipeline at UNSW Katana, run the pipeline with `-profile singularity,unsw_katana`. This will download and launch the [`unsw_katana.config`](../conf/unsw_katana.config) which has been pre-configured with a setup suitable for the unsw katana HPC cluster. Using this profile, a Singularity image image containing all of the required software will be used for the pipeline. + +## Launch an nf-core pipeline on Katana + +### Prerequisites + +Before running the pipeline you will need to load Nextflow and Java, both of which are globally installed modules on Katana. You can do this by running the commands below: + +```bash +module purge +module load nextflow java +``` + +### Execution command + +```bash +module load nextflow +module load java + +nextflow run /main.nf \ + -profile singularity,unsw_katana \ + +``` + +### Queue limits + +This config is defined in line with the [UNSW Katana queue limits](https://docs.restech.unsw.edu.au/using_katana/running_jobs/#job-queue-limits-summary). diff --git a/nfcore_custom.config b/nfcore_custom.config index b4239abf..a68e2e85 100644 --- a/nfcore_custom.config +++ b/nfcore_custom.config @@ -208,6 +208,9 @@ profiles { jex { includeConfig "${params.custom_config_base}/conf/jex.config" } + unsw_katana { + includeConfig "${params.custom_config_base}/conf/unsw_katana.config" + } ku_sund_danhead { includeConfig "${params.custom_config_base}/conf/ku_sund_danhead.config" } diff --git a/pipeline/proteinfold.config b/pipeline/proteinfold.config index e0070f95..02557c3b 100644 --- a/pipeline/proteinfold.config +++ b/pipeline/proteinfold.config @@ -12,4 +12,7 @@ profiles { crg { includeConfig "${params.custom_config_base}/conf/pipeline/proteinfold/crg.config" } + unsw_katana { + includeConfig "${params.custom_config_base}/conf/pipeline/proteinfold/unsw_katana.config" + } }