2019-01-04 15:33:54 +00:00
|
|
|
//Profile config names for nf-core/configs
|
|
|
|
params {
|
2019-01-07 13:25:06 +00:00
|
|
|
config_profile_description = 'Swedish UPPMAX cluster profile provided by nf-core/configs.'
|
2019-01-04 15:33:54 +00:00
|
|
|
config_profile_contact = 'Phil Ewels (@ewels)'
|
|
|
|
config_profile_url = 'https://www.uppmax.uu.se/'
|
|
|
|
}
|
|
|
|
|
2018-11-23 15:56:34 +00:00
|
|
|
singularity {
|
|
|
|
enabled = true
|
|
|
|
}
|
|
|
|
|
2021-04-08 07:49:42 +00:00
|
|
|
def hostname = "r1"
|
|
|
|
try {
|
2021-04-12 17:31:41 +00:00
|
|
|
hostname = "sinfo --local -N -h | grep -F -v CLUSTER: | head -1 | cut -f1 -d' ' ".execute().text.trim()
|
2021-04-08 07:49:42 +00:00
|
|
|
} catch (java.io.IOException e) {
|
|
|
|
System.err.println("WARNING: Could not run sinfo to determine current cluster, defaulting to rackham")
|
|
|
|
}
|
2021-04-07 15:07:49 +00:00
|
|
|
|
2021-04-08 07:45:29 +00:00
|
|
|
// 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
|
|
|
|
}
|
2021-04-07 15:07:49 +00:00
|
|
|
|
2021-04-08 07:45:29 +00:00
|
|
|
if (m < 250.GB) {
|
|
|
|
return base + " -p node -C mem256GB "
|
|
|
|
}
|
2021-04-07 15:07:49 +00:00
|
|
|
|
2021-04-08 07:45:29 +00:00
|
|
|
// 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 {
|
2018-11-23 15:56:34 +00:00
|
|
|
executor = 'slurm'
|
2021-04-07 15:07:49 +00:00
|
|
|
clusterOptions = { clusterOptionsCreator(task.memory) }
|
2018-11-23 15:56:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
params {
|
2020-09-28 11:59:42 +00:00
|
|
|
save_reference = true
|
2019-01-07 13:25:06 +00:00
|
|
|
|
2021-04-12 17:21:58 +00:00
|
|
|
max_memory = 500.GB
|
2018-11-23 15:56:34 +00:00
|
|
|
max_cpus = 16
|
|
|
|
max_time = 240.h
|
|
|
|
// illumina iGenomes reference file paths on UPPMAX
|
|
|
|
igenomes_base = '/sw/data/uppnex/igenomes/'
|
|
|
|
}
|
2019-12-05 10:49:44 +00:00
|
|
|
|
2021-04-12 17:32:21 +00:00
|
|
|
if (hostname ==~ "s[0-9][0-9]*") {
|
2021-04-07 15:07:49 +00:00
|
|
|
params.max_time = 700.h
|
2019-12-05 11:45:30 +00:00
|
|
|
}
|
|
|
|
|
2019-12-05 14:07:59 +00:00
|
|
|
if (hostname ==~ "i.*") {
|
2019-12-05 11:41:18 +00:00
|
|
|
params.max_memory = 250.GB
|
|
|
|
}
|
|
|
|
|
2019-12-05 14:18:01 +00:00
|
|
|
if (hostname ==~ "r.*") {
|
|
|
|
params.max_cpus = 20
|
2021-04-12 17:21:58 +00:00
|
|
|
params.max_memory = 970.GB
|
2019-12-05 14:18:01 +00:00
|
|
|
}
|
|
|
|
|
2019-12-05 10:49:44 +00:00
|
|
|
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'
|
|
|
|
}
|
2019-12-06 09:31:56 +00:00
|
|
|
}
|