annotate 0.4.2/conf/modules.config @ 137:421ba3230421

planemo upload
author kkonganti
date Mon, 08 Jul 2024 10:10:48 -0400
parents cbb06f201be5
children e051ec4961c3
rev   line source
kkonganti@130 1 process {
kkonganti@130 2 publishDir = [
kkonganti@130 3 path: {
kkonganti@130 4 "${task.process.tokenize(':')[-1].toLowerCase()}" == "multiqc" ?
kkonganti@130 5 "${params.output}${params.fs}${params.pipeline.toLowerCase()}-${task.process.tokenize(':')[-1].toLowerCase()}" :
kkonganti@130 6 "${params.output}${params.fs}${task.process.tokenize(':')[-1].toLowerCase()}"
kkonganti@130 7 },
kkonganti@130 8 mode: params.publish_dir_mode,
kkonganti@130 9 overwrite: params.publish_dir_overwrite,
kkonganti@130 10 saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
kkonganti@130 11 ]
kkonganti@130 12
kkonganti@130 13 errorStrategy = {
kkonganti@130 14 ![0].contains(task.exitStatus) ? dynamic_retry(task.attempt, 10) : 'finish'
kkonganti@130 15 }
kkonganti@130 16
kkonganti@137 17 maxRetries = 2
kkonganti@130 18
kkonganti@130 19 withLabel: 'process_femto' {
kkonganti@132 20 cpus = { 1 * task.attempt }
kkonganti@132 21 memory = { 1.GB * task.attempt }
kkonganti@132 22 time = { 1.h * task.attempt }
kkonganti@130 23 }
kkonganti@130 24
kkonganti@130 25 withLabel: 'process_pico' {
kkonganti@132 26 cpus = { 2 * task.attempt }
kkonganti@132 27 memory = { 4.GB * task.attempt }
kkonganti@132 28 time = { 2.h * task.attempt }
kkonganti@130 29 }
kkonganti@130 30
kkonganti@130 31 withLabel: 'process_nano' {
kkonganti@132 32 cpus = { 4 * task.attempt }
kkonganti@132 33 memory = { 8.GB * task.attempt }
kkonganti@132 34 time = { 4.h * task.attempt }
kkonganti@130 35 }
kkonganti@130 36
kkonganti@130 37 withLabel: 'process_micro' {
kkonganti@132 38 cpus = { 8 * task.attempt }
kkonganti@132 39 memory = { 16.GB * task.attempt }
kkonganti@132 40 time = { 8.h * task.attempt }
kkonganti@130 41 }
kkonganti@130 42
kkonganti@130 43 withLabel: 'process_only_mem_low' {
kkonganti@132 44 cpus = { 1 * task.attempt }
kkonganti@132 45 memory = { 60.GB * task.attempt }
kkonganti@132 46 time = { 20.h * task.attempt }
kkonganti@130 47 }
kkonganti@130 48
kkonganti@130 49 withLabel: 'process_only_mem_medium' {
kkonganti@132 50 cpus = { 1 * task.attempt }
kkonganti@132 51 memory = { 100.GB * task.attempt }
kkonganti@132 52 time = { 30.h * task.attempt }
kkonganti@130 53 }
kkonganti@130 54
kkonganti@130 55 withLabel: 'process_only_mem_high' {
kkonganti@132 56 cpus = { 1 * task.attempt }
kkonganti@132 57 memory = { 128.GB * task.attempt }
kkonganti@132 58 time = { 60.h * task.attempt }
kkonganti@130 59 }
kkonganti@130 60
kkonganti@130 61 withLabel: 'process_low' {
kkonganti@132 62 cpus = { 10 * task.attempt }
kkonganti@132 63 memory = { 60.GB * task.attempt }
kkonganti@132 64 time = { 20.h * task.attempt }
kkonganti@130 65 }
kkonganti@130 66
kkonganti@130 67 withLabel: 'process_medium' {
kkonganti@132 68 cpus = { 10 * task.attempt }
kkonganti@132 69 memory = { 100.GB * task.attempt }
kkonganti@132 70 time = { 30.h * task.attempt }
kkonganti@130 71 }
kkonganti@130 72
kkonganti@130 73 withLabel: 'process_high' {
kkonganti@132 74 cpus = { 10 * task.attempt }
kkonganti@132 75 memory = { 128.GB * task.attempt }
kkonganti@132 76 time = { 60.h * task.attempt }
kkonganti@130 77 }
kkonganti@130 78
kkonganti@130 79 withLabel: 'process_higher' {
kkonganti@132 80 cpus = { 10 * task.attempt }
kkonganti@132 81 memory = { 256.GB * task.attempt }
kkonganti@132 82 time = { 60.h * task.attempt }
kkonganti@130 83 }
kkonganti@130 84
kkonganti@130 85 withLabel: 'process_gigantic' {
kkonganti@132 86 cpus = { 10 * task.attempt }
kkonganti@132 87 memory = { 512.GB * task.attempt }
kkonganti@132 88 time = { 60.h * task.attempt }
kkonganti@130 89 }
kkonganti@130 90 }
kkonganti@130 91
kkonganti@130 92 if ( (params.input || params.metadata ) && params.pipeline ) {
kkonganti@130 93 try {
kkonganti@130 94 includeConfig "${params.workflowsconf}${params.fs}process${params.fs}${params.pipeline}.process.config"
kkonganti@130 95 } catch (Exception e) {
kkonganti@130 96 System.err.println('-'.multiply(params.linewidth) + "\n" +
kkonganti@130 97 "\033[0;31m${params.cfsanpipename} - ERROR\033[0m\n" +
kkonganti@130 98 '-'.multiply(params.linewidth) + "\n" + "\033[0;31mCould not load " +
kkonganti@130 99 "default pipeline's process configuration. Please provide a pipeline \n" +
kkonganti@130 100 "name using the --pipeline option.\n\033[0m" + '-'.multiply(params.linewidth) + "\n")
kkonganti@130 101 System.exit(1)
kkonganti@130 102 }
kkonganti@130 103 }
kkonganti@130 104
kkonganti@130 105 // Function will return after sleeping for some time.
kkonganti@130 106 // Sleep time increases exponentially by task attempt.
kkonganti@130 107 def dynamic_retry(task_retry_num, factor_by) {
kkonganti@130 108 // sleep(Math.pow(2, task_retry_num.toInteger()) * factor_by.toInteger() as long)
kkonganti@130 109 sleep(Math.pow(1.27, task_retry_num.toInteger()) as long)
kkonganti@130 110 return 'retry'
kkonganti@130 111 }