This repository was archived by the owner on Jan 27, 2020. It is now read-only.
forked from nf-core/sarek
-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathbase.config
More file actions
104 lines (95 loc) · 3.66 KB
/
base.config
File metadata and controls
104 lines (95 loc) · 3.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/*
* -------------------------------------------------
* Nextflow config file for Sarek
* -------------------------------------------------
* Basic configuration for some process
* -------------------------------------------------
*/
includeConfig 'genomes.config'
wf_repository = 'maxulysse'
params {
// set up default params
containerPath = '' // Path to Singularity images
docker = false // Don't use Docker to build buildContainers.nf
download = false // Don't download reference files in buildReferences.nf
explicitBqsrNeeded = true // Enable recalibration in main.nf
genome = 'GRCh38' // Default reference genome is GRCh38
help = false // Don't give help information
max_cpus = 16 // Base specifications
max_memory = 128.GB // Base specifications
max_time = 240.h // Base specifications
more = false // Don't give version information
noBAMQC = false // Use BAMQC
noGVCF = false // HaplotypeCaller will output gVCF as well
noReports = false // Reports are made by default
nucleotidesPerSecond = 1000.0 // To estimate interval size by default
onlyQC = false // All process will be run and not only the QC tools
outDir = "${PWD}" // Path to output directory
push = false // Don't push container to DockerHub
repository = wf_repository // DockerHub containers repository
singularity = false // Don't use singularity to build buildContainers.nf
step = 'mapping' // Default step is mapping
strelkaBP = false // Don't use Manta's candidate indels as input to Strelka
tag = 'latest' // Default tag is latest, to be overwritten by --tag <version>
targetBED = false // no targets by default
test = false // Not testing by default
verbose = false // Enable for more verbose information
version = '2.1.0' // Workflow version
}
process {
withName:ConcatVCF {
// For unknown reasons, ConcatVCF sometimes fails with SIGPIPE
// (exit code 141). Rerunning the process will usually work.
errorStrategy = {task.exitStatus == 141 ? 'retry' : 'terminate'}
}
}
process.shell = ['/bin/bash', '-euo', 'pipefail']
report { // Turning on execution report by default
enabled = true
file = "${params.outDir}/Reports/Sarek_report.html"
}
timeline { // Turning on timeline tracking by default
enabled = true
file = "${params.outDir}/Reports/Sarek_timeline.html"
}
dag { // Turning on dag by default
enabled = true
file = "${params.outDir}/Reports/Sarek_DAG.svg"
}
trace { // Turning on trace tracking by default
enabled = true
fields = 'process,task_id,hash,name,attempt,status,exit,realtime,%cpu,vmem,rss,submit,start,complete,duration,realtime,rchar,wchar'
file = "${params.outDir}/Reports/Sarek_trace.txt"
}
// Function to ensure that resource requirements don't go beyond
// a maximum limit
def check_max(obj, type) {
if(type == 'memory'){
try {
if(obj.compareTo(params.max_memory as nextflow.util.MemoryUnit) == 1)
return params.max_memory as nextflow.util.MemoryUnit
else
return obj
} catch (all) {
println " ### ERROR ### Max memory '${params.max_memory}' is not valid! Using default value: $obj"
return obj
}
} else if(type == 'time'){
try {
if(obj.compareTo(params.max_time as nextflow.util.Duration) == 1)
return params.max_time as nextflow.util.Duration
else
return obj
} catch (all) {
println " ### ERROR ### Max time '${params.max_time}' is not valid! Using default value: $obj"
return obj
}
} else if(type == 'cpus'){
try {
return Math.min( obj, params.max_cpus as int )
} catch (all) {
println " ### ERROR ### Max cpus '${params.max_cpus}' is not valid! Using default value: $obj"
return obj
}
}
}