nf-core/configs: crukmi
Cancer Research UK Manchester Institute HPC cluster profile
nf-core/configs: Cancer Research UK Manchester Institute Configuration
All nf-core pipelines have been successfully configured for the use on the HPC (griffin) at Cancer Research UK Manchester Institute.
To use, run the pipeline with -profile crukmi. This will download and launch the crukmi.config which has been pre-configured with a setup suitable for the Griffin HPC. Using this profile, Apptainer/Singularity images will be downloaded to run on the cluster and stored in a centralised location.
Before running the pipeline you will need to load Nextflow using the environment module system, for example via:
## Load Nextflow environment modules
module purge
module load apps/nextflow
The pipeline should always be executed inside a workspace on the /scratch/ system. All of the intermediate files required to run the pipeline will be stored in the work/ directory. It is recommended to delete this directory after the pipeline has finished successfully because it can get quite large.
Config file
//Profile config names for nf-core/configsparams { config_profile_description = 'Cancer Research UK Manchester Institute HPC cluster profile provided by nf-core/configs' config_profile_contact = 'Stephen Kitcatt, Simon Pearce (@skitcattCRUKMI, @sppearce)' config_profile_url = 'http://scicom.picr.man.ac.uk/projects/user-support/wiki'}
singularity { cacheDir = '/lmod/nextflow_software' enabled = true autoMounts = true}
process { resourceLimits = [ memory: 4000.GB, cpus: 96, time: 72.h ] beforeScript = 'module load apps/apptainer' executor = 'slurm' queue = { task.memory <= 240.GB ? 'compute' : 'hmem' }
errorStrategy = { task.exitStatus in [143, 137, 104, 134, 139, 140] ? 'retry' : 'finish' } maxErrors = '-1' maxRetries = 3
withLabel: process_single { cpus = { 1 * task.attempt } memory = { 5.GB * task.attempt } }
withLabel: process_low { cpus = { 1 * task.attempt } memory = { 5.GB * task.attempt } }
withLabel: process_medium { cpus = { 4 * task.attempt } memory = { 20.GB * task.attempt } }
withLabel: process_high { cpus = { 48 * task.attempt } memory = { 240.GB * task.attempt } }}
executor { name = 'slurm' queueSize = 1000 pollInterval = '10 sec'}
params { max_memory = 4000.GB max_cpus = 96 max_time = 72.h}