-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathnextflow.config
178 lines (141 loc) · 4.51 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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
plugins { id '[email protected]' }
manifest {
name = 'Lodestone'
author = """Anna Price, Tom Whalley, Arthur Morris"""
homePage = 'https://github.com/pathogen-genomics-cymru/lodestone'
description = """Genomic Sequencing pipeline for Mycobacterial isolates"""
mainScript = 'main.nf'
nextflowVersion = '!>=20.0'
version = '0.9.9'
}
validation {
help {
enabled = true
}
// for now ignore parameters that are nested.
ignoreParams = ["kraken","afanc","bowtie","resistance","resources"]
}
params {
help = ""
// do we proceed after decontamination if an error occurs?
permissive = false
// glob pattern for input files
pattern = ""
output_dir = ""
input_dir = ""
// filetype fastq or bam
filetype = 'fastq'
// unmix myco 'yes' or 'no'
unmix_myco = false
// principal species in each sample, assuming genus Mycobacterium, default null
// otherwise takes 1 of 10 values: abscessus, africanum, avium, bovis, chelonae, chimaera, fortuitum, intracellulare, kansasii, tuberculosis
species = 'null'
// path to singularity recipes directory (needed to strip software versions in getversion)
sing_dir = "${baseDir}/singularity"
// path to this config file (needed to strip database versions in getversion)
config_file = "${baseDir}/nextflow.config"
//thresholds in kraken
kraken {
// % of reads needed to kept in kraken report and outright number of reads
kraken_percent_threshold = 10
kraken_n_reads_threshold = 10000
kraken_db = "kraken2"
}
afanc {
// as above
afanc_percent_threshold = 5
afanc_n_reads_threshold = 1000
// If a failure happened, more permissive threshold
afanc_fail_percent_threshold = 2
afanc_fail_n_reads_threshold = 500
afanc_myco_db = "${baseDir}/Mycobacteriaciae_DB_7.0/"
}
bowtie {
bowtie_index = "bowtie2"
bowtie_index_name = "hg19_1kgmaj"
}
resistance {
// resistance params
resistance_profiler = "tb-profiler"
collate = false
}
resources{
resource_dir = "${baseDir}/resources"
refseq = "${resource_dir}/assembly_summary_refseq.txt"
}
}
process {
withLabel:normal_cpu { cpus = 8 }
withLabel:low_memory { memory = '5GB' }
withLabel:medium_memory { memory = '10GB' }
withLabel:high_memory { memory = '18GB' }
}
profiles {
climb {
includeConfig 'config/climb_k8s.config'
includeConfig 'config/containers.config'
process{
//add in docker configs as the above config file is generic for any containerised run
docker.enabled = true
fixOwnership = true
runOptions = "-u \$(id -u):\$(id -g)"
k8s {
computeResourceType = 'Job'
}
//params specific to paths on the climb system
params{
bowtie {
bowtie2_index = "s3://microbial-bioin-sp3/bowtie_hg19"
bowtie_index_name = "hg19_1kgmaj"
}
kraken {
kraken_db = "s3://microbial-bioin-sp3/kraken_pluspf_16gb/"
}
afanc {
afanc_myco_db = "s3://microbial-bioin-sp3/Mycobacteriaciae_DB_7.0/"
}
resources {
resource_dir = "s3://microbial-bioin-sp3/lodestone_resources"
refseq = "${resource_dir}/assembly_summary_refseq.txt"
}
}
withLabel:getversion{
executor = "local"
container = null
}
withLabel:afanc_parse{
executor = "local"
container = null
}
}
}
singularity {
includeConfig 'config/containers.config'
singularity.enabled = 'true'
singularity.autoMounts = 'true'
//path to the singularity containers
singularity.cacheDir = "${baseDir}/singularity"
//stop tmpdir stuff
withLabel:new_tmp{
env.SINGULARITY_TMPDIR = '${task.workDir}'
}
}
sp3 {
includeConfig 'config/containers.config'
//add in singularity configs as the above config file is generic for any containerised run
singularity.enabled = 'true'
singularity.autoMounts = 'true'
// path to the singularity containers
singularity.cacheDir = "/data/images"
process {
scratch = true
}
}
docker {
includeConfig 'config/containers.config'
//add in docker configs as the above config file is generic for any containerised run
docker.enabled = true
fixOwnership = true
runOptions = "-u \$(id -u):\$(id -g)"
}
}