-
Notifications
You must be signed in to change notification settings - Fork 45
/
base.config
157 lines (142 loc) · 5.16 KB
/
base.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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
params {
wf {
// container sha
e2l_base_tag = "sha2b856c1f358ddf1576217a336bc0e9864b6dc0ed"
e2l_snp_tag = "sha17e686336bf6305f9c90b36bc52ff9dd1fa73ee9"
e2l_sv_tag = "shac591518dd32ecc3936666c95ff08f6d7474e9728"
e2l_mod_tag = "shaa7bf2b62946eeb7646b9b9d60b892edfc3b3a52c"
cnv_tag = "sha428cb19e51370020ccf29ec2af4eead44c6a17c2"
str_tag = "shadd2f2963fe39351d4e0d6fa3ca54e1064c6ec057"
spectre_tag = "sha49a9fe474da9860f84f08f17f137b47a010b1834"
snpeff_tag = "shadcc812849019640d4d2939703fbb8777256e41ad"
common_sha = "shad28e55140f75a68f59bbecc74e880aeab16ab158"
}
}
// used by default for "standard" (docker) and singularity profiles,
// other profiles may override.
process {
container = "ontresearch/wf-human-variation:${params.wf.e2l_base_tag}"
withLabel:wf_human_snp {
container = "ontresearch/wf-human-variation-snp:${params.wf.e2l_snp_tag}"
}
withLabel:wf_human_sv {
container = "ontresearch/wf-human-variation-sv:${params.wf.e2l_sv_tag}"
}
withLabel:wf_human_mod {
container = "ontresearch/modkit:${params.wf.e2l_mod_tag}"
}
withLabel:wf_cnv {
container = "ontresearch/wf-cnv:${params.wf.cnv_tag}"
}
withLabel:wf_human_str {
container = "ontresearch/wf-human-variation-str:${params.wf.str_tag}"
}
withLabel:snpeff_annotation {
container = "ontresearch/snpeff:${params.wf.snpeff_tag}"
}
withLabel:wf_common {
container = "ontresearch/wf-common:${params.wf.common_sha}"
}
withLabel:spectre {
container = "ontresearch/spectre:${params.wf.spectre_tag}"
}
shell = ['/bin/bash', '-euo', 'pipefail']
// by default GPU tasks will run in serial to avoid GPU management.
// cluster and cloud users can remove this with -profile discrete_gpus.
// we use profiles to handle this as maxForks cannot be set dynamically
// see https://github.com/nextflow-io/nextflow/discussions/3806 and CW-1857
withLabel:gpu {
maxForks = 1
}
}
profiles {
// the "standard" profile is used implicitely by nextflow
// if no other profile is given on the CLI
standard {
docker {
enabled = true
// this ensures container is run as host user and group, but
// also adds host user to the within-container group
runOptions = "--user \$(id -u):\$(id -g) --group-add 100"
}
process."withLabel:gpu".containerOptions = "--gpus all"
}
// using singularity instead of docker
singularity {
singularity {
enabled = true
autoMounts = true
//envWhitelist = "" // if your cluster sets a variable to indicate which GPU has been assigned you will want to allow it here
}
process."withLabel:gpu".containerOptions = "--nv"
}
// keep stub conda profile to prevent unknown profile warning so users get a better error
conda {
conda {
enabled = true
}
}
// Using AWS batch.
// May need to set aws.region and aws.batch.cliPath
awsbatch {
process {
executor = 'awsbatch'
queue = { "${params.aws_queue}" }
memory = '8G'
container = { "${params.aws_image_prefix}-wf-human-variation:${params.wf.e2l_base_tag}" }
withLabel:wf_human_snp {
container = { "${params.aws_image_prefix}-wf-human-variation-snp:${params.wf.e2l_snp_tag}" }
}
withLabel:wf_human_sv {
container = { "${params.aws_image_prefix}-wf-human-variation-sv:${params.wf.e2l_sv_tag}" }
}
withLabel:wf_human_mod {
container = { "${params.aws_image_prefix}-modkit:${params.wf.e2l_mod_tag}" }
}
withLabel:wf_cnv {
container = { "${params.aws_image_prefix}-wf-cnv:${params.wf.cnv_tag}-root" }
}
withLabel:wf_human_str {
container = { "${params.aws_image_prefix}-wf-human-variation-str:${params.wf.str_tag}" }
}
withLabel:snpeff_annotation {
container = "${params.aws_image_prefix}-snpeff:${params.wf.snpeff_tag}"
}
withLabel:wf_common {
container = "${params.aws_image_prefix}-wf-common:${params.wf.common_sha}"
}
withLabel:spectre {
container = "${params.aws_image_prefix}-spectre:${params.wf.spectre_tag}"
}
shell = ['/bin/bash', '-euo', 'pipefail']
}
}
// local profile for simplified development testing
local {
process.executor = 'local'
}
// lift limit on simultaneous gpu jobs
discrete_gpus {
process."withLabel:gpu".maxForks = null
}
}
timeline {
enabled = true
file = "${params.out_dir}/execution/timeline.html"
overwrite = true
}
report {
enabled = true
file = "${params.out_dir}/execution/report.html"
overwrite = true
}
trace {
enabled = true
file = "${params.out_dir}/execution/trace.txt"
overwrite = true
}
env {
PYTHONNOUSERSITE = 1
JAVA_TOOL_OPTIONS = "-Xlog:disable -Xlog:all=warning:stderr"
RUST_BACKTRACE = 1
}