-
Notifications
You must be signed in to change notification settings - Fork 5
/
nextflow.config
134 lines (107 loc) · 3.57 KB
/
nextflow.config
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
// Please do not change the order of the numbered sections!
// The expected order is: 1. Parameters - 2. Profiles - 3. Process - 4. Executor
// There is a high chance it would break the configuration of 'profiles'
// 1. Parameters
// NOTE:
// Initialise the values of the params to the preferred default value or to false
// biograph full_pipeline --biograph my.bg --ref hs37d5/ \
// --reads /path/to/my_reads.bam \
// --model /path/to/biograph_model-6.0.5.ml \
// --tmp /path/to/large/tmp/
params {
// input options
input_tsv = false
reference_tar_gz = false
bedfile = 'NO_FILE'
outdir = 'results'
// report_dir is:
// - the folder from the container that includes the scripts for NF <= v20.01 (bin)
// - the ${projectDir}/bin folder of the root of the repo with the scripts for NF >= v20.10
report_dir = '/opt/bin/'
// when set to true, prints help and exits
help = false
// container for all processes, excluding those defined with 'withName' (see example below)
container = 'quay.io/lifebitai/ubuntu:18.10'
// process resources defaults
cpus = 2
memory = 4.GB
disk = '120.GB'
biograph_cpus = 20
biograph_memory = 120.GB
biograph_maxmem = 120
biograph_error_msg = 'Segmentation Fault'
// max resources limits defaults
max_cpus = 128
max_memory = 120.GB
max_time = 8.h
// execution related defaults
config = 'conf/standard.config'
echo = true
errorStrategy = 'ignore'
maxRetries = 5
maxForks = 200
queueSize = 10
executor = false
// google-lifesciences
gls_bootDiskSize = '50.GB'
gls_preemptible = true
zone = 'us-east1-b'
network = 'default'
subnetwork = 'default'
}
// 2. Profiles
// Do not update the order because the values set in params scope will not be overwritten
// Do not attempt to simplify to
// includeConfig params.config
// outside of profiles scope, it will fail to update the values of the params
profiles {
standard {includeConfig params.config}
docker { docker.enabled = true }
base {includeConfig 'conf/base.config'}
google {includeConfig 'conf/google.config'}
test {includeConfig 'conf/test.config'}
local {includeConfig 'conf/test.config'}
}
// 3. Process
// Do not change order of block, must follow after profiles scope (last section that updates params)
process {
echo = params.echo
cpus = params.cpus
memory = params.memory
maxRetries = params.maxRetries
maxForks = params.maxForks
container = params.container
errorStrategy = params.errorStrategy
// If your pipeline doesn't include a process named 'step_1', update the name to match your process of choice or delete this block
withName: step_1 {
cpus = params.biograph_cpus
memory = params.biograph_memory
echo = true
}
withName: biograph {
maxForks = params.maxForks
disk = '200.GB'
cpus = params.biograph_cpus
memory = params.biograph_memory
echo = true
container = 'spiralgenetics/biograph:biograph-7.0.0'
}
}
// 4. Executor
executor {
name = params.executor
queueSize = params.queueSize
}
timeline {
enabled = true
file = "${params.outdir}/pipeline_info/execution_timeline.html"
}
report {
enabled = true
file = "${params.outdir}/pipeline_info/execution_report.html"
}
trace {
enabled = true
file = "${params.outdir}/pipeline_info/execution_trace.txt"
fields = 'task_id,process,tag,name,status,exit,cpus,%cpu,memory,%mem,rss,vmem,peak_rss,peak_vmem,disk,wchar,time,realtime,attempt,duration'
}