USNW Katana HPC Configuration
nf-core pipelines have been successfully configured for use on the UNSW Katana 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
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:
module purge
module load nextflow java
Execution command
module load nextflow
module load java
nextflow run <nf-core_pipeline>/main.nf \
-profile singularity,unsw_katana \
<additional flags>
Queue limits
This config is defined in line with the UNSW Katana queue limits.
Config file
// 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
}
}