annotate 1.0.0/workflows/bettercallsal.nf @ 0:801b85b03a17 draft default tip

planemo upload
author galaxytrakr
date Thu, 28 May 2026 20:31:42 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
1 // Define any required imports for this specific workflow
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
2 import java.nio.file.Paths
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
3 import java.util.zip.GZIPInputStream
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
4 import java.io.FileInputStream
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
5 import nextflow.file.FileHelper
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
6
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
7
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
8 // Include any necessary methods
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
9 include { \
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
10 summaryOfParams; stopNow; fastqEntryPointHelp; sendMail; conciseHelp; \
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
11 addPadding; wrapUpHelp } from "${params.routines}"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
12 include { bbmergeHelp } from "${params.toolshelp}${params.fs}bbmerge"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
13 include { fastpHelp } from "${params.toolshelp}${params.fs}fastp"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
14 include { mashscreenHelp } from "${params.toolshelp}${params.fs}mashscreen"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
15 include { tuspyHelp } from "${params.toolshelp}${params.fs}tuspy"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
16 include { sourmashsketchHelp } from "${params.toolshelp}${params.fs}sourmashsketch"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
17 include { sourmashgatherHelp } from "${params.toolshelp}${params.fs}sourmashgather"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
18 include { sourmashsearchHelp } from "${params.toolshelp}${params.fs}sourmashsearch"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
19 include { sfhpyHelp } from "${params.toolshelp}${params.fs}sfhpy"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
20 include { kmaindexHelp } from "${params.toolshelp}${params.fs}kmaindex"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
21 include { kmaalignHelp } from "${params.toolshelp}${params.fs}kmaalign"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
22 include { megahitHelp } from "${params.toolshelp}${params.fs}megahit"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
23 include { mlstHelp } from "${params.toolshelp}${params.fs}mlst"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
24 include { abricateHelp } from "${params.toolshelp}${params.fs}abricate"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
25 include { salmonidxHelp } from "${params.toolshelp}${params.fs}salmonidx"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
26 include { gsrpyHelp } from "${params.toolshelp}${params.fs}gsrpy"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
27
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
28 // Exit if help requested before any subworkflows
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
29 if (params.help) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
30 log.info help()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
31 exit 0
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
32 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
33
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
34
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
35 // Include any necessary modules and subworkflows
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
36 include { PROCESS_FASTQ } from "${params.subworkflows}${params.fs}process_fastq"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
37 include { CAT_CAT } from "${params.modules}${params.fs}cat_cat${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
38 include { FASTQC } from "${params.modules}${params.fs}fastqc${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
39 include { BBTOOLS_BBMERGE } from "${params.modules}${params.fs}bbtools${params.fs}bbmerge${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
40 include { FASTP } from "${params.modules}${params.fs}fastp${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
41 include { MASH_SCREEN } from "${params.modules}${params.fs}mash${params.fs}screen${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
42 include { TOP_UNIQUE_SEROVARS } from "${params.modules}${params.fs}top_unique_serovars${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
43 include { SOURMASH_SKETCH } from "${params.modules}${params.fs}sourmash${params.fs}sketch${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
44 include { SOURMASH_GATHER } from "${params.modules}${params.fs}sourmash${params.fs}gather${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
45 include { SOURMASH_SEARCH } from "${params.modules}${params.fs}sourmash${params.fs}search${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
46 include { KMA_INDEX } from "${params.modules}${params.fs}kma${params.fs}index${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
47 include { KMA_ALIGN } from "${params.modules}${params.fs}kma${params.fs}align${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
48 include { OTF_GENOME } from "${params.modules}${params.fs}otf_genome${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
49 include { MEGAHIT_ASSEMBLE } from "${params.modules}${params.fs}megahit${params.fs}assemble${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
50 include { MLST } from "${params.modules}${params.fs}mlst${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
51 include { ABRICATE_RUN } from "${params.modules}${params.fs}abricate${params.fs}run${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
52 include { ABRICATE_SUMMARY } from "${params.modules}${params.fs}abricate${params.fs}summary${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
53 include { TABLE_SUMMARY } from "${params.modules}${params.fs}cat${params.fs}tables${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
54 include { SALMON_INDEX } from "${params.modules}${params.fs}salmon${params.fs}index${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
55 include { SALMON_QUANT } from "${params.modules}${params.fs}salmon${params.fs}quant${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
56 include { SOURMASH_COMPARE } from "${params.modules}${params.fs}custom${params.fs}sourmash${params.fs}compare${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
57 include { BCS_DISTANCE_MATRIX } from "${params.modules}${params.fs}bcs_distance_matrix${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
58 include { BCS_RESULTS } from "${params.modules}${params.fs}bcs_results${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
59 include { DUMP_SOFTWARE_VERSIONS } from "${params.modules}${params.fs}custom${params.fs}dump_software_versions${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
60 include { MULTIQC } from "${params.modules}${params.fs}multiqc${params.fs}main"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
61
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
62 /*
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
63 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
64 INPUTS AND ANY CHECKS FOR THE BETTERCALLSAL WORKFLOW
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
65 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
66 */
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
67
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
68 def reads_platform = 0
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
69 def salmon_idx_decoys = file ( "${params.salmonidx_decoys}" )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
70 def abricate_dbs = [ 'ncbiamrplus', 'resfinder', 'megares', 'argannot' ]
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
71
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
72 reads_platform += (params.input ? 1 : 0)
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
73
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
74 if (reads_platform < 1 || reads_platform == 0) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
75 stopNow("Please mention at least one absolute path to input folder which contains\n" +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
76 "FASTQ files sequenced using the --input option.\n" +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
77 "Ex: --input (Illumina or Generic short reads in FASTQ format)")
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
78 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
79
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
80 checkMetadataExists(params.mash_sketch, 'MASH sketch')
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
81 checkMetadataExists(params.tuspy_ps, 'ACC2SERO pickle')
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
82 checkMetadataExists(params.gsrpy_snp_clus_metadata, 'PDG reference target cluster metadata')
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
83
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
84 /*
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
85 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
86 RUN THE BETTERCALLSAL WORKFLOW
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
87 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
88 */
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
89
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
90 workflow BETTERCALLSAL {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
91 main:
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
92 log.info summaryOfParams()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
93
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
94 PROCESS_FASTQ()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
95
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
96 PROCESS_FASTQ
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
97 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
98 .versions
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
99 .set { software_versions }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
100
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
101 PROCESS_FASTQ
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
102 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
103 .processed_reads
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
104 .set { ch_processed_reads }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
105
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
106 if (params.bbmerge_run && !params.fq_single_end) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
107 ch_processed_reads
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
108 .map { meta, fastq ->
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
109 meta.adapters = (params.bbmerge_adapters ?: params.dummyfile)
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
110 [ meta, fastq ]
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
111 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
112 .set { ch_processed_reads }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
113
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
114 BBTOOLS_BBMERGE( ch_processed_reads )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
115
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
116 BBTOOLS_BBMERGE
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
117 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
118 .fastq
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
119 .map { meta, fastq -> [ meta, [ fastq ] ] }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
120 .set { ch_processed_reads }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
121
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
122 software_versions
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
123 .mix ( BBTOOLS_BBMERGE.out.versions )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
124 .set { software_versions }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
125 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
126
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
127 if (params.fastp_run) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
128 FASTP ( ch_processed_reads )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
129
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
130 FASTP
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
131 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
132 .passed_reads
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
133 .set { ch_processed_reads }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
134
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
135 FASTP
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
136 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
137 .json
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
138 .map { meta, json -> [ json ] }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
139 .collect()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
140 .set { ch_multiqc }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
141
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
142 software_versions
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
143 .mix ( FASTP.out.versions )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
144 .set { software_versions }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
145 } else {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
146 FASTQC ( ch_processed_reads )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
147
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
148 FASTQC
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
149 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
150 .zip
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
151 .map { meta, zip -> [ zip ] }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
152 .collect()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
153 .set { ch_multiqc }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
154
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
155 software_versions
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
156 .mix ( FASTQC.out.versions )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
157 .set { software_versions }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
158 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
159
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
160 if (params.bcs_concat_pe && !params.fq_single_end && !params.bbmerge_run) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
161 CAT_CAT ( ch_processed_reads )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
162
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
163 CAT_CAT
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
164 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
165 .concatenated_reads
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
166 .set { ch_processed_reads }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
167
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
168 software_versions
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
169 .mix ( CAT_CAT.out.versions )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
170 .set { software_versions }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
171 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
172
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
173 ch_processed_reads
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
174 .map { meta, fastq ->
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
175 meta.sequence_sketch = params.mash_sketch
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
176 meta.get_kma_hit_accs = true
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
177 meta.single_end = true
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
178 meta.salmon_decoys = params.dummyfile
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
179 meta.salmon_lib_type = (params.salmonalign_libtype ?: false)
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
180 [ meta, fastq ]
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
181 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
182 .filter { meta, fastq ->
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
183 fq_file = ( fastq.getClass().toString() =~ /ArrayList/ ? fastq : [ fastq ] )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
184 fq_gzip = new GZIPInputStream( new FileInputStream( fq_file[0].toString() ) )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
185 fq_gzip.read() != -1
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
186 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
187 .set { ch_processed_reads }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
188
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
189 MASH_SCREEN ( ch_processed_reads )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
190
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
191 TOP_UNIQUE_SEROVARS ( MASH_SCREEN.out.screened )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
192
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
193 TOP_UNIQUE_SEROVARS.out.genomes_fasta
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
194 .set { ch_genomes_fasta }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
195
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
196 TOP_UNIQUE_SEROVARS.out.failed
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
197 .set { ch_bcs_calls_failed }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
198
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
199 if (params.sourmashgather_run || params.sourmashsearch_run) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
200 SOURMASH_SKETCH (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
201 ch_processed_reads
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
202 .join ( ch_genomes_fasta )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
203 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
204
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
205 if (params.sourmashgather_run) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
206 SOURMASH_GATHER (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
207 SOURMASH_SKETCH.out.signatures,
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
208 [], [], [], []
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
209 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
210
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
211 SOURMASH_GATHER
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
212 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
213 .genomes_fasta
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
214 .set { ch_genomes_fasta }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
215
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
216 ch_bcs_calls_failed
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
217 .concat ( SOURMASH_GATHER.out.failed )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
218 .set { ch_bcs_calls_failed }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
219
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
220 software_versions
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
221 .mix ( SOURMASH_GATHER.out.versions.ifEmpty(null) )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
222 .set { software_versions }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
223 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
224
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
225 if (params.sourmashsearch_run) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
226 SOURMASH_SEARCH (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
227 SOURMASH_SKETCH.out.signatures,
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
228 []
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
229 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
230
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
231 SOURMASH_SEARCH
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
232 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
233 .genomes_fasta
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
234 .set { ch_genomes_fasta }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
235
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
236 ch_bcs_calls_failed
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
237 .concat ( SOURMASH_SEARCH.out.failed )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
238 .set { ch_bcs_calls_failed }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
239
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
240 software_versions
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
241 .mix ( SOURMASH_SEARCH.out.versions.ifEmpty(null) )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
242 .set { software_versions }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
243 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
244 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
245
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
246 KMA_INDEX ( ch_genomes_fasta )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
247
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
248 KMA_ALIGN (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
249 ch_processed_reads
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
250 .join ( KMA_INDEX.out.idx )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
251 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
252
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
253 OTF_GENOME (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
254 KMA_ALIGN.out.hits
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
255 .join ( KMA_ALIGN.out.frags )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
256 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
257
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
258 OTF_GENOME.out.failed
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
259 .concat ( ch_bcs_calls_failed )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
260 .collectFile( name: 'BCS_NO_CALLS.txt' )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
261 .set { ch_bcs_no_calls }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
262
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
263 SALMON_INDEX ( OTF_GENOME.out.genomes_fasta )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
264
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
265 SALMON_QUANT (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
266 ch_processed_reads
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
267 .join ( SALMON_INDEX.out.idx )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
268 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
269
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
270 SALMON_QUANT
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
271 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
272 .results
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
273 .groupTuple(by: [0])
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
274 .map { it -> tuple ( it[1].flatten() ) }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
275 .mix ( ch_bcs_no_calls )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
276 .collect()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
277 .set { ch_salmon_res_dirs }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
278
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
279 if (params.sourmashsketch_run) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
280 SOURMASH_SKETCH
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
281 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
282 .signatures
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
283 .groupTuple(by: [0])
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
284 .map { meta, qsigs, dsigs -> [ qsigs ] }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
285 .collect()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
286 .flatten()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
287 .collect()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
288 .set { ch_query_sigs }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
289
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
290 KMA_ALIGN
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
291 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
292 .hits
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
293 .map { meta, hits -> [ hits ] }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
294 .collect()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
295 .flatten()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
296 .collectFile(name: 'accessions.txt')
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
297 .set { ch_otf_genomes }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
298
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
299 if (params.megahit_run) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
300
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
301 MEGAHIT_ASSEMBLE ( OTF_GENOME.out.reads_extracted )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
302
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
303 MEGAHIT_ASSEMBLE
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
304 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
305 .assembly
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
306 .set { ch_asm_filtered_contigs }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
307
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
308 MLST ( ch_asm_filtered_contigs )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
309
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
310 MLST.out.tsv
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
311 .map { meta, tsv -> [ 'mlst', tsv] }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
312 .groupTuple(by: [0])
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
313 .map { it -> tuple ( it[0], it[1].flatten() ) }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
314 .set { ch_mqc_custom_tbl }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
315
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
316 ABRICATE_RUN (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
317 ch_asm_filtered_contigs,
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
318 abricate_dbs
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
319 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
320
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
321 ABRICATE_RUN
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
322 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
323 .abricated
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
324 .map { meta, abres -> [ abricate_dbs, abres ] }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
325 .groupTuple(by: [0])
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
326 .map { it -> tuple ( it[0], it[1].flatten() ) }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
327 .set { ch_abricated }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
328
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
329 ABRICATE_SUMMARY ( ch_abricated )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
330
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
331 ch_mqc_custom_tbl
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
332 .concat (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
333 ABRICATE_SUMMARY.out.ncbiamrplus.map { it -> tuple ( it[0], it[1] )},
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
334 ABRICATE_SUMMARY.out.resfinder.map { it -> tuple ( it[0], it[1] )},
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
335 ABRICATE_SUMMARY.out.megares.map { it -> tuple ( it[0], it[1] )},
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
336 ABRICATE_SUMMARY.out.argannot.map { it -> tuple ( it[0], it[1] )},
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
337 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
338 .groupTuple(by: [0])
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
339 .map { it -> [ it[0], it[1].flatten() ]}
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
340 .set { ch_mqc_custom_tbl }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
341
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
342 TABLE_SUMMARY ( ch_mqc_custom_tbl )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
343
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
344 ch_multiqc
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
345 .concat ( TABLE_SUMMARY.out.mqc_yml )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
346 .set { ch_multiqc }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
347
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
348 software_versions
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
349 .mix (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
350 MEGAHIT_ASSEMBLE.out.versions.ifEmpty(null),
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
351 MLST.out.versions.ifEmpty(null),
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
352 ABRICATE_RUN.out.versions.ifEmpty(null),
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
353 ABRICATE_SUMMARY.out.versions.ifEmpty(null),
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
354 TABLE_SUMMARY.out.versions.ifEmpty(null)
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
355 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
356 .set { software_versions }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
357 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
358
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
359 SOURMASH_COMPARE ( ch_query_sigs, ch_otf_genomes )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
360
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
361 BCS_DISTANCE_MATRIX (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
362 SOURMASH_COMPARE.out.matrix,
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
363 SOURMASH_COMPARE.out.labels
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
364 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
365
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
366 ch_multiqc
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
367 .concat ( BCS_DISTANCE_MATRIX.out.mqc_yml )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
368 .set { ch_multiqc }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
369
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
370 software_versions
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
371 .mix (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
372 SOURMASH_SKETCH.out.versions.ifEmpty(null),
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
373 SOURMASH_COMPARE.out.versions.ifEmpty(null),
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
374 BCS_DISTANCE_MATRIX.out.versions.ifEmpty(null),
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
375 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
376 .set { software_versions }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
377 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
378
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
379 BCS_RESULTS ( ch_salmon_res_dirs )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
380
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
381 DUMP_SOFTWARE_VERSIONS (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
382 software_versions
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
383 .mix (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
384 MASH_SCREEN.out.versions,
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
385 TOP_UNIQUE_SEROVARS.out.versions,
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
386 KMA_INDEX.out.versions,
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
387 KMA_ALIGN.out.versions,
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
388 OTF_GENOME.out.versions.ifEmpty(null),
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
389 SALMON_INDEX.out.versions,
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
390 SALMON_QUANT.out.versions,
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
391 BCS_RESULTS.out.versions
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
392 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
393 .unique()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
394 .collectFile(name: 'collected_versions.yml')
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
395 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
396
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
397 if (params.multiqc_run) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
398 DUMP_SOFTWARE_VERSIONS
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
399 .out
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
400 .mqc_yml
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
401 .concat (
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
402 ch_multiqc,
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
403 BCS_RESULTS.out.mqc_yml,
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
404 BCS_RESULTS.out.mqc_json
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
405 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
406 .collect()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
407 .set { ch_multiqc }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
408
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
409 MULTIQC ( ch_multiqc )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
410 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
411
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
412 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
413
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
414 /*
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
415 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
416 ON COMPLETE, SHOW GORY DETAILS OF ALL PARAMS WHICH WILL BE HELPFUL TO DEBUG
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
417 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
418 */
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
419
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
420 workflow.onComplete {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
421 if (workflow.success) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
422 sendMail()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
423 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
424 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
425
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
426 workflow.onError {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
427 sendMail()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
428 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
429
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
430 /*
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
431 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
432 METHOD TO CHECK METADATA EXISTENCE
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
433 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
434 */
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
435
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
436 def checkMetadataExists(file_path, msg) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
437 file_path_obj = file( file_path )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
438
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
439 if (!file_path_obj.exists() || file_path_obj.size() == 0) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
440 stopNow("Please check if your ${msg} file\n" +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
441 "[ ${file_path} ]\nexists and is not of size 0.")
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
442 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
443 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
444
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
445 /*
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
446 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
447 HELP TEXT METHODS FOR BETTERCALLSAL WORKFLOW
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
448 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
449 */
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
450
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
451 def help() {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
452
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
453 Map helptext = [:]
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
454 Map bcsConcatHelp = [:]
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
455 Map fastpAdapterHelp = [:]
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
456 Map nH = [:]
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
457 def uHelp = (params.help.getClass().toString() =~ /String/ ? params.help.tokenize(',').join(' ') : '')
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
458
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
459 Map defaultHelp = [
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
460 '--help bbmerge' : 'Show bbmerge.sh CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
461 '--help fastp' : 'Show fastp CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
462 '--help mash' : 'Show mash `screen` CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
463 '--help tuspy' : 'Show get_top_unique_mash_hit_genomes.py CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
464 '--help sourmashsketch' : 'Show sourmash `sketch` CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
465 '--help sourmashgather' : 'Show sourmash `gather` CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
466 '--help sourmashsearch' : 'Show sourmash `search` CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
467 '--help sfhpy' : 'Show sourmash_filter_hits.py CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
468 '--help kmaindex' : 'Show kma `index` CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
469 '--help kmaalign' : 'Show kma CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
470 '--help megahit' : 'Show megahit CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
471 '--help mlst' : 'Show mlst CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
472 '--help abricate' : 'Show abricate CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
473 '--help salmon' : 'Show salmon `index` CLI options',
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
474 '--help gsrpy' : 'Show gen_salmon_res_table.py CLI options\n'
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
475 ]
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
476
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
477 bcsConcatHelp['--bcs_concat_pe'] = "Concatenate paired-end files. " +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
478 "Default: ${params.bcs_concat_pe}"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
479
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
480 fastpAdapterHelp['--fastp_use_custom_adapaters'] = "Use custom adapter FASTA with fastp on top of " +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
481 "built-in adapter sequence auto-detection. Enabling this option will attempt to find and remove " +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
482 "all possible Illumina adapter and primer sequences but will make the workflow run slow. " +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
483 "Default: ${params.fastp_use_custom_adapters}"
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
484
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
485 if (params.help.getClass().toString() =~ /Boolean/ || uHelp.size() == 0) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
486 println conciseHelp('fastp,mash')
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
487 helptext.putAll(defaultHelp)
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
488 } else {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
489 params.help.tokenize(',').each { h ->
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
490 if (defaultHelp.keySet().findAll{ it =~ /(?i)\b${h}\b/ }.size() == 0) {
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
491 println conciseHelp('fastp,mash')
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
492 stopNow("Tool [ ${h} ] is not a part of ${params.pipeline} pipeline.")
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
493 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
494 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
495
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
496 helptext.putAll(
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
497 fastqEntryPointHelp() +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
498 bcsConcatHelp +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
499 (uHelp =~ /(?i)\bbbmerge/ ? bbmergeHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
500 (uHelp =~ /(?i)\bfastp/ ? fastpHelp(params).text + fastpAdapterHelp : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
501 (uHelp =~ /(?i)\bmash/ ? mashscreenHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
502 (uHelp =~ /(?i)\btuspy/ ? tuspyHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
503 (uHelp =~ /(?i)\bsourmashsketch/ ? sourmashsketchHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
504 (uHelp =~ /(?i)\bsourmashgather/ ? sourmashgatherHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
505 (uHelp =~ /(?i)\bsourmashsearch/ ? sourmashsearchHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
506 (uHelp =~ /(?i)\bsfhpy/ ? sfhpyHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
507 (uHelp =~ /(?i)\bkmaindex/ ? kmaindexHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
508 (uHelp =~ /(?i)\bkmaalign/ ? kmaalignHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
509 (uHelp =~ /(?i)\bmegahit/ ? megahitHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
510 (uHelp =~ /(?i)\bmlst/ ? mlstHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
511 (uHelp =~ /(?i)\babricate/ ? abricateHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
512 (uHelp =~ /(?i)\bsalmon/ ? salmonidxHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
513 (uHelp =~ /(?i)\bgsrpy/ ? gsrpyHelp(params).text : nH) +
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
514 wrapUpHelp()
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
515 )
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
516 }
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
517
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
518 return addPadding(helptext)
801b85b03a17 planemo upload
galaxytrakr
parents:
diff changeset
519 }