1
0
Fork 0
mirror of https://github.com/MillironX/nf-configs.git synced 2024-09-21 14:02:05 +00:00
nf-configs/conf/uppmax.config

81 lines
1.9 KiB
Text

//Profile config names for nf-core/configs
params {
config_profile_description = 'Swedish UPPMAX cluster profile provided by nf-core/configs.'
config_profile_contact = 'Phil Ewels (@ewels)'
config_profile_url = 'https://www.uppmax.uu.se/'
}
singularity {
enabled = true
}
def hostname = "r1"
try {
hostname = "sinfo --local -N -h | head -1 | cut -f1 -d' ' ".execute().text.trim()
} catch (java.io.IOException e) {
System.err.println("WARNING: Could not run sinfo to determine current cluster, defaulting to rackham")
}
// closure to create a suitable clusterOptions
def clusterOptionsCreator = { m ->
String base = "-A $params.project ${params.clusterOptions ?: ''}"
// Do not use -p node on irma or if a thin node/core is enough
if (m < 125.GB || hostname ==~ "i.*") {
return base
}
if (m < 250.GB) {
return base + " -p node -C mem256GB "
}
// Remaining cases use the largest available node (1 Tbyte for rackham, 512 Gbyte for others)
if (hostname ==~ "r.*") {
return base + " -p node -C mem1TB "
}
return base + " -p node -C mem512GB "
}
process {
executor = 'slurm'
clusterOptions = { clusterOptionsCreator(task.memory) }
}
params {
save_reference = true
max_memory = 970.GB
max_cpus = 16
max_time = 240.h
// illumina iGenomes reference file paths on UPPMAX
igenomes_base = '/sw/data/uppnex/igenomes/'
}
if (hostname ==~ "b.*") {
params.max_memory = 500.GB
}
if (hostname ==~ "s.*") {
params.max_memory = 500.GB
params.max_time = 700.h
}
if (hostname ==~ "i.*") {
params.max_memory = 250.GB
}
if (hostname ==~ "r.*") {
params.max_cpus = 20
}
profiles {
devel {
params {
config_profile_description = 'Testing & development profile for UPPMAX, provided by nf-core/configs.'
// Max resources to be requested by a devel job
max_memory = 120.GB
max_time = 1.h
}
executor.queueSize = 1
process.queue = 'devel'
}
}