kkonganti@1
|
1 // Define any required imports for this specific workflow
|
kkonganti@1
|
2 import java.nio.file.Paths
|
kkonganti@1
|
3 import java.util.zip.GZIPInputStream
|
kkonganti@1
|
4 import java.io.FileInputStream
|
kkonganti@1
|
5 import nextflow.file.FileHelper
|
kkonganti@1
|
6
|
kkonganti@1
|
7
|
kkonganti@1
|
8 // Include any necessary methods
|
kkonganti@1
|
9 include { \
|
kkonganti@1
|
10 summaryOfParams; stopNow; fastqEntryPointHelp; sendMail; \
|
kkonganti@1
|
11 addPadding; wrapUpHelp } from "${params.routines}"
|
kkonganti@1
|
12 include { bbmergeHelp } from "${params.toolshelp}${params.fs}bbmerge"
|
kkonganti@1
|
13 include { fastpHelp } from "${params.toolshelp}${params.fs}fastp"
|
kkonganti@1
|
14 include { mashscreenHelp } from "${params.toolshelp}${params.fs}mashscreen"
|
kkonganti@1
|
15 include { tuspyHelp } from "${params.toolshelp}${params.fs}tuspy"
|
kkonganti@1
|
16 include { sourmashsketchHelp } from "${params.toolshelp}${params.fs}sourmashsketch"
|
kkonganti@1
|
17 include { sourmashgatherHelp } from "${params.toolshelp}${params.fs}sourmashgather"
|
kkonganti@1
|
18 include { sourmashsearchHelp } from "${params.toolshelp}${params.fs}sourmashsearch"
|
kkonganti@1
|
19 include { sfhpyHelp } from "${params.toolshelp}${params.fs}sfhpy"
|
kkonganti@1
|
20 include { kmaindexHelp } from "${params.toolshelp}${params.fs}kmaindex"
|
kkonganti@1
|
21 include { kmaalignHelp } from "${params.toolshelp}${params.fs}kmaalign"
|
kkonganti@1
|
22 include { salmonidxHelp } from "${params.toolshelp}${params.fs}salmonidx"
|
kkonganti@1
|
23 include { gsrpyHelp } from "${params.toolshelp}${params.fs}gsrpy"
|
kkonganti@1
|
24
|
kkonganti@1
|
25 // Exit if help requested before any subworkflows
|
kkonganti@1
|
26 if (params.help) {
|
kkonganti@1
|
27 log.info help()
|
kkonganti@1
|
28 exit 0
|
kkonganti@1
|
29 }
|
kkonganti@1
|
30
|
kkonganti@1
|
31
|
kkonganti@1
|
32 // Include any necessary modules and subworkflows
|
kkonganti@1
|
33 include { PROCESS_FASTQ } from "${params.subworkflows}${params.fs}process_fastq"
|
kkonganti@1
|
34 include { CAT_CAT } from "${params.modules}${params.fs}cat_cat${params.fs}main"
|
kkonganti@1
|
35 include { FASTQC } from "${params.modules}${params.fs}fastqc${params.fs}main"
|
kkonganti@1
|
36 include { BBTOOLS_BBMERGE } from "${params.modules}${params.fs}bbtools${params.fs}bbmerge${params.fs}main"
|
kkonganti@1
|
37 include { FASTP } from "${params.modules}${params.fs}fastp${params.fs}main"
|
kkonganti@1
|
38 include { MASH_SCREEN } from "${params.modules}${params.fs}mash${params.fs}screen${params.fs}main"
|
kkonganti@1
|
39 include { TOP_UNIQUE_SEROVARS } from "${params.modules}${params.fs}top_unique_serovars${params.fs}main"
|
kkonganti@1
|
40 include { SOURMASH_SKETCH } from "${params.modules}${params.fs}sourmash${params.fs}sketch${params.fs}main"
|
kkonganti@1
|
41 include { SOURMASH_GATHER } from "${params.modules}${params.fs}sourmash${params.fs}gather${params.fs}main"
|
kkonganti@1
|
42 include { SOURMASH_SEARCH } from "${params.modules}${params.fs}sourmash${params.fs}search${params.fs}main"
|
kkonganti@1
|
43 include { KMA_INDEX } from "${params.modules}${params.fs}kma${params.fs}index${params.fs}main"
|
kkonganti@1
|
44 include { KMA_ALIGN } from "${params.modules}${params.fs}kma${params.fs}align${params.fs}main"
|
kkonganti@1
|
45 include { OTF_GENOME } from "${params.modules}${params.fs}otf_genome${params.fs}main"
|
kkonganti@1
|
46 include { SALMON_INDEX } from "${params.modules}${params.fs}salmon${params.fs}index${params.fs}main"
|
kkonganti@1
|
47 include { SALMON_QUANT } from "${params.modules}${params.fs}salmon${params.fs}quant${params.fs}main"
|
kkonganti@1
|
48 include { SOURMASH_COMPARE } from "${params.modules}${params.fs}custom${params.fs}sourmash${params.fs}compare${params.fs}main"
|
kkonganti@1
|
49 include { BCS_DISTANCE_MATRIX } from "${params.modules}${params.fs}bcs_distance_matrix${params.fs}main"
|
kkonganti@1
|
50 include { BCS_RESULTS } from "${params.modules}${params.fs}bcs_results${params.fs}main"
|
kkonganti@1
|
51 include { DUMP_SOFTWARE_VERSIONS } from "${params.modules}${params.fs}custom${params.fs}dump_software_versions${params.fs}main"
|
kkonganti@1
|
52 include { MULTIQC } from "${params.modules}${params.fs}multiqc${params.fs}main"
|
kkonganti@1
|
53
|
kkonganti@1
|
54 /*
|
kkonganti@1
|
55 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@1
|
56 INPUTS AND ANY CHECKS FOR THE BETTERCALLSAL WORKFLOW
|
kkonganti@1
|
57 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@1
|
58 */
|
kkonganti@1
|
59
|
kkonganti@1
|
60 def reads_platform = 0
|
kkonganti@1
|
61 def salmon_idx_decoys = file ( "${params.salmonidx_decoys}" )
|
kkonganti@1
|
62
|
kkonganti@1
|
63 reads_platform += (params.input ? 1 : 0)
|
kkonganti@1
|
64
|
kkonganti@1
|
65 if (reads_platform < 1 || reads_platform == 0) {
|
kkonganti@1
|
66 stopNow("Please mention at least one absolute path to input folder which contains\n" +
|
kkonganti@1
|
67 "FASTQ files sequenced using the --input option.\n" +
|
kkonganti@1
|
68 "Ex: --input (Illumina or Generic short reads in FASTQ format)")
|
kkonganti@1
|
69 }
|
kkonganti@1
|
70
|
kkonganti@1
|
71 checkMetadataExists(params.mash_sketch, 'MASH sketch')
|
kkonganti@1
|
72 checkMetadataExists(params.tuspy_ps, 'ACC2SERO pickle')
|
kkonganti@1
|
73 checkMetadataExists(params.gsrpy_snp_clus_metadata, 'PDG reference target cluster metadata')
|
kkonganti@1
|
74
|
kkonganti@1
|
75 /*
|
kkonganti@1
|
76 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@1
|
77 RUN THE BETTERCALLSAL WORKFLOW
|
kkonganti@1
|
78 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@1
|
79 */
|
kkonganti@1
|
80
|
kkonganti@1
|
81 workflow BETTERCALLSAL {
|
kkonganti@1
|
82 main:
|
kkonganti@1
|
83 log.info summaryOfParams()
|
kkonganti@1
|
84
|
kkonganti@1
|
85 PROCESS_FASTQ()
|
kkonganti@1
|
86
|
kkonganti@1
|
87 PROCESS_FASTQ
|
kkonganti@1
|
88 .out
|
kkonganti@1
|
89 .versions
|
kkonganti@1
|
90 .set { software_versions }
|
kkonganti@1
|
91
|
kkonganti@1
|
92 PROCESS_FASTQ
|
kkonganti@1
|
93 .out
|
kkonganti@1
|
94 .processed_reads
|
kkonganti@1
|
95 .set { ch_processed_reads }
|
kkonganti@1
|
96
|
kkonganti@1
|
97 if (params.bbmerge_run && !params.fq_single_end) {
|
kkonganti@1
|
98 ch_processed_reads
|
kkonganti@1
|
99 .map { meta, fastq ->
|
kkonganti@1
|
100 meta.adapters = (params.bbmerge_adapters ?: params.dummyfile)
|
kkonganti@1
|
101 [ meta, fastq ]
|
kkonganti@1
|
102 }
|
kkonganti@1
|
103 .set { ch_processed_reads }
|
kkonganti@1
|
104
|
kkonganti@1
|
105 BBTOOLS_BBMERGE( ch_processed_reads )
|
kkonganti@1
|
106
|
kkonganti@1
|
107 BBTOOLS_BBMERGE
|
kkonganti@1
|
108 .out
|
kkonganti@1
|
109 .fastq
|
kkonganti@1
|
110 .map { meta, fastq ->
|
kkonganti@1
|
111 [ meta, [ fastq ] ]
|
kkonganti@1
|
112 }
|
kkonganti@1
|
113 .set { ch_processed_reads }
|
kkonganti@1
|
114
|
kkonganti@1
|
115 software_versions
|
kkonganti@1
|
116 .mix ( BBTOOLS_BBMERGE.out.versions )
|
kkonganti@1
|
117 .set { software_versions }
|
kkonganti@1
|
118 }
|
kkonganti@1
|
119
|
kkonganti@1
|
120 if (params.fastp_run) {
|
kkonganti@1
|
121 FASTP ( ch_processed_reads )
|
kkonganti@1
|
122
|
kkonganti@1
|
123 FASTP
|
kkonganti@1
|
124 .out
|
kkonganti@1
|
125 .passed_reads
|
kkonganti@1
|
126 .set { ch_processed_reads }
|
kkonganti@1
|
127
|
kkonganti@1
|
128 FASTP
|
kkonganti@1
|
129 .out
|
kkonganti@1
|
130 .json
|
kkonganti@1
|
131 .map { meta, json -> [ json ] }
|
kkonganti@1
|
132 .collect()
|
kkonganti@1
|
133 .set { ch_multiqc }
|
kkonganti@1
|
134
|
kkonganti@1
|
135 software_versions
|
kkonganti@1
|
136 .mix ( FASTP.out.versions )
|
kkonganti@1
|
137 .set { software_versions }
|
kkonganti@1
|
138 } else {
|
kkonganti@1
|
139 FASTQC ( ch_processed_reads )
|
kkonganti@1
|
140
|
kkonganti@1
|
141 FASTQC
|
kkonganti@1
|
142 .out
|
kkonganti@1
|
143 .zip
|
kkonganti@1
|
144 .map { meta, zip -> [ zip ] }
|
kkonganti@1
|
145 .collect()
|
kkonganti@1
|
146 .set { ch_multiqc }
|
kkonganti@1
|
147
|
kkonganti@1
|
148 software_versions
|
kkonganti@1
|
149 .mix ( FASTQC.out.versions )
|
kkonganti@1
|
150 .set { software_versions }
|
kkonganti@1
|
151 }
|
kkonganti@1
|
152
|
kkonganti@1
|
153 if (params.bcs_concat_pe && !params.fq_single_end && !params.bbmerge_run) {
|
kkonganti@1
|
154 CAT_CAT ( ch_processed_reads )
|
kkonganti@1
|
155
|
kkonganti@1
|
156 CAT_CAT
|
kkonganti@1
|
157 .out
|
kkonganti@1
|
158 .concatenated_reads
|
kkonganti@1
|
159 .set { ch_processed_reads }
|
kkonganti@1
|
160
|
kkonganti@1
|
161 software_versions
|
kkonganti@1
|
162 .mix ( CAT_CAT.out.versions )
|
kkonganti@1
|
163 .set { software_versions }
|
kkonganti@1
|
164 }
|
kkonganti@1
|
165
|
kkonganti@1
|
166 ch_processed_reads
|
kkonganti@1
|
167 .map { meta, fastq ->
|
kkonganti@1
|
168 meta.sequence_sketch = params.mash_sketch
|
kkonganti@1
|
169 meta.get_kma_hit_accs = true
|
kkonganti@1
|
170 meta.single_end = true
|
kkonganti@1
|
171 meta.salmon_decoys = params.dummyfile
|
kkonganti@1
|
172 meta.salmon_lib_type = (params.salmonalign_libtype ?: false)
|
kkonganti@1
|
173 [ meta, fastq ]
|
kkonganti@1
|
174 }
|
kkonganti@1
|
175 .filter { meta, fastq ->
|
kkonganti@1
|
176 fq_file = ( fastq.getClass().toString() =~ /ArrayList/ ? fastq : [ fastq ] )
|
kkonganti@1
|
177 fq_gzip = new GZIPInputStream( new FileInputStream( fq_file[0].toString() ) )
|
kkonganti@1
|
178 fq_gzip.read() != -1
|
kkonganti@1
|
179 }
|
kkonganti@1
|
180 .set { ch_processed_reads }
|
kkonganti@1
|
181
|
kkonganti@1
|
182 MASH_SCREEN ( ch_processed_reads )
|
kkonganti@1
|
183
|
kkonganti@1
|
184 TOP_UNIQUE_SEROVARS ( MASH_SCREEN.out.screened )
|
kkonganti@1
|
185
|
kkonganti@1
|
186 TOP_UNIQUE_SEROVARS.out.genomes_fasta
|
kkonganti@1
|
187 .set { ch_genomes_fasta }
|
kkonganti@1
|
188
|
kkonganti@1
|
189 TOP_UNIQUE_SEROVARS.out.failed
|
kkonganti@1
|
190 .set { ch_bcs_calls_failed }
|
kkonganti@1
|
191
|
kkonganti@1
|
192 if (params.sourmashgather_run || params.sourmashsearch_run) {
|
kkonganti@1
|
193 SOURMASH_SKETCH (
|
kkonganti@1
|
194 ch_processed_reads
|
kkonganti@1
|
195 .join ( ch_genomes_fasta )
|
kkonganti@1
|
196 )
|
kkonganti@1
|
197
|
kkonganti@1
|
198 if (params.sourmashgather_run) {
|
kkonganti@1
|
199 SOURMASH_GATHER (
|
kkonganti@1
|
200 SOURMASH_SKETCH.out.signatures,
|
kkonganti@1
|
201 [], [], [], []
|
kkonganti@1
|
202 )
|
kkonganti@1
|
203
|
kkonganti@1
|
204 SOURMASH_GATHER
|
kkonganti@1
|
205 .out
|
kkonganti@1
|
206 .genomes_fasta
|
kkonganti@1
|
207 .set { ch_genomes_fasta }
|
kkonganti@1
|
208
|
kkonganti@1
|
209 ch_bcs_calls_failed
|
kkonganti@1
|
210 .concat( SOURMASH_GATHER.out.failed )
|
kkonganti@1
|
211 .set { ch_bcs_calls_failed }
|
kkonganti@1
|
212
|
kkonganti@1
|
213 software_versions
|
kkonganti@1
|
214 .mix ( SOURMASH_GATHER.out.versions.ifEmpty(null) )
|
kkonganti@1
|
215 .set { software_versions }
|
kkonganti@1
|
216 }
|
kkonganti@1
|
217
|
kkonganti@1
|
218 if (params.sourmashsearch_run) {
|
kkonganti@1
|
219 SOURMASH_SEARCH (
|
kkonganti@1
|
220 SOURMASH_SKETCH.out.signatures,
|
kkonganti@1
|
221 []
|
kkonganti@1
|
222 )
|
kkonganti@1
|
223
|
kkonganti@1
|
224 SOURMASH_SEARCH
|
kkonganti@1
|
225 .out
|
kkonganti@1
|
226 .genomes_fasta
|
kkonganti@1
|
227 .set { ch_genomes_fasta }
|
kkonganti@1
|
228
|
kkonganti@1
|
229 ch_bcs_calls_failed
|
kkonganti@1
|
230 .concat( SOURMASH_SEARCH.out.failed )
|
kkonganti@1
|
231 .set { ch_bcs_calls_failed }
|
kkonganti@1
|
232
|
kkonganti@1
|
233 software_versions
|
kkonganti@1
|
234 .mix ( SOURMASH_SEARCH.out.versions.ifEmpty(null) )
|
kkonganti@1
|
235 .set { software_versions }
|
kkonganti@1
|
236 }
|
kkonganti@1
|
237 }
|
kkonganti@1
|
238
|
kkonganti@1
|
239 KMA_INDEX ( ch_genomes_fasta )
|
kkonganti@1
|
240
|
kkonganti@1
|
241 KMA_ALIGN (
|
kkonganti@1
|
242 ch_processed_reads
|
kkonganti@1
|
243 .join(KMA_INDEX.out.idx)
|
kkonganti@1
|
244 )
|
kkonganti@1
|
245
|
kkonganti@1
|
246 OTF_GENOME ( KMA_ALIGN.out.hits )
|
kkonganti@1
|
247
|
kkonganti@1
|
248 OTF_GENOME.out.failed
|
kkonganti@1
|
249 .concat( ch_bcs_calls_failed )
|
kkonganti@1
|
250 .collectFile(name: 'BCS_NO_CALLS.txt')
|
kkonganti@1
|
251 .set { ch_bcs_no_calls }
|
kkonganti@1
|
252
|
kkonganti@1
|
253 SALMON_INDEX ( OTF_GENOME.out.genomes_fasta )
|
kkonganti@1
|
254
|
kkonganti@1
|
255 SALMON_QUANT (
|
kkonganti@1
|
256 ch_processed_reads
|
kkonganti@1
|
257 .join(SALMON_INDEX.out.idx)
|
kkonganti@1
|
258 )
|
kkonganti@1
|
259
|
kkonganti@1
|
260 SALMON_QUANT
|
kkonganti@1
|
261 .out
|
kkonganti@1
|
262 .results
|
kkonganti@1
|
263 .groupTuple(by: [0])
|
kkonganti@1
|
264 .map { it -> tuple ( it[1].flatten() ) }
|
kkonganti@1
|
265 .mix ( ch_bcs_no_calls )
|
kkonganti@1
|
266 .collect()
|
kkonganti@1
|
267 .set { ch_salmon_res_dirs }
|
kkonganti@1
|
268
|
kkonganti@1
|
269 if (params.sourmashsketch_run) {
|
kkonganti@1
|
270 SOURMASH_SKETCH
|
kkonganti@1
|
271 .out
|
kkonganti@1
|
272 .signatures
|
kkonganti@1
|
273 .groupTuple(by: [0])
|
kkonganti@1
|
274 .map { meta, qsigs, dsigs ->
|
kkonganti@1
|
275 [ qsigs ]
|
kkonganti@1
|
276 }
|
kkonganti@1
|
277 .collect()
|
kkonganti@1
|
278 .flatten()
|
kkonganti@1
|
279 .collect()
|
kkonganti@1
|
280 .set { ch_query_sigs }
|
kkonganti@1
|
281
|
kkonganti@1
|
282 KMA_ALIGN
|
kkonganti@1
|
283 .out
|
kkonganti@1
|
284 .hits
|
kkonganti@1
|
285 .map { meta, hits ->
|
kkonganti@1
|
286 [ hits ]
|
kkonganti@1
|
287 }
|
kkonganti@1
|
288 .collect()
|
kkonganti@1
|
289 .flatten()
|
kkonganti@1
|
290 .collectFile(name: 'accessions.txt')
|
kkonganti@1
|
291 .set { ch_otf_genomes }
|
kkonganti@1
|
292
|
kkonganti@1
|
293 SOURMASH_COMPARE ( ch_query_sigs, ch_otf_genomes )
|
kkonganti@1
|
294
|
kkonganti@1
|
295 BCS_DISTANCE_MATRIX (
|
kkonganti@1
|
296 SOURMASH_COMPARE.out.matrix,
|
kkonganti@1
|
297 SOURMASH_COMPARE.out.labels
|
kkonganti@1
|
298 )
|
kkonganti@1
|
299
|
kkonganti@1
|
300 ch_multiqc
|
kkonganti@1
|
301 .concat( BCS_DISTANCE_MATRIX.out.mqc_yml )
|
kkonganti@1
|
302 .set { ch_multiqc }
|
kkonganti@1
|
303
|
kkonganti@1
|
304 software_versions
|
kkonganti@1
|
305 .mix (
|
kkonganti@1
|
306 SOURMASH_SKETCH.out.versions.ifEmpty(null),
|
kkonganti@1
|
307 SOURMASH_COMPARE.out.versions.ifEmpty(null),
|
kkonganti@1
|
308 BCS_DISTANCE_MATRIX.out.versions.ifEmpty(null),
|
kkonganti@1
|
309 )
|
kkonganti@1
|
310 .set { software_versions }
|
kkonganti@1
|
311 }
|
kkonganti@1
|
312
|
kkonganti@1
|
313 BCS_RESULTS ( ch_salmon_res_dirs )
|
kkonganti@1
|
314
|
kkonganti@1
|
315 DUMP_SOFTWARE_VERSIONS (
|
kkonganti@1
|
316 software_versions
|
kkonganti@1
|
317 .mix (
|
kkonganti@1
|
318 MASH_SCREEN.out.versions,
|
kkonganti@1
|
319 TOP_UNIQUE_SEROVARS.out.versions,
|
kkonganti@1
|
320 KMA_INDEX.out.versions,
|
kkonganti@1
|
321 KMA_ALIGN.out.versions,
|
kkonganti@1
|
322 OTF_GENOME.out.versions.ifEmpty(null),
|
kkonganti@1
|
323 SALMON_INDEX.out.versions,
|
kkonganti@1
|
324 SALMON_QUANT.out.versions,
|
kkonganti@1
|
325 BCS_RESULTS.out.versions
|
kkonganti@1
|
326 )
|
kkonganti@1
|
327 .unique()
|
kkonganti@1
|
328 .collectFile(name: 'collected_versions.yml')
|
kkonganti@1
|
329 )
|
kkonganti@1
|
330
|
kkonganti@1
|
331 DUMP_SOFTWARE_VERSIONS
|
kkonganti@1
|
332 .out
|
kkonganti@1
|
333 .mqc_yml
|
kkonganti@1
|
334 .concat (
|
kkonganti@1
|
335 ch_multiqc,
|
kkonganti@1
|
336 BCS_RESULTS.out.mqc_yml,
|
kkonganti@1
|
337 BCS_RESULTS.out.mqc_json
|
kkonganti@1
|
338 )
|
kkonganti@1
|
339 .collect()
|
kkonganti@1
|
340 .set { ch_multiqc }
|
kkonganti@1
|
341
|
kkonganti@1
|
342 MULTIQC ( ch_multiqc )
|
kkonganti@1
|
343 }
|
kkonganti@1
|
344
|
kkonganti@1
|
345 /*
|
kkonganti@1
|
346 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@1
|
347 ON COMPLETE, SHOW GORY DETAILS OF ALL PARAMS WHICH WILL BE HELPFUL TO DEBUG
|
kkonganti@1
|
348 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@1
|
349 */
|
kkonganti@1
|
350
|
kkonganti@1
|
351 workflow.onComplete {
|
kkonganti@1
|
352 if (workflow.success) {
|
kkonganti@1
|
353 sendMail()
|
kkonganti@1
|
354 }
|
kkonganti@1
|
355 }
|
kkonganti@1
|
356
|
kkonganti@1
|
357 workflow.onError {
|
kkonganti@1
|
358 sendMail()
|
kkonganti@1
|
359 }
|
kkonganti@1
|
360
|
kkonganti@1
|
361 /*
|
kkonganti@1
|
362 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@1
|
363 METHOD TO CHECK METADATA EXISTENCE
|
kkonganti@1
|
364 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@1
|
365 */
|
kkonganti@1
|
366
|
kkonganti@1
|
367 def checkMetadataExists(file_path, msg) {
|
kkonganti@1
|
368 file_path_obj = file( file_path )
|
kkonganti@1
|
369
|
kkonganti@1
|
370 if (!file_path_obj.exists() || file_path_obj.size() == 0) {
|
kkonganti@1
|
371 stopNow("Please check if your ${msg} file\n" +
|
kkonganti@1
|
372 "[ ${file_path} ]\nexists and is not of size 0.")
|
kkonganti@1
|
373 }
|
kkonganti@1
|
374 }
|
kkonganti@1
|
375
|
kkonganti@1
|
376 /*
|
kkonganti@1
|
377 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@1
|
378 HELP TEXT METHODS FOR BETTERCALLSAL WORKFLOW
|
kkonganti@1
|
379 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
kkonganti@1
|
380 */
|
kkonganti@1
|
381
|
kkonganti@1
|
382 def help() {
|
kkonganti@1
|
383
|
kkonganti@1
|
384 Map helptext = [:]
|
kkonganti@1
|
385 Map bcsConcatHelp = [:]
|
kkonganti@1
|
386 Map fastpAdapterHelp = [:]
|
kkonganti@1
|
387
|
kkonganti@1
|
388 bcsConcatHelp['--bcs_concat_pe'] = "Concatenate paired-end files. " +
|
kkonganti@1
|
389 "Default: ${params.bcs_concat_pe}"
|
kkonganti@1
|
390
|
kkonganti@1
|
391 fastpAdapterHelp['--fastp_use_custom_adapaters'] = "Use custom adapter FASTA with fastp on top of " +
|
kkonganti@1
|
392 "built-in adapter sequence auto-detection. Enabling this option will attempt to find and remove " +
|
kkonganti@1
|
393 "all possible Illumina adapter and primer sequences but will make the workflow run slow. " +
|
kkonganti@1
|
394 "Default: ${params.fastp_use_custom_adapters}"
|
kkonganti@1
|
395
|
kkonganti@1
|
396 helptext.putAll (
|
kkonganti@1
|
397 fastqEntryPointHelp() +
|
kkonganti@1
|
398 bcsConcatHelp +
|
kkonganti@1
|
399 bbmergeHelp(params).text +
|
kkonganti@1
|
400 fastpHelp(params).text +
|
kkonganti@1
|
401 fastpAdapterHelp +
|
kkonganti@1
|
402 mashscreenHelp(params).text +
|
kkonganti@1
|
403 tuspyHelp(params).text +
|
kkonganti@1
|
404 sourmashsketchHelp(params).text +
|
kkonganti@1
|
405 sourmashgatherHelp(params).text +
|
kkonganti@1
|
406 sourmashsearchHelp(params).text +
|
kkonganti@1
|
407 sfhpyHelp(params).text +
|
kkonganti@1
|
408 kmaindexHelp(params).text +
|
kkonganti@1
|
409 kmaalignHelp(params).text +
|
kkonganti@1
|
410 salmonidxHelp(params).text +
|
kkonganti@1
|
411 gsrpyHelp(params).text +
|
kkonganti@1
|
412 wrapUpHelp()
|
kkonganti@1
|
413 )
|
kkonganti@1
|
414
|
kkonganti@1
|
415 return addPadding(helptext)
|
kkonganti@1
|
416 } |