annotate 0.2.0/workflows/cronology.nf @ 0:9e8b1c747a6a draft default tip

planemo upload
author galaxytrakr
date Fri, 29 May 2026 13:32:17 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
1 // Define any required imports for this specific workflow
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
2 import java.nio.file.Paths
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
3 import nextflow.file.FileHelper
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
4
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
5 // Include any necessary methods
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
6 include { \
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
7 summaryOfParams; stopNow; fastqEntryPointHelp; sendMail; conciseHelp; \
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
8 addPadding; wrapUpHelp } from "${params.routines}"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
9 include { dpubmlstpyHelp } from "${params.toolshelp}${params.fs}dpubmlstpy"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
10 include { fastpHelp } from "${params.toolshelp}${params.fs}fastp"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
11 include { mashscreenHelp } from "${params.toolshelp}${params.fs}mashscreen"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
12 include { tuspyHelp } from "${params.toolshelp}${params.fs}tuspy"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
13 include { spadesHelp } from "${params.toolshelp}${params.fs}spades"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
14 include { shovillHelp } from "${params.toolshelp}${params.fs}shovill"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
15 include { polypolishHelp } from "${params.toolshelp}${params.fs}polypolish"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
16 include { mashtreeHelp } from "${params.toolshelp}${params.fs}mashtree"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
17 include { quastHelp } from "${params.toolshelp}${params.fs}quast"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
18 include { prodigalHelp } from "${params.toolshelp}${params.fs}prodigal"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
19 include { prokkaHelp } from "${params.toolshelp}${params.fs}prokka"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
20 include { pirateHelp } from "${params.toolshelp}${params.fs}pirate"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
21 include { mlstHelp } from "${params.toolshelp}${params.fs}mlst"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
22 include { abricateHelp } from "${params.toolshelp}${params.fs}abricate"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
23
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
24 // Exit if help requested before any subworkflows
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
25 if (params.help) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
26 log.info help()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
27 exit 0
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
28 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
29
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
30 // Include any necessary modules and subworkflows
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
31 include { PROCESS_FASTQ } from "${params.subworkflows}${params.fs}process_fastq"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
32 include { PRODKA } from "${params.subworkflows}${params.fs}prodka"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
33 include { DOWNLOAD_PUBMLST_SCHEME } from "${params.modules}${params.fs}download_pubmlst_scheme${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
34 include { DOWNLOAD_REF_GENOME } from "${params.modules}${params.fs}download_ref_genome${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
35 include { FASTP } from "${params.modules}${params.fs}fastp${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
36 include { MASH_SCREEN } from "${params.modules}${params.fs}mash${params.fs}screen${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
37 include { TOP_UNIQUE_SEROVARS } from "${params.modules}${params.fs}top_unique_serovars${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
38 include { CAT_UNIQUE } from "${params.modules}${params.fs}cat${params.fs}unique${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
39 include { SPADES_ASSEMBLE } from "${params.modules}${params.fs}spades${params.fs}assemble${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
40 include { SHOVILL } from "${params.modules}${params.fs}shovill${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
41 include { BWA_IDX_MEM } from "${params.modules}${params.fs}custom${params.fs}bwa_idx_mem${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
42 include { POLYPOLISH } from "${params.modules}${params.fs}polypolish${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
43 include { QUAST } from "${params.modules}${params.fs}quast${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
44 include { RMLST_POST } from "${params.modules}${params.fs}rmlst${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
45 include { PIRATE } from "${params.modules}${params.fs}pirate${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
46 include { MASHTREE } from "${params.modules}${params.fs}mashtree${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
47 include { UPLOAD_MICROREACT } from "${params.modules}${params.fs}upload_microreact${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
48 include { MLST } from "${params.modules}${params.fs}mlst${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
49 include { ABRICATE_RUN } from "${params.modules}${params.fs}abricate${params.fs}run${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
50 include { ABRICATE_SUMMARY } from "${params.modules}${params.fs}abricate${params.fs}summary${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
51 include { TABLE_SUMMARY } from "${params.modules}${params.fs}cat${params.fs}tables${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
52 include { DUMP_SOFTWARE_VERSIONS } from "${params.modules}${params.fs}custom${params.fs}dump_software_versions${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
53 include { MULTIQC } from "${params.modules}${params.fs}multiqc${params.fs}main"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
54
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
55 /*
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
56 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
57 INPUTS AND ANY CHECKS FOR THE CRONOLOGY WORKFLOW
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
58 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
59 */
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
60 def spades_custom_hmm = (params.spades_hmm ? file ( "${params.spades_hmm}" ) : false)
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
61 def reads_platform = 0
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
62 def abricate_dbs = [ 'ncbiamrplus', 'resfinder', 'megares', 'argannot' ]
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
63
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
64 reads_platform += (params.input ? 1 : 0)
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
65
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
66 if (params.upload_microreact) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
67 checkMetadataExists(params.microreact_api_key, 'Microreact API Key')
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
68 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
69
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
70 if (spades_custom_hmm && !spades_custom_hmm.exists()) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
71 stopNow("Please check if the following SPAdes' custom HMM directory\n" +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
72 "path is valid:\n${params.spades_hmm}\nCannot proceed further!")
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
73 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
74
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
75 if (reads_platform < 1 || reads_platform == 0) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
76 stopNow("Please mention at least one absolute path to input folder which contains\n" +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
77 "FASTQ files sequenced using the --input option.\n" +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
78 "Ex: --input (Illumina or Generic short reads in FASTQ format)")
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
79 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
80
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
81 /*
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
82 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
83 RUN THE CRONOLOGY WORKFLOW
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
84 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
85 */
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
86
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
87 workflow CRONOLOGY {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
88 main:
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
89 ch_mqc_custom_tbl = Channel.empty()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
90 ch_dummy = Channel.fromPath("${params.dummyfile}")
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
91 ch_dummy2 = Channel.fromPath("${params.dummyfile2}")
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
92
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
93 log.info summaryOfParams()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
94
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
95 PROCESS_FASTQ()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
96
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
97 PROCESS_FASTQ.out.versions
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
98 .set { software_versions }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
99
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
100 PROCESS_FASTQ.out.processed_reads
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
101 .map { meta, fastq ->
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
102 meta.sequence_sketch = (params.mash_sketch ?: null)
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
103 [meta, fastq]
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
104 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
105 .set { ch_processed_reads }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
106
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
107 DOWNLOAD_PUBMLST_SCHEME( params.dpubmlstpy_org ?: null )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
108
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
109 DOWNLOAD_REF_GENOME(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
110 (params.ref_acc ? ['id': params.ref_acc] : null)
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
111 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
112
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
113 FASTP( ch_processed_reads )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
114
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
115 FASTP.out.passed_reads
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
116 .set { ch_processed_reads }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
117
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
118 FASTP.out.json
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
119 .map { meta, json -> [ json ] }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
120 .collect()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
121 .set { ch_multiqc }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
122
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
123 MASH_SCREEN( ch_processed_reads )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
124
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
125 TOP_UNIQUE_SEROVARS( MASH_SCREEN.out.screened )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
126
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
127 TOP_UNIQUE_SEROVARS.out.tsv
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
128 .map { meta, tsv -> tsv }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
129 .collectFile(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
130 name: 'iTOL_metadata_w_dups.txt',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
131 keepHeader: true,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
132 skip: 4,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
133 sort: true
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
134 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
135 .map { file ->
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
136 def meta = [:]
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
137 meta.id = 'Unique iTOL Metadata'
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
138 meta.skip_header = 4
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
139 [meta, file]
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
140 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
141 .concat(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
142 TOP_UNIQUE_SEROVARS.out.popup
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
143 .map { meta, popup -> popup }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
144 .collectFile(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
145 name: 'iTOL_2_NCBI_Pathogens_w_dups.txt',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
146 keepHeader: true,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
147 skip: 3,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
148 sort: true
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
149 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
150 .map { file ->
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
151 def meta = [:]
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
152 meta.id = 'Unique iTOL Popup'
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
153 meta.skip_header = 3
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
154 [meta, file]
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
155 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
156 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
157 .set { ch_uniq }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
158
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
159 TOP_UNIQUE_SEROVARS.out.accessions
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
160 .map { meta, acc -> acc }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
161 .splitText()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
162 .collect()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
163 .flatten()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
164 .unique()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
165 .collectFile(name: 'tree_genomes.txt')
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
166 .map { genomes -> [ [id: 'hitsTree'], genomes ]}
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
167 .set { ch_genomes_fofn }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
168
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
169 CAT_UNIQUE( ch_uniq )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
170
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
171 if (params.fq_single_end) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
172 SPADES_ASSEMBLE(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
173 ch_processed_reads
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
174 .combine(ch_dummy)
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
175 .combine(ch_dummy2)
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
176 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
177
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
178 SPADES_ASSEMBLE.out.assembly
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
179 .set{ ch_assembly }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
180
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
181 software_versions
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
182 .mix( SPADES_ASSEMBLE.out.versions.ifEmpty(null) )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
183 .set { software_versions }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
184 } else {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
185 SHOVILL( ch_processed_reads )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
186
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
187 SHOVILL.out.contigs
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
188 .set { ch_assembly }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
189
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
190 software_versions
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
191 .mix( SHOVILL.out.versions.ifEmpty(null) )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
192 .set { software_versions }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
193 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
194
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
195 if (params.polypolish_run) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
196 BWA_IDX_MEM(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
197 ch_assembly
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
198 .join( ch_processed_reads )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
199 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
200
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
201 POLYPOLISH(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
202 ch_assembly
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
203 .join( BWA_IDX_MEM.out.aligned_sam )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
204 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
205
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
206 POLYPOLISH.out.polished
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
207 .set { ch_assembly }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
208
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
209 software_versions
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
210 .mix(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
211 BWA_IDX_MEM.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
212 POLYPOLISH.out.versions
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
213 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
214 .set { software_versions }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
215 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
216
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
217 ch_assembly
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
218 .combine( DOWNLOAD_REF_GENOME.out.fasta )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
219 .combine( DOWNLOAD_REF_GENOME.out.gff )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
220 .multiMap { meta, consensus, fasta, gff ->
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
221 sample_fa: consensus
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
222 polished: [meta, consensus]
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
223 ref_fasta: [meta, fasta]
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
224 ref_gff: [meta, gff]
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
225 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
226 .set { ch_quast }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
227
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
228 MASHTREE(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
229 ch_genomes_fofn,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
230 DOWNLOAD_REF_GENOME.out.fasta
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
231 .concat( ch_quast.sample_fa )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
232 .collect()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
233 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
234
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
235 if (params.upload_microreact) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
236 UPLOAD_MICROREACT(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
237 MASHTREE.out.nwk
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
238 .map { meta, nwk ->
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
239 nwk
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
240 },
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
241 CAT_UNIQUE.out.csv
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
242 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
243
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
244 software_versions
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
245 .mix(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
246 UPLOAD_MICROREACT.out.versions
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
247 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
248 .set { software_versions }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
249 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
250
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
251 PRODKA(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
252 ch_quast.ref_fasta,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
253 ch_quast.polished
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
254 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
255
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
256 RMLST_POST( ch_assembly )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
257
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
258 MLST (
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
259 ch_assembly
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
260 .combine( DOWNLOAD_PUBMLST_SCHEME.out.pubmlst_dir )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
261 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
262
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
263 QUAST(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
264 ch_quast.polished,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
265 ch_quast.ref_fasta,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
266 ch_quast.ref_gff
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
267 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
268
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
269 if (params.pirate_run) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
270 PIRATE(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
271 PRODKA.out.prokka_gff
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
272 .map { meta, gff ->
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
273 tuple( [id: 'Predicted Genes'], gff )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
274 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
275 .groupTuple(by: [0])
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
276 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
277
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
278 software_versions
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
279 .mix( PIRATE.out.versions )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
280 .set { software_versions }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
281 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
282
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
283 RMLST_POST.out.tsv
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
284 .map { meta, tsv -> [ 'rmlst', tsv] }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
285 .groupTuple(by: [0])
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
286 .map { it -> tuple ( it[0], it[1].flatten() ) }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
287 .set { ch_mqc_rmlst_tbl }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
288
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
289 MLST.out.tsv
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
290 .map { meta, tsv -> [ 'mlst', tsv] }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
291 .groupTuple(by: [0])
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
292 .map { it -> tuple ( it[0], it[1].flatten() ) }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
293 .set { ch_mqc_custom_tbl }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
294
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
295 ABRICATE_RUN ( ch_assembly, abricate_dbs )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
296
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
297 ABRICATE_RUN.out.abricated
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
298 .map { meta, abres -> [ abricate_dbs, abres ] }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
299 .groupTuple(by: [0])
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
300 .map { it -> tuple ( it[0], it[1].flatten() ) }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
301 .set { ch_abricated }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
302
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
303 ABRICATE_SUMMARY ( ch_abricated )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
304
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
305 ch_mqc_custom_tbl
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
306 .concat (
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
307 ch_mqc_rmlst_tbl,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
308 ABRICATE_SUMMARY.out.ncbiamrplus.map { it -> tuple ( it[0], it[1] )},
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
309 ABRICATE_SUMMARY.out.resfinder.map { it -> tuple ( it[0], it[1] )},
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
310 ABRICATE_SUMMARY.out.megares.map { it -> tuple ( it[0], it[1] )},
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
311 ABRICATE_SUMMARY.out.argannot.map { it -> tuple ( it[0], it[1] )},
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
312 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
313 .groupTuple(by: [0])
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
314 .map { it -> [ it[0], it[1].flatten() ]}
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
315 .set { ch_mqc_custom_tbl }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
316
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
317 TABLE_SUMMARY ( ch_mqc_custom_tbl )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
318
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
319 DUMP_SOFTWARE_VERSIONS (
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
320 software_versions
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
321 .mix(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
322 DOWNLOAD_PUBMLST_SCHEME.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
323 DOWNLOAD_REF_GENOME.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
324 FASTP.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
325 MASH_SCREEN.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
326 TOP_UNIQUE_SEROVARS.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
327 CAT_UNIQUE.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
328 MASHTREE.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
329 POLYPOLISH.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
330 QUAST.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
331 PRODKA.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
332 RMLST_POST.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
333 MLST.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
334 ABRICATE_RUN.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
335 ABRICATE_SUMMARY.out.versions,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
336 TABLE_SUMMARY.out.versions
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
337 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
338 .unique()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
339 .collectFile(name: 'collected_versions.yml')
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
340 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
341
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
342 DUMP_SOFTWARE_VERSIONS.out.mqc_yml
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
343 .concat (
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
344 ch_multiqc,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
345 TABLE_SUMMARY.out.mqc_yml,
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
346 PRODKA.out.prokka_txt.map { meta, txt -> txt },
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
347 QUAST.out.results.map { meta, res -> res }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
348 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
349 .collect()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
350 .set { ch_multiqc }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
351
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
352 MULTIQC( ch_multiqc )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
353 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
354
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
355 /*
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
356 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
357 ON COMPLETE, SHOW GORY DETAILS OF ALL PARAMS WHICH WILL BE HELPFUL TO DEBUG
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
358 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
359 */
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
360
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
361 workflow.onComplete {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
362 if (workflow.success) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
363 sendMail()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
364 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
365 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
366
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
367 workflow.onError {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
368 sendMail()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
369 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
370
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
371 /*
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
372 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
373 METHOD TO CHECK FILE EXISTENCE
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
374 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
375 */
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
376
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
377 def checkMetadataExists(file_path, msg) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
378 file_path_obj = file( file_path )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
379
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
380 if (msg.toString().find(/(?i)KMA/)) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
381 if (!file_path_obj.parent.exists() || file_path_obj.parent.size() == 0) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
382 stopNow("Please check if your ${msg}\n" +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
383 "[ ${file_path} ]\nexists and that the files are not of size 0.")
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
384 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
385 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
386 else if (!file_path_obj.exists() || file_path_obj.size() == 0) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
387 stopNow("Please check if your ${msg} file\n" +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
388 "[ ${file_path} ]\nexists and is not of size 0.")
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
389 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
390 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
391
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
392 /*
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
393 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
394 HELP TEXT METHODS FOR CRONOLOGY WORKFLOW
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
395 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
396 */
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
397
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
398 def help() {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
399
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
400 Map helptext = [:]
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
401 Map nH = [:]
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
402 Map fastpAdapterHelp = [:]
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
403 def uHelp = (params.help.getClass().toString() =~ /String/ ? params.help.tokenize(',').join(' ') : '')
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
404
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
405 Map defaultHelp = [
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
406 '--help dpubmlstpy' : 'Show dl_pubmlst_profiles_and_schemes.py CLI options',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
407 '--help fastp' : 'Show fastp CLI options',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
408 '--help spades' : 'Show spades CLI options',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
409 '--help shovill' : 'Show shovill CLI options',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
410 '--help polypolish' : 'Show polypolish CLI options',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
411 '--help quast' : 'Show quast.py CLI options',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
412 '--help prodigal' : 'Show prodigal CLI options',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
413 '--help prokka' : 'Show prokka CLI options',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
414 '--help pirate' : 'Show priate CLI options',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
415 '--help mlst' : 'Show mlst CLI options',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
416 '--help mash' : 'Show mash `screen` CLI options',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
417 '--help tree' : 'Show mashtree CLI options',
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
418 '--help abricate' : 'Show abricate CLI options\n'
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
419 ]
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
420
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
421 fastpAdapterHelp['--fastp_use_custom_adapaters'] = "Use custom adapter FASTA with fastp on top of " +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
422 "built-in adapter sequence auto-detection. Enabling this option will attempt to find and remove " +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
423 "all possible Illumina adapter and primer sequences but will make the workflow run slow. " +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
424 "Default: ${params.fastp_use_custom_adapters}"
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
425
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
426 if (params.help.getClass().toString() =~ /Boolean/ || uHelp.size() == 0) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
427 println conciseHelp('fastp,polypolish')
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
428 helptext.putAll(defaultHelp)
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
429 } else {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
430 params.help.tokenize(',').each { h ->
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
431 if (defaultHelp.keySet().findAll{ it =~ /(?i)\b${h}\b/ }.size() == 0) {
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
432 println conciseHelp('fastp,polypolish')
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
433 stopNow("Tool [ ${h} ] is not a part of ${params.pipeline} pipeline.")
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
434 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
435 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
436
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
437 helptext.putAll(
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
438 fastqEntryPointHelp() +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
439 (uHelp =~ /(?i)\bdpubmlstpy/ ? dpubmlstpyHelp(params).text : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
440 (uHelp =~ /(?i)\bfastp/ ? fastpHelp(params).text + fastpAdapterHelp : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
441 (uHelp =~ /(?i)\bmash/ ? mashscreenHelp(params).text : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
442 (uHelp =~ /(?i)\btuspy/ ? tuspyHelp(params).text : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
443 (uHelp =~ /(?i)\bspades/ ? spadesHelp(params).text : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
444 (uHelp =~ /(?i)\bshovill/ ? shovillHelp(params).text : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
445 (uHelp =~ /(?i)\bpolypolish/ ? polypolishHelp(params).text : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
446 (uHelp =~ /(?i)\bquast/ ? quastHelp(params).text : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
447 (uHelp =~ /(?i)\bprodigal/ ? prodigalHelp(params).text : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
448 (uHelp =~ /(?i)\bprokka/ ? prokkaHelp(params).text : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
449 (uHelp =~ /(?i)\bpirate/ ? pirateHelp(params).text : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
450 (uHelp =~ /(?i)\bmlst/ ? mlstHelp(params).text : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
451 (uHelp =~ /(?i)\btree/ ? mashtreeHelp(params).text : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
452 (uHelp =~ /(?i)\babricate/ ? abricateHelp(params).text : nH) +
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
453 wrapUpHelp()
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
454 )
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
455 }
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
456
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
457 return addPadding(helptext)
9e8b1c747a6a planemo upload
galaxytrakr
parents:
diff changeset
458 }