comparison multiqc.xml @ 22:85613e9ad431 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/multiqc commit 57b36cfbdd1663aef43d03b76e37364cc5bdeef3"
author iuc
date Wed, 03 Nov 2021 15:16:53 +0000
parents 6dbde6ce9d93
children d01bcfd04189
comparison
equal deleted inserted replaced
21:6dbde6ce9d93 22:85613e9ad431
1 <tool id="multiqc" name="MultiQC" version="@WRAPPER_VERSION@+galaxy1"> 1 <tool id="multiqc" name="MultiQC" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.01">
2 <description>aggregate results from bioinformatics analyses into a single report</description> 2 <description>aggregate results from bioinformatics analyses into a single report</description>
3 <xrefs> 3
4 <xref type="bio.tools">multiqc</xref>
5 </xrefs>
6 <macros> 4 <macros>
7 <token name="@WRAPPER_VERSION@">1.9</token> 5 <import>macros.xml</import>
8 <token name="@ESCAPE_IDENTIFIER@">
9 <![CDATA[
10 #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier))
11 ]]></token>
12 <token name="@CHECK_LN_FILE@">
13 <![CDATA[
14 #if $file_path in $file_paths
15 #set $file_path += '_' + str($file_paths.count($file_path))
16 #end if
17 #set $file_paths += [$file_path]
18 grep -q '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" &&
19 ln -s '$file' '$file_path' &&
20 ]]></token>
21 <token name="@CREATE_REPEAT_DIR_1@">
22 <![CDATA[
23 #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j))
24 mkdir '$repeat_dir' &&
25 ]]></token>
26 <token name="@CREATE_REPEAT_DIR_2@">
27 <![CDATA[
28 #set repeat_dir = os.path.join($software_dir, str($repeat2.type.type) + '_' + str($j))
29 mkdir '$repeat_dir' &&
30 ]]></token>
31 <token name="@LN_FILES@">
32 <![CDATA[
33 #set file_paths = []
34 #for $file in $repeat.software_cond.input
35 @ESCAPE_IDENTIFIER@
36 #set file_path = os.path.join($software_dir, str($identifier))
37 @CHECK_LN_FILE@
38 #end for
39 ]]></token>
40 <token name="@LN_2_FILES@">
41 <![CDATA[
42 #set file_paths = []
43 @CREATE_REPEAT_DIR_1@
44 #for $file in $repeat2.input
45 #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier))
46 #set file_path = os.path.join($repeat_dir, str($identifier))
47 @CHECK_LN_FILE@
48 #end for
49 ]]></token>
50 <token name="@LN_3_FILES@">
51 <![CDATA[
52 #set file_paths = []
53 #for $file in $repeat2.type.input
54 #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier))
55 #set file_path = os.path.join($repeat_dir, str($identifier))
56 @CHECK_LN_FILE@
57 #end for
58 ]]></token>
59 <xml name="element_assert" token_name="" token_lines="" token_columns="" token_text="">
60 <element name="@NAME@">
61 <assert_contents>
62 <has_n_columns n="@COLUMNS@"/>
63 <has_n_lines n="@LINES@"/>
64 <has_text text="@TEXT@"/>
65 <yield/>
66 </assert_contents>
67 </element>
68 </xml>
69 </macros> 6 </macros>
70 <requirements> 7 <expand macro="bio_tools"/>
71 <requirement type="package" version="@WRAPPER_VERSION@">multiqc</requirement> 8 <expand macro='requirements' />
72 </requirements>
73 <version_command>multiqc --version</version_command> 9 <version_command>multiqc --version</version_command>
74 <command detect_errors="aggressive"> 10 <command detect_errors="aggressive">
75 <![CDATA[ 11 <![CDATA[
76 #import re 12 #import re
77 #import os 13 #import os
83 #set $configfile="F" 19 #set $configfile="F"
84 20
85 #for $i, $repeat in enumerate( $results ) 21 #for $i, $repeat in enumerate( $results )
86 #set software_dir = os.path.join('multiqc_WDir', str($repeat.software_cond.software) + '_' + str($i)) 22 #set software_dir = os.path.join('multiqc_WDir', str($repeat.software_cond.software) + '_' + str($i))
87 mkdir $software_dir && 23 mkdir $software_dir &&
88
89 #if str($repeat.software_cond.software) == "bamtools" 24 #if str($repeat.software_cond.software) == "bamtools"
90 #set $pattern = "Stats for BAM file(s)" 25 #set $pattern = "Stats for BAM file(s)"
91 @LN_FILES@ 26 @LN_FILES@
92 #elif str($repeat.software_cond.software) == "bcftools" 27 #elif str($repeat.software_cond.software) == "bcftools"
93 #set $pattern = "This file was produced by bcftools stats" 28 #set $pattern = "This file was produced by bcftools stats"
94 @LN_FILES@ 29 @LN_FILES@
95 #elif str($repeat.software_cond.software) == "bismark" 30 #elif str($repeat.software_cond.software) == "bismark"
96 #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) 31 @BISMARK_INPUT@
97 @CREATE_REPEAT_DIR_1@
98 #if str($repeat2.type) == "align"
99 #for $file in $repeat2.input
100 @ESCAPE_IDENTIFIER@
101 #set file_path = os.path.join($repeat_dir, str($identifier) + '_SE_report.txt')
102 ln -s '$file' '$file_path' &&
103 #end for
104 #elif str($repeat2.type) == "dedup"
105 #for $file in $repeat2.input
106 @ESCAPE_IDENTIFIER@
107 #set file_path = os.path.join($repeat_dir, str($identifier) + '_deduplication_report.txt')
108 ln -s '$file' '$file_path' &&
109 #end for
110 #elif str($repeat2.type) == "meth_extract"
111 #for $file in $repeat2.input
112 @ESCAPE_IDENTIFIER@
113 #set file_path = os.path.join($repeat_dir, str($identifier) + '_splitting_report.txt')
114 ln -s '$file' '$file_path' &&
115 #end for
116 #elif str($repeat2.type) == "m_bias"
117 #for $file in $repeat2.input
118 @ESCAPE_IDENTIFIER@
119 #set file_path = os.path.join($repeat_dir, str($identifier) + '_M-bias.txt')
120 ln -s '$file' '$file_path' &&
121 #end for
122 #elif str($repeat2.type) == "bam2nuc"
123 #for $file in $repeat2.input
124 @ESCAPE_IDENTIFIER@
125 #set file_path = os.path.join($repeat_dir, str($identifier) + '.nucleotide_stats.txt')
126 ln -s '$file' '$file_path' &&
127 #end for
128 #end if
129 #end for
130 #elif str($repeat.software_cond.software) == "bowtie2" 32 #elif str($repeat.software_cond.software) == "bowtie2"
131 #set $pattern = "% overall alignment rate" 33 #set $pattern = "% overall alignment rate"
132 @LN_FILES@ 34 @LN_FILES@
133 #elif str($repeat.software_cond.software) == "busco" 35 #elif str($repeat.software_cond.software) == "busco"
134 ## Searches for files "short_summary_[samplename].txt" 36 ## Searches for files "short_summary_[samplename].txt"
146 ## replace header for old cutadapt release 48 ## replace header for old cutadapt release
147 sed -i.old 's/You are running/This is/' '$file_path' && 49 sed -i.old 's/You are running/This is/' '$file_path' &&
148 grep -q "$pattern" '$file_path' || die "'$pattern' or 'You are running cutadapt' not found in the file" && 50 grep -q "$pattern" '$file_path' || die "'$pattern' or 'You are running cutadapt' not found in the file" &&
149 #end for 51 #end for
150 #elif str($repeat.software_cond.software) == "deeptools" 52 #elif str($repeat.software_cond.software) == "deeptools"
151 #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) 53 @DEEPTOOLS_INPUT@
152 #if str($repeat2.type) == "bamPEFragmentSize"
153 #set $pattern = "Frag."
154 @LN_2_FILES@
155 #elif str($repeat2.type) == "estimateReadFiltering"
156 #set $pattern = "Internally-determined Duplicate"
157 @LN_2_FILES@
158 #elif str($repeat2.type) == "plotCoverageStdout"
159 #set $pattern = "sample"
160 @LN_2_FILES@
161 #elif str($repeat2.type) == "plotCoverageOutRawCounts"
162 #set $pattern = "#plotCoverage --outRawCounts"
163 @LN_2_FILES@
164 #elif str($repeat2.type) == "plotEnrichment"
165 #set $pattern = "featureReadCount"
166 @LN_2_FILES@
167 #elif str($repeat2.type) == "plotFingerprintOutRawCounts"
168 #set $pattern = "#plotFingerprint --outRawCounts"
169 @LN_2_FILES@
170 #end if
171 #end for
172 #elif str($repeat.software_cond.software) == "fastp" 54 #elif str($repeat.software_cond.software) == "fastp"
173 #set $pattern = "report_title" 55 #set $pattern = "report_title"
174 #for $file in $repeat.software_cond.input 56 #for $file in $repeat.software_cond.input
175 @ESCAPE_IDENTIFIER@ 57 @ESCAPE_IDENTIFIER@
176 #set file_path = os.path.join($software_dir, str($identifier) + 'fastp.json') 58 #set file_path = os.path.join($software_dir, str($identifier) + 'fastp.json')
177 ln -s '$file' '$file_path' && 59 ln -s '$file' '$file_path' &&
178 grep -q "$pattern" '$file_path' || die "'$pattern' or 'report_title' not found in the file" && 60 grep -q "$pattern" '$file_path' || die "'$pattern' or 'report_title' not found in the file" &&
179 #end for 61 #end for
180 #elif str($repeat.software_cond.software) == "fastqc" 62 #elif str($repeat.software_cond.software) == "fastqc"
181 #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) 63 @FASTQC_INPUT@
182 @CREATE_REPEAT_DIR_1@
183 #if str($repeat2.type) == "data"
184 #for $k, $file in enumerate($repeat2.input)
185 #set file_dir = os.path.join($repeat_dir, 'file_' + str($k))
186 #set file_path = os.path.join($file_dir, 'fastqc_data.txt')
187 mkdir '$file_dir' &&
188 ln -s '$file' '$file_path' &&
189 #end for
190 #elif str($repeat2.type) == "theoretical_gc"
191 #for $file in $repeat2.input
192 @ESCAPE_IDENTIFIER@
193 #set file_path = os.path.join($repeat_dir, str($identifier) + '_fastqc_theoretical_gc')
194 ln -s '$file' '$file_path' &&
195 #end for
196 #end if
197 #end for
198 #elif str($repeat.software_cond.software) == "featureCounts" 64 #elif str($repeat.software_cond.software) == "featureCounts"
199 #for $file in $repeat.software_cond.input 65 #for $file in $repeat.software_cond.input
200 @ESCAPE_IDENTIFIER@ 66 @ESCAPE_IDENTIFIER@
201 #set file_prefix = os.path.join($software_dir, str($identifier)) 67 #set file_prefix = os.path.join($software_dir, str($identifier))
202 if grep -qw Status '$file'; then 68 if grep -qw Status '$file'; then
244 #set file_path = os.path.join($software_dir, str($identifier) + '_peaks.xls') 110 #set file_path = os.path.join($software_dir, str($identifier) + '_peaks.xls')
245 grep -q "$pattern" $file || die "'$pattern' not found in the file" && 111 grep -q "$pattern" $file || die "'$pattern' not found in the file" &&
246 ln -s '$file' '$file_path' && 112 ln -s '$file' '$file_path' &&
247 #end for 113 #end for
248 #elif str($repeat.software_cond.software) == "picard" 114 #elif str($repeat.software_cond.software) == "picard"
249 #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) 115 @PICCARD_INPUT@
250 #if str($repeat2.type) == "alignment_metrics"
251 #set $pattern = "picard.analysis.AlignmentSummaryMetrics"
252 @LN_2_FILES@
253 #elif str($repeat2.type) == "basedistributionbycycle"
254 #set $pattern = "picard.analysis.BaseDistributionByCycleMetrics"
255 @LN_2_FILES@
256 #elif str($repeat2.type) == "gcbias"
257 #set $pattern = "picard.analysis.GcBias"
258 @LN_2_FILES@
259 #elif str($repeat2.type) == "hsmetrics"
260 #set $pattern = "picard.analysis.directed.HsMetrics"
261 @LN_2_FILES@
262 #elif str($repeat2.type) == "insertsize"
263 #set $pattern = "picard.analysis.InsertSizeMetrics"
264 @LN_2_FILES@
265 #elif str($repeat2.type) == "markdups"
266 #set $pattern = "MarkDuplicates"
267 @LN_2_FILES@
268 #elif str($repeat2.type) == "oxogmetrics"
269 #set $pattern = "picard.analysis.CollectOxoGMetrics"
270 @LN_2_FILES@
271 #elif str($repeat2.type) == "pcr_metrics"
272 #set $pattern = "picard.analysis.directed.TargetedPcrMetrics"
273 @LN_2_FILES@
274 #elif str($repeat2.type) == "rnaseqmetrics"
275 #set $pattern = "Collect"
276 @LN_2_FILES@
277 #elif str($repeat2.type) == "rrbs_metrics"
278 #set $pattern = "picard.analysis.RrbsSummaryMetrics"
279 @LN_2_FILES@
280 #elif str($repeat2.type) == "wgs_metrics"
281 #set $pattern = "picard.analysis.CollectWgsMetrics$WgsMetrics"
282 @LN_2_FILES@
283 #end if
284 #end for
285 #elif str($repeat.software_cond.software) == "prokka" 116 #elif str($repeat.software_cond.software) == "prokka"
286 #set $pattern = "contigs:" 117 #set $pattern = "contigs:"
287 @LN_FILES@ 118 @LN_FILES@
288 #elif str($repeat.software_cond.software) == "pycoqc" 119 #elif str($repeat.software_cond.software) == "pycoqc"
289 #set $pattern = "\"pycoqc\":" 120 #set $pattern = "\"pycoqc\":"
290 @LN_FILES@ 121 @LN_FILES@
291 #elif str($repeat.software_cond.software) == "qualimap" 122 #elif str($repeat.software_cond.software) == "qualimap"
292 #for $file in $repeat.software_cond.input 123 @QUALIMAP_INPUT@
293 #if re.search("genome_results", str($file.element_identifier))
294 sample="\$(grep 'bam file = ' $file | sed 's/bam file = //g' | sed 's: ::g')" &&
295 dir_name="$software_dir/\${sample}" &&
296 mkdir -p \${dir_name} &&
297 filepath_1="\${dir_name}/genome_results.txt" &&
298 ln -sf '$file' \${filepath_1} &&
299 #elif re.search("coverage_histogram", str($file.element_identifier))
300 nested_dir_name="\${dir_name}/raw_data_qualimapReport/" &&
301 mkdir -p \${nested_dir_name} &&
302 filepath_2="\${nested_dir_name}/coverage_histogram.txt" &&
303 ln -sf '$file' \${filepath_2} &&
304 #elif re.search("gc-content_distribution", str($file.element_identifier))
305 nested_dir_name="\${dir_name}/raw_data_qualimapReport/" &&
306 mkdir -p \${nested_dir_name} &&
307 filepath_3="\${nested_dir_name}/mapped_reads_gc-content_distribution.txt" &&
308 ln -sf '$file' \${filepath_3} &&
309 #else
310 #pass
311 #end if
312 #end for
313 #elif str($repeat.software_cond.software) == "quast" 124 #elif str($repeat.software_cond.software) == "quast"
314 #for $k, $file in enumerate($repeat.software_cond.input) 125 #for $k, $file in enumerate($repeat.software_cond.input)
315 #set file_dir = os.path.join($software_dir, 'file_' + str($k)) 126 #set file_dir = os.path.join($software_dir, 'file_' + str($k))
316 #set file_path = os.path.join($file_dir, 'report.tsv') 127 #set file_path = os.path.join($file_dir, 'report.tsv')
317 mkdir '$file_dir' && 128 mkdir '$file_dir' &&
322 @ESCAPE_IDENTIFIER@ 133 @ESCAPE_IDENTIFIER@
323 #set file_path = os.path.join($software_dir, str($identifier) + '.cnt') 134 #set file_path = os.path.join($software_dir, str($identifier) + '.cnt')
324 ln -s '$file' '$file_path' && 135 ln -s '$file' '$file_path' &&
325 #end for 136 #end for
326 #elif str($repeat.software_cond.software) == "rseqc" 137 #elif str($repeat.software_cond.software) == "rseqc"
327 #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) 138 @RSEQ_INPUT@
328 @CREATE_REPEAT_DIR_2@
329 #if str($repeat2.type.type) == "bam_stat"
330 #set $pattern = "Proper-paired reads map to different chrom:"
331 @LN_3_FILES@
332 #elif str($repeat2.type.type) == "gene_body_coverage"
333 #for $k, $file in enumerate($repeat2.type.input)
334 #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.geneBodyCoverage.txt')
335 ln -s '$file' '$file_path' &&
336 #end for
337 #elif str($repeat2.type.type) == "inner_distance"
338 #for $k, $file in enumerate($repeat2.type.input)
339 #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.inner_distance_freq.txt')
340 ln -s '${file}' '$file_path' &&
341 #end for
342 #elif str($repeat2.type.type) == "junction_annotation"
343 #set $pattern = "Partial Novel Splicing Junctions:"
344 @LN_3_FILES@
345 #elif str($repeat2.type.type) == "read_gc"
346 #for $k, $file in enumerate($repeat2.type.input)
347 #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.GC.xls')
348 ln -s '$file' '$file_path' &&
349 #end for
350 #elif str($repeat2.type.type) == "junction_annotation"
351 #set $pattern = "Group Total_bases Tag_count Tags/Kb"
352 @LN_3_FILES@
353 #elif str($repeat2.type.type) == "read_distribution"
354 #set $pattern = "Group Total_bases Tag_count Tags/Kb"
355 @LN_3_FILES@
356 #elif str($repeat2.type.type) == "read_duplication_pos"
357 #for $k, $file in enumerate($repeat2.type.input)
358 #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.pos.DupRate.xls')
359 ln -s '$file' '$file_path' &&
360 #end for
361 #elif str($repeat2.type.type) == "infer_experiment"
362 #set $pattern = "Fraction of reads explained by"
363 #for $file in $repeat2.type.input
364 @ESCAPE_IDENTIFIER@
365 #set file_path = os.path.join($repeat_dir, str($identifier))
366 grep -q "$pattern" $file || die "'$pattern' not found in the file" &&
367 ln -s '$file' '$file_path' &&
368 #end for
369 #end if
370 #end for
371 #elif str($repeat.software_cond.software) == "salmon" 139 #elif str($repeat.software_cond.software) == "salmon"
372 #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) 140 @SALMON_INPUT@
373 @CREATE_REPEAT_DIR_2@
374 #if str($repeat2.type.type) == "meta"
375 #for $k, $file in enumerate($repeat2.type.input)
376 #set file_dir = os.path.join($repeat_dir, 'file_' + str($k))
377 #set file_path = os.path.join($file_dir, 'meta_info.json')
378 mkdir '$file_dir' &&
379 ln -s '$file' '$file_path' &&
380 #end for
381 #elif str($repeat2.type.type) == "fld"
382 #for $k, $file in enumerate($repeat2.type.input)
383 #set file_dir = os.path.join($repeat_dir, 'file_' + str($k))
384 #set file_path = os.path.join($file_dir,'flenDist.txt')
385 mkdir '$file_dir' &&
386 ln -s '$file' '$file_path' &&
387 #end for
388 #end if
389 #end for
390 #elif str($repeat.software_cond.software) == "samblaster" 141 #elif str($repeat.software_cond.software) == "samblaster"
391 #set $pattern = "samblaster: Version" 142 #set $pattern = "samblaster: Version"
392 @LN_FILES@ 143 @LN_FILES@
393 #elif str($repeat.software_cond.software) == "samtools" 144 #elif str($repeat.software_cond.software) == "samtools"
394 #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) 145 @SAMTOOLS_INPUT@
395 @CREATE_REPEAT_DIR_2@
396 #if str($repeat2.type.type) == "stats"
397 #set $pattern = "This file was produced by samtools stats"
398 @LN_3_FILES@
399 #elif str($repeat2.type.type) == "flagstat"
400 #set $pattern = "in total (QC-passed reads + QC-failed reads)"
401 @LN_3_FILES@
402 #elif str($repeat2.type.type) == "idxstats"
403 #for $file in $repeat2.type.input
404 @ESCAPE_IDENTIFIER@
405 #set file_path = os.path.join($repeat_dir, str($identifier) + '_idxstat')
406 ln -s '$file' '$file_path' &&
407 #end for
408 #elif str($repeat2.type.type) == "rmdup"
409 #set $pattern = "[bam_rmdup"
410 @LN_3_FILES@
411 #end if
412 #end for
413 #elif str($repeat.software_cond.software) == "slamdunk" 146 #elif str($repeat.software_cond.software) == "slamdunk"
414 #set $pattern = "# slamdunk" 147 #set $pattern = "# slamdunk"
415 @LN_FILES@ 148 @LN_FILES@
416 #elif str($repeat.software_cond.software) == "snpeff" 149 #elif str($repeat.software_cond.software) == "snpeff"
417 #set $pattern = "SnpEff_version" 150 #set $pattern = "SnpEff_version"
418 @LN_FILES@ 151 @LN_FILES@
419 #elif str($repeat.software_cond.software) == "sortmerna" 152 #elif str($repeat.software_cond.software) == "sortmerna"
420 #set $pattern = "Minimal SW score based on E-value" 153 #set $pattern = "Minimal SW score based on E-value"
421 @LN_FILES@ 154 @LN_FILES@
422 #else if str($repeat.software_cond.software) == "star": 155 #else if str($repeat.software_cond.software) == "star":
423 #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) 156 @STAR_INPUT@
424 @CREATE_REPEAT_DIR_2@
425 #if str($repeat2.type.type) == "log"
426 #for $file in $repeat2.type.input
427 @ESCAPE_IDENTIFIER@
428 #set file_path = os.path.join($repeat_dir, str($identifier) + '_Log.final.out')
429 ln -s '$file' '$file_path' &&
430 #end for
431 #elif str($repeat2.type.type) == "genecounts"
432 #for $file in $repeat2.type.input
433 @ESCAPE_IDENTIFIER@
434 #set file_path = os.path.join($repeat_dir, str($identifier) + '_ReadsPerGene.out.tab')
435 ln -s '$file' '$file_path' &&
436 #end for
437 #end if
438 #end for
439 #elif str($repeat.software_cond.software) == "tophat" 157 #elif str($repeat.software_cond.software) == "tophat"
440 #for $file in $repeat.software_cond.input 158 #for $file in $repeat.software_cond.input
441 @ESCAPE_IDENTIFIER@ 159 @ESCAPE_IDENTIFIER@
442 #set file_path = os.path.join($software_dir, str($identifier) + 'align_summary.txt') 160 #set file_path = os.path.join($software_dir, str($identifier) + 'align_summary.txt')
443 ln -s '$file' '$file_path' && 161 ln -s '$file' '$file_path' &&
444 #end for 162 #end for
445 #elif str($repeat.software_cond.software) == "trimmomatic" 163 #elif str($repeat.software_cond.software) == "trimmomatic"
446 #set $pattern = "Trimmomatic" 164 #set $pattern = "Trimmomatic"
447 @LN_FILES@ 165 @LN_FILES@
448 #elif str($repeat.software_cond.software) == "vcftools" 166 #elif str($repeat.software_cond.software) == "vcftools"
449 #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) 167 @VCFTOOLS_INPUT@
450 @CREATE_REPEAT_DIR_2@
451 #if str($repeat2.type.type) == "relatedness2"
452 #for $file in $repeat2.type.input
453 @ESCAPE_IDENTIFIER@
454 #set file_path = os.path.join($repeat_dir, str($identifier) + '.relatedness2')
455 ln -s '$file' '$file_path' &&
456 #end for
457 #elif str($repeat2.type) == "tstv_by_count"
458 #for $file in $repeat2.type.input
459 @ESCAPE_IDENTIFIER@
460 #set file_path = os.path.join($repeat_dir, str($identifier) + '.TsTv.count')
461 ln -s '$file' '$file_path' &&
462 #end for
463 #elif str($repeat2.type) == "tstv_by_qual"
464 #for $file in $repeat2.type.input
465 @ESCAPE_IDENTIFIER@
466 #set file_path = os.path.join($repeat_dir, str($identifier) + '.TsTv.qual')
467 ln -s '$file' '$file_path' &&
468 #end for
469 #elif str($repeat2.type) == "tstv_summary"
470 #for $file in $repeat2.type.input
471 @ESCAPE_IDENTIFIER@
472 #set file_path = os.path.join($repeat_dir, str($identifier) + '.TsTv.summary')
473 ln -s '$file' '$file_path' &&
474 #end for
475 #end if
476 #end for
477 #else if str($repeat.software_cond.software) == "custom_content": 168 #else if str($repeat.software_cond.software) == "custom_content":
478 #set $configfile = "T" 169 #set $configfile = "T"
479 #for $j, $file in enumerate( $repeat.software_cond.input ) 170 #for $j, $file in enumerate( $repeat.software_cond.input )
480 #set file_path = os.path.join($software_dir, 'file_' + str($i) + '_' + str($j)) 171 #set file_path = os.path.join($software_dir, 'file_' + str($i) + '_' + str($j))
481 ln -s '$file' '$file_path' && 172 ln -s '$file' '$file_path' &&
483 #end for 174 #end for
484 #end if 175 #end if
485 #end for 176 #end for
486 177
487 multiqc multiqc_WDir 178 multiqc multiqc_WDir
488 --filename "report" 179 --filename 'report'
489 180
490 #if str($title) 181 #if str($title)
491 --title "$title" 182 --title '$title'
492 #end if 183 #end if
493 #if str($comment) 184 #if str($comment)
494 --comment "$comment" 185 --comment '$comment'
495 #end if 186 #end if
496 187
497 $flat 188 $flat
498 $export 189 $export
499 190
859 <param argument="ylab" label="Y axis label" type="text" /> 550 <param argument="ylab" label="Y axis label" type="text" />
860 <param name="input" type="data" format="tabular,tsv" multiple="true" label="Data files"/> 551 <param name="input" type="data" format="tabular,tsv" multiple="true" label="Data files"/>
861 </when> 552 </when>
862 </conditional> 553 </conditional>
863 </repeat> 554 </repeat>
864 <param name="title" type="text" value="" optional="true" label="Report title" help="It is printed as page header"/> 555 <param name="title" type="text" value="" optional="true" label="Report title" help="It is printed as page header">
865 <param name="comment" type="text" value="" optional="true" label="Custom comment" help="It will be printed at the top of the report"/> 556 <sanitizer invalid_char="">
557 <valid initial="string.letters,string.digits">
558 <add value="," />
559 <add value=":" />
560 <add value="-" />
561 <add value="_" />
562 <add value=" " />
563 <add value="." />
564 </valid>
565 </sanitizer>
566 <validator type="regex">[0-9a-zA-Z,: _.-]+</validator>
567 </param>
568 <param name="comment" type="text" value="" optional="true" label="Custom comment" help="It will be printed at the top of the report">
569 <sanitizer invalid_char="">
570 <valid initial="string.letters,string.digits">
571 <add value="," />
572 <add value=":" />
573 <add value="-" />
574 <add value="_" />
575 <add value=" " />
576 <add value="." />
577 </valid>
578 </sanitizer>
579 <validator type="regex">[0-9a-zA-Z,: _.-]+</validator>
580 </param>
866 <param argument="--flat" type="boolean" truevalue="--flat" falsevalue="" checked="false" label="Use only flat plots (non-interactive images)" help="To consume less disk space and resources to display. Used by default when there are 100 or more samples."/> 581 <param argument="--flat" type="boolean" truevalue="--flat" falsevalue="" checked="false" label="Use only flat plots (non-interactive images)" help="To consume less disk space and resources to display. Used by default when there are 100 or more samples."/>
867 <param argument="--export" type="boolean" truevalue="--export" falsevalue="" checked="false" label="Output the multiQC plots raw data?" help="This will output a file for each plot containing the raw data used to generate the plot"/> 582 <param argument="--export" type="boolean" truevalue="--export" falsevalue="" checked="false" label="Output the multiQC plots raw data?" help="This will output a file for each plot containing the raw data used to generate the plot"/>
868 <param name="saveLog" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Output the multiQC log file?" help="This is mostly useful for debugging purposes"/> 583 <param name="saveLog" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Output the multiQC log file?" help="This is mostly useful for debugging purposes"/>
869 </inputs> 584 </inputs>
870 <outputs> 585 <outputs>
879 <discover_datasets pattern="mqc_(?P&lt;designation&gt;.+)\.txt" format="tabular" directory="report_data" /> 594 <discover_datasets pattern="mqc_(?P&lt;designation&gt;.+)\.txt" format="tabular" directory="report_data" />
880 <filter>export</filter> 595 <filter>export</filter>
881 </collection> 596 </collection>
882 </outputs> 597 </outputs>
883 <tests> 598 <tests>
599 <!--Test 01-->
884 <test expect_num_outputs="4"> 600 <test expect_num_outputs="4">
885 <repeat name="results"> 601 <repeat name="results">
886 <conditional name="software_cond"> 602 <conditional name="software_cond">
887 <param name="software" value="cutadapt" /> 603 <param name="software" value="cutadapt" />
888 <param name="input" value="cutadapt.txt" /> 604 <param name="input" value="cutadapt.txt" />
949 <assert_contents> 665 <assert_contents>
950 <has_text_matching expression="\[INFO \] MultiQC complete$"/> 666 <has_text_matching expression="\[INFO \] MultiQC complete$"/>
951 </assert_contents> 667 </assert_contents>
952 </output> 668 </output>
953 <output_collection name="stats" type="list" count="10"> 669 <output_collection name="stats" type="list" count="10">
954 <expand macro="element_assert" name="cutadapt" columns="8" lines="2" text="dataset_33"/> 670 <expand macro="element_assert" name="cutadapt" columns="9" lines="2" text="dataset_33"/>
955 <expand macro="element_assert" name="fastp" columns="2" lines="3" text="R1_fq"/> 671 <expand macro="element_assert" name="fastp" columns="2" lines="3" text="R1_fq"/>
956 <expand macro="element_assert" name="fastqc" columns="22" lines="3" text="poulet5_1"/> 672 <expand macro="element_assert" name="fastqc" columns="22" lines="3" text="poulet5_1"/>
957 <expand macro="element_assert" name="flexbar" columns="11" lines="2" text="result_right"/> 673 <expand macro="element_assert" name="flexbar" columns="11" lines="2" text="result_right"/>
958 <expand macro="element_assert" name="general_stats" columns="20" lines="11" text="bwa-mem-fastq1_fq"/> 674 <expand macro="element_assert" name="general_stats" columns="20" lines="11" text="bwa-mem-fastq1_fq"/>
959 <expand macro="element_assert" name="slamdunk_readrates_plus" columns="13" lines="3" text="slamdunk_reads1_overallrates_csv"/> 675 <expand macro="element_assert" name="slamdunk_readrates_plus" columns="13" lines="3" text="slamdunk_reads1_overallrates_csv"/>
962 <expand macro="element_assert" name="sources" columns="4" lines="7" text="Module"/> 678 <expand macro="element_assert" name="sources" columns="4" lines="7" text="Module"/>
963 <expand macro="element_assert" name="trimmomatic" columns="6" lines="2" text="C2"/> 679 <expand macro="element_assert" name="trimmomatic" columns="6" lines="2" text="C2"/>
964 </output_collection> 680 </output_collection>
965 <output_collection name="plots" type="list" count="29"/> 681 <output_collection name="plots" type="list" count="29"/>
966 </test> 682 </test>
683 <!--Test 02-->
967 <test expect_num_outputs="2"> 684 <test expect_num_outputs="2">
968 <repeat name="results"> 685 <repeat name="results">
969 <conditional name="software_cond"> 686 <conditional name="software_cond">
970 <param name="software" value="bismark" /> 687 <param name="software" value="bismark" />
971 <repeat name="output"> 688 <repeat name="output">
1042 </assert_contents> 759 </assert_contents>
1043 </output> 760 </output>
1044 <output_collection name="stats" type="list" count="11"> 761 <output_collection name="stats" type="list" count="11">
1045 <expand macro="element_assert" name="bismark_alignment" columns="21" lines="2" text="bismark_txt_SE_report"/> 762 <expand macro="element_assert" name="bismark_alignment" columns="21" lines="2" text="bismark_txt_SE_report"/>
1046 <expand macro="element_assert" name="bowtie2" columns="7" lines="3" text="bowtie2_1_txt"/> 763 <expand macro="element_assert" name="bowtie2" columns="7" lines="3" text="bowtie2_1_txt"/>
1047 <expand macro="element_assert" name="cutadapt" columns="8" lines="5" text="HS002-PE-R00059_BD0U5YACXX.RHM067_CAGATC_L002_R2"/> 764 <expand macro="element_assert" name="cutadapt" columns="9" lines="5" text="HS002-PE-R00059_BD0U5YACXX.RHM067_CAGATC_L002_R2"/>
1048 <expand macro="element_assert" name="general_stats" columns="21" lines="19" text="treat2"/> 765 <expand macro="element_assert" name="general_stats" columns="22" lines="19" text="treat2"/>
1049 <expand macro="element_assert" name="hicexplorer" columns="41" lines="4" text="hicexplorer_3_hicexplorer2_log_small_test_rf"/> 766 <expand macro="element_assert" name="hicexplorer" columns="41" lines="4" text="hicexplorer_3_hicexplorer2_log_small_test_rf"/>
1050 <expand macro="element_assert" name="hisat2" columns="6" lines="3" text="hisat2_2_txt"/> 767 <expand macro="element_assert" name="hisat2" columns="6" lines="3" text="hisat2_2_txt"/>
1051 <expand macro="element_assert" name="kallisto" columns="6" lines="3" text="HS002-PE-R00059_BD0U5YACXX.RHM067_CAGATC_L002_R1_val_1"/> 768 <expand macro="element_assert" name="kallisto" columns="6" lines="3" text="HS002-PE-R00059_BD0U5YACXX.RHM067_CAGATC_L002_R1_val_1"/>
1052 <expand macro="element_assert" name="macs" columns="11" lines="3" text="treat2"/> 769 <expand macro="element_assert" name="macs" columns="12" lines="3" text="treat2"/>
1053 <expand macro="element_assert" name="sources" columns="4" lines="18" text="Cutadapt"/> 770 <expand macro="element_assert" name="sources" columns="4" lines="18" text="Cutadapt"/>
1054 <expand macro="element_assert" name="star" columns="27" lines="2" text="star_log_txt"/> 771 <expand macro="element_assert" name="star" columns="27" lines="2" text="star_log_txt"/>
1055 <expand macro="element_assert" name="tophat.txt" columns="9" lines="2" text="tophat_txtalign"/> 772 <expand macro="element_assert" name="tophat.txt" columns="9" lines="2" text="tophat_txtalign"/>
1056 </output_collection> 773 </output_collection>
1057 </test> 774 </test>
775 <!--Test 03-->
1058 <test expect_num_outputs="2"> 776 <test expect_num_outputs="2">
1059 <repeat name="results"> 777 <repeat name="results">
1060 <conditional name="software_cond"> 778 <conditional name="software_cond">
1061 <param name="software" value="bamtools" /> 779 <param name="software" value="bamtools" />
1062 <param name="input" value="bamtools.txt" /> 780 <param name="input" value="bamtools.txt" />
1216 </conditional> 934 </conditional>
1217 </repeat> 935 </repeat>
1218 <repeat name="results"> 936 <repeat name="results">
1219 <conditional name="software_cond"> 937 <conditional name="software_cond">
1220 <param name="software" value="snpeff" /> 938 <param name="software" value="snpeff" />
1221 <param name="input" value="snpeff.csv" /> 939 <param name="input" value="snpeff.csv" ftype="csv" />
1222 </conditional> 940 </conditional>
1223 </repeat> 941 </repeat>
1224 <repeat name="results"> 942 <repeat name="results">
1225 <conditional name="software_cond"> 943 <conditional name="software_cond">
1226 <param name="software" value="vcftools" /> 944 <param name="software" value="vcftools" />
1240 <has_text text="busco-lineage-fungi_odb9" /> 958 <has_text text="busco-lineage-fungi_odb9" />
1241 <has_text text="deeptools" /> 959 <has_text text="deeptools" />
1242 <has_text text="featureCounts_assignment_plot" /> 960 <has_text text="featureCounts_assignment_plot" />
1243 <has_text text="gatk_varianteval_variant_plot" /> 961 <has_text text="gatk_varianteval_variant_plot" />
1244 <has_text text="htseq_assignment_plot" /> 962 <has_text text="htseq_assignment_plot" />
1245 <has_text text="picard_aligned_reads" /> 963 <has_text text="picard_alignment_readlength" />
1246 <has_text text="picard-rna-assignment" /> 964 <has_text text="picard-rna-assignment" />
1247 <has_text text="picard-markduplicates" /> 965 <has_text text="picard-markduplicates" />
1248 <has_text text="picard-insertsize" /> 966 <has_text text="picard-insertsize" />
1249 <has_text text="picard-gcbias" /> 967 <has_text text="picard-gcbias" />
1250 <has_text text="prokka_plot" /> 968 <has_text text="prokka_plot" />
1281 <expand macro="element_assert" name="samtools_stats" columns="40" lines="2" text="samtools_stats_txt"/> 999 <expand macro="element_assert" name="samtools_stats" columns="40" lines="2" text="samtools_stats_txt"/>
1282 <expand macro="element_assert" name="snpeff" columns="169" lines="2" text="snpeff_csv"/> 1000 <expand macro="element_assert" name="snpeff" columns="169" lines="2" text="snpeff_csv"/>
1283 <expand macro="element_assert" name="sources" columns="4" lines="33" text="Bamtools"/> 1001 <expand macro="element_assert" name="sources" columns="4" lines="33" text="Bamtools"/>
1284 </output_collection> 1002 </output_collection>
1285 </test> 1003 </test>
1004 <!--Test 04-->
1286 <test expect_num_outputs="2"> 1005 <test expect_num_outputs="2">
1287 <repeat name="results"> 1006 <repeat name="results">
1288 <conditional name="software_cond"> 1007 <conditional name="software_cond">
1289 <param name="software" value="custom_content" /> 1008 <param name="software" value="custom_content" />
1290 <param name="cc_select" value="manual" /> 1009 <param name="cc_select" value="manual" />
1291 <param name="plot_type" value="linegraph" /> 1010 <param name="plot_type" value="linegraph" />
1292 <param name="section_name" value="BPC" /> 1011 <param name="section_name" value="BPC" />
1293 <param name="title" value="Base peak chromatogram" />
1294 <param name="description" value="Sum of intensity (Y) of the most intense peaks at each retention time(X)" /> 1012 <param name="description" value="Sum of intensity (Y) of the most intense peaks at each retention time(X)" />
1295 <param name="xlab" value="Retention Time" /> 1013 <param name="xlab" value="Retention Time" />
1296 <param name="ylab" value="Base Peak Intensity" /> 1014 <param name="ylab" value="Base Peak Intensity" />
1297 <param name="input" value="cc_ko15.bpc.tab,cc_wt15.bpc.tab" /> 1015 <param name="input" value="cc_ko15.bpc.tab,cc_wt15.bpc.tab" />
1298 </conditional> 1016 </conditional>
1299 </repeat> 1017 </repeat>
1300 <output name="html_report" file="report_manual_custom_content.html" compare="sim_size"/> 1018 <output name="html_report" ftype="html">
1301 <output_collection name="stats" type="list" count="1"/> 1019 <assert_contents>
1020 <has_size value="1110578" delta="500" />
1021 </assert_contents>
1022 </output>
1023 <output_collection name="stats" type="list" count="1"/>
1302 </test> 1024 </test>
1025 <!--Test 05-->
1303 <test expect_num_outputs="3"> 1026 <test expect_num_outputs="3">
1304 <repeat name="results"> 1027 <repeat name="results">
1305 <conditional name="software_cond"> 1028 <conditional name="software_cond">
1306 <param name="software" value="fastqc" /> 1029 <param name="software" value="fastqc" />
1307 <repeat name="output"> 1030 <repeat name="output">
1328 </output_collection> 1051 </output_collection>
1329 <output_collection name="plots" type="list" count="7"> 1052 <output_collection name="plots" type="list" count="7">
1330 <element name="fastqc_per_base_sequence_quality_plot_1" file="mqc_fastqc_per_base_sequence_quality_plot_1.txt" compare="sim_size" delta="10"/> 1053 <element name="fastqc_per_base_sequence_quality_plot_1" file="mqc_fastqc_per_base_sequence_quality_plot_1.txt" compare="sim_size" delta="10"/>
1331 </output_collection> 1054 </output_collection>
1332 </test> 1055 </test>
1056 <!--Test 06-->
1333 <test expect_num_outputs="2"> 1057 <test expect_num_outputs="2">
1334 <repeat name="results"> 1058 <repeat name="results">
1335 <conditional name="software_cond"> 1059 <conditional name="software_cond">
1336 <param name="software" value="pycoqc" /> 1060 <param name="software" value="pycoqc" />
1337 <param name="input" value="pycoqc.json"/> 1061 <param name="input" value="pycoqc.json"/>