mirror of
https://github.com/MillironX/nf-configs.git
synced 2024-11-24 09:09:56 +00:00
Merge pull request #425 from sheffield-bioinformatics-core/sbc_sharc
Updates to sbc_sharc configs
This commit is contained in:
commit
62d4e0d06b
5 changed files with 92 additions and 97 deletions
|
@ -1,35 +1,33 @@
|
||||||
/*
|
// Sheffield Bioinformatics Core Configuration Profile - ShARC
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
// Custom Pipeline Resource Config for nf-core/atacseq
|
||||||
|
|
||||||
Sheffield Bioinformatics Core Configuration Profile - ShARC
|
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Custom Pipeline Resource Config for nf-core/atacseq
|
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
// process-specific resource requirements - reduced specification from those in atacseq/conf/base.config
|
// process-specific resource requirements - reduced specification from those in atacseq/conf/base.config
|
||||||
|
|
||||||
process {
|
process {
|
||||||
|
|
||||||
|
// error and retry handling
|
||||||
|
|
||||||
|
errorStrategy = { task.exitStatus in [143,137,104,134,139,140] ? 'retry' : 'finish' }
|
||||||
|
maxRetries = 2
|
||||||
|
|
||||||
|
|
||||||
|
// process labels
|
||||||
|
|
||||||
withLabel:process_low {
|
withLabel:process_low {
|
||||||
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 4.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 12.GB * task.attempt, 'memory' ) }
|
||||||
time = { check_max( 4.h * task.attempt, 'time' ) }
|
time = { check_max( 4.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
withLabel:process_medium {
|
withLabel:process_medium {
|
||||||
cpus = { check_max( 4 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 4 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 8.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 32.GB * task.attempt, 'memory' ) }
|
||||||
time = { check_max( 6.h * task.attempt, 'time' ) }
|
time = { check_max( 6.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
withLabel:process_high {
|
withLabel:process_high {
|
||||||
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 128.GB * task.attempt, 'memory' ) }
|
||||||
time = { check_max( 8.h * task.attempt, 'time' ) }
|
time = { check_max( 8.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,3 +70,4 @@ def check_max(obj, type) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,33 @@
|
||||||
/*
|
// Sheffield Bioinformatics Core Configuration Profile - ShARC
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
// Custom Pipeline Resource Config for nf-core/chipseq
|
||||||
|
|
||||||
Sheffield Bioinformatics Core Configuration Profile - ShARC
|
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Custom Pipeline Resource Config for nf-core/chipseq
|
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
// process-specific resource requirements - reduced specification from those in chipseq/conf/base.config
|
// process-specific resource requirements - reduced specification from those in chipseq/conf/base.config
|
||||||
|
|
||||||
process {
|
process {
|
||||||
|
|
||||||
|
// error and retry handling
|
||||||
|
|
||||||
|
errorStrategy = { task.exitStatus in [143,137,104,134,139,140] ? 'retry' : 'finish' }
|
||||||
|
maxRetries = 2
|
||||||
|
|
||||||
|
|
||||||
|
// process labels
|
||||||
|
|
||||||
withLabel:process_low {
|
withLabel:process_low {
|
||||||
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 4.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 12.GB * task.attempt, 'memory' ) }
|
||||||
time = { check_max( 4.h * task.attempt, 'time' ) }
|
time = { check_max( 4.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
withLabel:process_medium {
|
withLabel:process_medium {
|
||||||
cpus = { check_max( 4 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 4 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 8.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 32.GB * task.attempt, 'memory' ) }
|
||||||
time = { check_max( 6.h * task.attempt, 'time' ) }
|
time = { check_max( 6.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
withLabel:process_high {
|
withLabel:process_high {
|
||||||
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 128.GB * task.attempt, 'memory' ) }
|
||||||
time = { check_max( 8.h * task.attempt, 'time' ) }
|
time = { check_max( 8.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,3 +70,4 @@ def check_max(obj, type) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,33 @@
|
||||||
/*
|
// Sheffield Bioinformatics Core Configuration Profile - ShARC
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
// Custom Pipeline Resource Config for nf-core/rnaseq
|
||||||
|
|
||||||
Sheffield Bioinformatics Core Configuration Profile - ShARC
|
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Custom Pipeline Resource Config for nf-core/rnaseq
|
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
// process-specific resource requirements - reduced specification from those in rnaseq/conf/base.config
|
// process-specific resource requirements - reduced specification from those in rnaseq/conf/base.config
|
||||||
|
|
||||||
process {
|
process {
|
||||||
|
|
||||||
|
// error and retry handling
|
||||||
|
|
||||||
|
errorStrategy = { task.exitStatus in [143,137,104,134,139,140] ? 'retry' : 'finish' }
|
||||||
|
maxRetries = 2
|
||||||
|
|
||||||
|
|
||||||
|
// process labels
|
||||||
|
|
||||||
withLabel:process_low {
|
withLabel:process_low {
|
||||||
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 4.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 12.GB * task.attempt, 'memory' ) }
|
||||||
time = { check_max( 4.h * task.attempt, 'time' ) }
|
time = { check_max( 4.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
withLabel:process_medium {
|
withLabel:process_medium {
|
||||||
cpus = { check_max( 4 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 4 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 8.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 32.GB * task.attempt, 'memory' ) }
|
||||||
time = { check_max( 6.h * task.attempt, 'time' ) }
|
time = { check_max( 6.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
withLabel:process_high {
|
withLabel:process_high {
|
||||||
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 128.GB * task.attempt, 'memory' ) }
|
||||||
time = { check_max( 8.h * task.attempt, 'time' ) }
|
time = { check_max( 8.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,7 +36,7 @@ process {
|
||||||
}
|
}
|
||||||
|
|
||||||
withLabel:process_high_memory {
|
withLabel:process_high_memory {
|
||||||
memory = { check_max( 60.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 160.GB * task.attempt, 'memory' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,38 +1,33 @@
|
||||||
/*
|
// Sheffield Bioinformatics Core Configuration Profile - ShARC
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
// Custom Pipeline Resource Config for nf-core/sarek
|
||||||
|
|
||||||
Sheffield Bioinformatics Core Configuration Profile - ShARC
|
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Custom Pipeline Resource Config for nf-core/sarek
|
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
// process-specific resource requirements - reduced specification from those in sarek/conf/base.config
|
// process-specific resource requirements - reduced specification from those in sarek/conf/base.config
|
||||||
|
|
||||||
process {
|
process {
|
||||||
|
|
||||||
|
// error and retry handling
|
||||||
|
|
||||||
|
errorStrategy = { task.exitStatus in [143,137,104,134,139,140,247] ? 'retry' : 'finish' }
|
||||||
|
maxRetries = 2
|
||||||
|
|
||||||
|
|
||||||
// process labels
|
// process labels
|
||||||
|
|
||||||
withLabel:process_low {
|
withLabel:process_low {
|
||||||
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 2 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 4.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
|
||||||
time = { check_max( 4.h * task.attempt, 'time' ) }
|
time = { check_max( 4.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
withLabel:process_medium {
|
withLabel:process_medium {
|
||||||
cpus = { check_max( 4 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 6 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 8.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 72.GB * task.attempt, 'memory' ) }
|
||||||
time = { check_max( 6.h * task.attempt, 'time' ) }
|
time = { check_max( 6.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
withLabel:process_high {
|
withLabel:process_high {
|
||||||
cpus = { check_max( 8 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 12 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 192.GB * task.attempt, 'memory' ) }
|
||||||
time = { check_max( 8.h * task.attempt, 'time' ) }
|
time = { check_max( 8.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +36,7 @@ process {
|
||||||
}
|
}
|
||||||
|
|
||||||
withLabel:process_high_memory {
|
withLabel:process_high_memory {
|
||||||
memory = { check_max( 60.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 240.GB * task.attempt, 'memory' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,7 +44,7 @@ process {
|
||||||
|
|
||||||
withName:'BWAMEM1_MEM|BWAMEM2_MEM' {
|
withName:'BWAMEM1_MEM|BWAMEM2_MEM' {
|
||||||
cpus = { check_max( 12 * task.attempt, 'cpus' ) }
|
cpus = { check_max( 12 * task.attempt, 'cpus' ) }
|
||||||
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 192.GB * task.attempt, 'memory' ) }
|
||||||
time = { check_max( 8.h * task.attempt, 'time' ) }
|
time = { check_max( 8.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,11 +61,13 @@ process {
|
||||||
}
|
}
|
||||||
|
|
||||||
withName:'GATK4_APPLYBQSR|GATK4_APPLYBQSR_SPARK|GATK4_BASERECALIBRATOR|GATK4_GATHERBQSRREPORTS' {
|
withName:'GATK4_APPLYBQSR|GATK4_APPLYBQSR_SPARK|GATK4_BASERECALIBRATOR|GATK4_GATHERBQSRREPORTS' {
|
||||||
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
|
memory = { check_max( 72.GB * task.attempt, 'memory' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
withName:'GATK4_MARKDUPLICATES' {
|
withName:'GATK4_MARKDUPLICATES' {
|
||||||
memory = { check_max( 16.GB * task.attempt, 'memory' ) }
|
cpus = { check_max( 12 * task.attempt, 'cpus' ) }
|
||||||
|
memory = { check_max( 240.GB * task.attempt, 'memory' ) }
|
||||||
|
time = { check_max( 12.h * task.attempt, 'time' ) }
|
||||||
}
|
}
|
||||||
|
|
||||||
withName:'FREEBAYES|SAMTOOLS_STATS|SAMTOOLS_INDEX|UNZIP' {
|
withName:'FREEBAYES|SAMTOOLS_STATS|SAMTOOLS_INDEX|UNZIP' {
|
||||||
|
|
|
@ -1,39 +1,25 @@
|
||||||
/*
|
// Sheffield Bioinformatics Core Configuration Profile - ShARC
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
// Base Institutional Configuration
|
||||||
|
|
||||||
Sheffield Bioinformatics Core Configuration Profile - ShARC
|
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
Base Institutional Configuration
|
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
params {
|
|
||||||
|
|
||||||
// nf-core specific parameters displayed in header summary of each run
|
// nf-core specific parameters displayed in header summary of each run
|
||||||
|
|
||||||
|
params {
|
||||||
|
|
||||||
config_profile_description = 'Sheffield Bioinformatics Core - ShARC'
|
config_profile_description = 'Sheffield Bioinformatics Core - ShARC'
|
||||||
config_profile_contact = 'Lewis Quayle (l.quayle@sheffield.ac.uk)'
|
config_profile_contact = 'Lewis Quayle (l.quayle@sheffield.ac.uk)'
|
||||||
config_profile_url = 'https://docs.hpc.shef.ac.uk/en/latest/sharc/index.html'
|
config_profile_url = 'https://docs.hpc.shef.ac.uk/en/latest/sharc/index.html'
|
||||||
|
|
||||||
// hpc resource limits
|
|
||||||
|
|
||||||
max_cpus = 16
|
|
||||||
max_memory = 64.GB
|
|
||||||
max_time = 96.h
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// container engine
|
// hpc resource limits
|
||||||
|
|
||||||
singularity {
|
params {
|
||||||
|
|
||||||
enabled = true
|
max_cpus = 16
|
||||||
autoMounts = true
|
max_memory = 256.GB
|
||||||
|
max_time = 96.h
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,11 +33,27 @@ process {
|
||||||
executor = 'sge'
|
executor = 'sge'
|
||||||
penv = 'smp'
|
penv = 'smp'
|
||||||
queue = { task.time <= 6.h ? 'shortint.q' : 'all.q' }
|
queue = { task.time <= 6.h ? 'shortint.q' : 'all.q' }
|
||||||
clusterOptions = { "-l rmem=${task.memory.toGiga()}G" }
|
clusterOptions = { "-l rmem=${ (task.memory.toGiga() / task.cpus) }G" }
|
||||||
|
|
||||||
// error and retry handling
|
|
||||||
|
|
||||||
errorStrategy = { task.exitStatus in [143,137,104,134,139,140] ? 'retry' : 'finish' }
|
|
||||||
maxRetries = 2
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// optional executor settings
|
||||||
|
|
||||||
|
executor {
|
||||||
|
|
||||||
|
queueSize = 10
|
||||||
|
submitRateLimit = '1 sec'
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// container engine
|
||||||
|
|
||||||
|
singularity {
|
||||||
|
|
||||||
|
enabled = true
|
||||||
|
autoMounts = true
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue