annotate 0.5.0/workflows/nowayout.nf @ 0:3c767f9cfd88 draft default tip

planemo upload
author galaxytrakr
date Fri, 29 May 2026 13:37:56 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
1 // Define any required imports for this specific workflow
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
2 import java.nio.file.Paths
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
3 import java.util.zip.GZIPInputStream
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
4 import java.io.FileInputStream
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
5 import nextflow.file.FileHelper
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
6
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
7
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
8 // Include any necessary methods
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
9 include { \
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
10 summaryOfParams; stopNow; fastqEntryPointHelp; sendMail; \
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
11 addPadding; wrapUpHelp } from "${params.routines}"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
12 include { fastpHelp } from "${params.toolshelp}${params.fs}fastp"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
13 include { kmaalignHelp } from "${params.toolshelp}${params.fs}kmaalign"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
14 include { seqkitgrepHelp } from "${params.toolshelp}${params.fs}seqkitgrep"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
15 include { salmonidxHelp } from "${params.toolshelp}${params.fs}salmonidx"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
16 include { sourmashsketchHelp } from "${params.toolshelp}${params.fs}sourmashsketch"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
17 include { sourmashgatherHelp } from "${params.toolshelp}${params.fs}sourmashgather"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
18 include { sfhpyHelp } from "${params.toolshelp}${params.fs}sfhpy"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
19 include { gsalkronapyHelp } from "${params.toolshelp}${params.fs}gsalkronapy"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
20 include { kronaktimporttextHelp } from "${params.toolshelp}${params.fs}kronaktimporttext"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
21
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
22 // Exit if help requested before any subworkflows
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
23 if (params.help) {
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
24 log.info help()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
25 exit 0
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
26 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
27
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
28
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
29 // Include any necessary modules and subworkflows
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
30 include { PROCESS_FASTQ } from "${params.subworkflows}${params.fs}process_fastq"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
31 include { FASTP } from "${params.modules}${params.fs}fastp${params.fs}main"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
32 include { KMA_ALIGN } from "${params.modules}${params.fs}kma${params.fs}align${params.fs}main"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
33 include { OTF_GENOME } from "${params.modules}${params.fs}otf_genome${params.fs}main"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
34 include { SEQKIT_GREP } from "${params.modules}${params.fs}seqkit${params.fs}grep${params.fs}main"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
35 include { SALMON_INDEX } from "${params.modules}${params.fs}salmon${params.fs}index${params.fs}main"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
36 include { SALMON_QUANT } from "${params.modules}${params.fs}salmon${params.fs}quant${params.fs}main"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
37 include { SOURMASH_SKETCH } from "${params.modules}${params.fs}sourmash${params.fs}sketch${params.fs}main"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
38 include { SOURMASH_SKETCH \
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
39 as REDUCE_DB_IDX } from "${params.modules}${params.fs}sourmash${params.fs}sketch${params.fs}main"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
40 include { SOURMASH_GATHER } from "${params.modules}${params.fs}sourmash${params.fs}gather${params.fs}main"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
41 include { NOWAYOUT_RESULTS } from "${params.modules}${params.fs}nowayout_results${params.fs}main"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
42 include { KRONA_KTIMPORTTEXT } from "${params.modules}${params.fs}krona${params.fs}ktimporttext${params.fs}main"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
43 include { DUMP_SOFTWARE_VERSIONS } from "${params.modules}${params.fs}custom${params.fs}dump_software_versions${params.fs}main"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
44 include { MULTIQC } from "${params.modules}${params.fs}multiqc${params.fs}main"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
45
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
46 /*
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
47 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
48 INPUTS AND ANY CHECKS FOR THE NOWAYOUT WORKFLOW
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
49 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
50 */
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
51
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
52 def reads_platform = 0
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
53 reads_platform += (params.input ? 1 : 0)
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
54
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
55 if (reads_platform < 1 || reads_platform == 0) {
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
56 stopNow("Please mention at least one absolute path to input folder which contains\n" +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
57 "FASTQ files sequenced using the --input option.\n" +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
58 "Ex: --input (Illumina or Generic short reads in FASTQ format)")
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
59 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
60
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
61 params.fastp_adapter_fasta ? checkMetadataExists(params.fastp_adapter_fasta, 'Adapter sequences FASTA') : null
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
62 checkMetadataExists(params.lineages_csv, 'Lineages CSV')
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
63 checkMetadataExists(params.kmaalign_idx, 'KMA Indices')
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
64 checkMetadataExists(params.ref_fna, 'FASTA reference')
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
65
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
66 ch_sourmash_lin = file( params.lineages_csv )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
67
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
68
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
69 /*
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
70 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
71 RUN THE NOWAYOUT WORKFLOW
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
72 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
73 */
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
74
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
75 workflow NOWAYOUT {
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
76 main:
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
77 log.info summaryOfParams()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
78
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
79 PROCESS_FASTQ()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
80
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
81 PROCESS_FASTQ.out.versions
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
82 .set { software_versions }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
83
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
84 PROCESS_FASTQ.out.processed_reads
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
85 .set { ch_processed_reads }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
86
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
87 ch_processed_reads
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
88 .map { meta, fastq ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
89 meta.get_kma_hit_accs = true
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
90 meta.salmon_decoys = params.dummyfile
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
91 meta.salmon_lib_type = (params.salmonalign_libtype ?: false)
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
92 meta.kma_t_db = params.kmaalign_idx
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
93 [ meta, fastq ]
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
94 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
95 .filter { meta, fastq ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
96 fq_file = ( fastq.getClass().toString() =~ /ArrayList/ ? fastq : [ fastq ] )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
97 fq_gzip = new GZIPInputStream( new FileInputStream( fq_file[0].toAbsolutePath().toString() ) )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
98 fq_gzip.read() != -1
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
99 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
100 .set { ch_processed_reads }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
101
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
102 FASTP( ch_processed_reads )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
103
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
104 FASTP.out.json
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
105 .map { meta, json ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
106 json
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
107 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
108 .collect()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
109 .set { ch_multiqc }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
110
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
111 KMA_ALIGN(
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
112 FASTP.out.passed_reads
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
113 .map { meta, fastq ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
114 [meta, fastq, []]
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
115 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
116 )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
117
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
118 OTF_GENOME(
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
119 KMA_ALIGN.out.hits
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
120 .join(KMA_ALIGN.out.frags)
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
121 )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
122
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
123 OTF_GENOME.out.reads_extracted
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
124 .filter { meta, fasta ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
125 fa_file = ( fasta.getClass().toString() =~ /ArrayList/ ? fasta : [ fasta ] )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
126 fa_gzip = new GZIPInputStream( new FileInputStream( fa_file[0].toAbsolutePath().toString() ) )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
127 fa_gzip.read() != -1
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
128 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
129 .set { ch_mito_aln_reads }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
130
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
131 SEQKIT_GREP(
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
132 KMA_ALIGN.out.hits
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
133 .filter { meta, mapped_refs ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
134 patterns = file( mapped_refs )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
135 patterns.size() > 0
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
136 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
137 .map { meta, mapped_refs ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
138 [meta, params.ref_fna, mapped_refs]
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
139 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
140 )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
141
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
142 SALMON_INDEX( SEQKIT_GREP.out.fastx )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
143
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
144 SALMON_QUANT(
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
145 ch_mito_aln_reads
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
146 .join( SALMON_INDEX.out.idx )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
147 )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
148
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
149 REDUCE_DB_IDX(
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
150 SEQKIT_GREP.out.fastx,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
151 true,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
152 false,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
153 'db'
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
154 )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
155
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
156 SOURMASH_SKETCH(
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
157 ch_mito_aln_reads,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
158 false,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
159 false,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
160 'query'
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
161 )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
162
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
163 SOURMASH_GATHER(
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
164 SOURMASH_SKETCH.out.signatures
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
165 .join( REDUCE_DB_IDX.out.signatures ),
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
166 [], [], [], []
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
167 )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
168
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
169 // SOURMASH_TAX_METAGENOME(
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
170 // SOURMASH_GATHER.out.result
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
171 // .groupTuple(by: [0])
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
172 // .map { meta, csv ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
173 // [ meta, csv, ch_sourmash_lin ]
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
174 // }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
175 // )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
176
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
177 // SOURMASH_TAX_METAGENOME.out.csv
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
178 // .map { meta, csv ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
179 // csv
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
180 // }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
181 // .set { ch_lin_csv }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
182
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
183 // SOURMASH_TAX_METAGENOME.out.tsv
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
184 // .tap { ch_lin_krona }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
185 // .map { meta, tsv ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
186 // tsv
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
187 // }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
188 // .tap { ch_lin_tsv }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
189
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
190 SOURMASH_GATHER.out.result
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
191 .groupTuple(by: [0])
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
192 .map { meta, csv ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
193 [ csv ]
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
194 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
195 .concat(
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
196 SALMON_QUANT.out.results
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
197 .map { meta, salmon_res ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
198 [ salmon_res ]
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
199 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
200 )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
201 .concat(
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
202 SOURMASH_GATHER.out.failed
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
203 .map { meta, failed ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
204 [ failed ]
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
205 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
206 )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
207 .concat( OTF_GENOME.out.failed )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
208 .collect()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
209 .flatten()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
210 .collect()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
211 .set { ch_gene_abn }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
212
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
213 NOWAYOUT_RESULTS( ch_gene_abn, ch_sourmash_lin )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
214
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
215 NOWAYOUT_RESULTS.out.tsv
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
216 .flatten()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
217 .filter { tsv -> tsv.toString() =~ /.*${params.krona_res_suffix}$/ }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
218 .map { tsv ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
219 meta = [:]
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
220 meta.id = "${params.cfsanpipename}_${params.pipeline}_krona"
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
221 [ meta, tsv ]
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
222 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
223 .groupTuple(by: [0])
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
224 .set { ch_lin_krona }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
225
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
226 // ch_lin_tsv
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
227 // .mix( ch_lin_csv )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
228 // .collect()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
229 // .set { ch_lin_summary }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
230
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
231 // SOURMASH_TAX_METAGENOME.out.txt
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
232 // .map { meta, txt ->
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
233 // txt
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
234 // }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
235 // .collect()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
236 // .set { ch_lin_kreport }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
237
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
238 // NOWAYOUT_RESULTS(
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
239 // ch_lin_summary
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
240 // .concat( SOURMASH_GATHER.out.failed )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
241 // .concat( OTF_GENOME.out.failed )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
242 // .collect()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
243 // )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
244
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
245 KRONA_KTIMPORTTEXT( ch_lin_krona )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
246
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
247 DUMP_SOFTWARE_VERSIONS(
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
248 software_versions
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
249 .mix (
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
250 FASTP.out.versions,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
251 KMA_ALIGN.out.versions,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
252 SEQKIT_GREP.out.versions,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
253 REDUCE_DB_IDX.out.versions,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
254 SOURMASH_SKETCH.out.versions,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
255 SOURMASH_GATHER.out.versions,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
256 SALMON_INDEX.out.versions,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
257 SALMON_QUANT.out.versions,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
258 NOWAYOUT_RESULTS.out.versions,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
259 KRONA_KTIMPORTTEXT.out.versions
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
260 )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
261 .unique()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
262 .collectFile(name: 'collected_versions.yml')
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
263 )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
264
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
265 DUMP_SOFTWARE_VERSIONS.out.mqc_yml
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
266 .concat(
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
267 ch_multiqc,
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
268 NOWAYOUT_RESULTS.out.mqc_yml
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
269 )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
270 .collect()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
271 .flatten()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
272 .collect()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
273 .set { ch_multiqc }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
274
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
275 MULTIQC( ch_multiqc )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
276 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
277
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
278 /*
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
279 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
280 ON COMPLETE, SHOW GORY DETAILS OF ALL PARAMS WHICH WILL BE HELPFUL TO DEBUG
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
281 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
282 */
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
283
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
284 workflow.onComplete {
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
285 if (workflow.success) {
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
286 sendMail()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
287 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
288 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
289
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
290 workflow.onError {
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
291 sendMail()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
292 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
293
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
294 /*
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
295 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
296 METHOD TO CHECK METADATA EXISTENCE
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
297 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
298 */
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
299
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
300 def checkMetadataExists(file_path, msg) {
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
301 file_path_obj = file( file_path )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
302
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
303 if (msg.toString().find(/(?i)KMA/)) {
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
304 if (!file_path_obj.parent.exists()) {
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
305 stopNow("Please check if your ${msg}\n" +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
306 "[ ${file_path} ]\nexists and that the files are not of size 0.")
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
307 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
308
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
309 // Check if db files within parent path are empty.
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
310 file_path_obj.parent.eachFileRecurse {
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
311 if (it.size() == 0) {
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
312 stopNow("For ${msg}, within\n" +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
313 "[ ${file_path} ],\nthe following file is of size 0: ${it.name}")
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
314 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
315 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
316
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
317 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
318 else if (!file_path_obj.exists() || file_path_obj.size() == 0) {
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
319 stopNow("Please check if your ${msg} file\n" +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
320 "[ ${file_path} ]\nexists and is not of size 0.")
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
321 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
322 }
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
323
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
324 /*
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
325 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
326 HELP TEXT METHODS FOR NOWAYOUT WORKFLOW
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
327 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
328 */
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
329
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
330 def help() {
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
331
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
332 Map helptext = [:]
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
333
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
334 helptext.putAll (
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
335 fastqEntryPointHelp() +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
336 fastpHelp(params).text +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
337 kmaalignHelp(params).text +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
338 seqkitgrepHelp(params).text +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
339 salmonidxHelp(params).text +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
340 sourmashsketchHelp(params).text +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
341 sourmashgatherHelp(params).text +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
342 sfhpyHelp(params).text +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
343 gsalkronapyHelp(params).text +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
344 kronaktimporttextHelp(params).text +
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
345 wrapUpHelp()
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
346 )
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
347
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
348 return addPadding(helptext)
3c767f9cfd88 planemo upload
galaxytrakr
parents:
diff changeset
349 }