1
0
Fork 0
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:
Phil Ewels 2022-10-05 21:21:14 +02:00 committed by GitHub
commit 62d4e0d06b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 92 additions and 97 deletions

View file

@ -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) {
} }
} }
} }

View file

@ -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) {
} }
} }
} }

View file

@ -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' ) }
} }
} }

View file

@ -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' {

View file

@ -1,39 +1,25 @@
/* // Sheffield Bioinformatics Core Configuration Profile - ShARC
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Base Institutional Configuration
Sheffield Bioinformatics Core Configuration Profile - ShARC
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Base Institutional Configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
// nf-core specific parameters displayed in header summary of each run
params { params {
// nf-core specific parameters displayed in header summary of each run
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
}