comparison macros.xml @ 24:f7e2f1eb3a16 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/multiqc commit dffbb5d421a5a5773bcb7f05933b12c45461bb58
author iuc
date Mon, 02 Sep 2024 14:22:54 +0000
parents abfd8a6544d7
children
comparison
equal deleted inserted replaced
23:abfd8a6544d7 24:f7e2f1eb3a16
1 <macros> 1 <macros>
2 <token name="@TOOL_VERSION@">1.11</token> 2 <token name="@TOOL_VERSION@">1.24.1</token>
3 <token name="@VERSION_SUFFIX@">1</token> 3 <token name="@VERSION_SUFFIX@">0</token>
4 <xml name="bio_tools"> 4 <xml name="bio_tools">
5 <xrefs> 5 <xrefs>
6 <xref type="bio.tools">multiqc</xref> 6 <xref type="bio.tools">multiqc</xref>
7 </xrefs> 7 </xrefs>
8 </xml> 8 </xml>
9 <xml name="requirements"> 9 <xml name="requirements">
10 <requirements> 10 <requirements>
11 <requirement type="package" version="@TOOL_VERSION@">multiqc</requirement> 11 <requirement type="package" version="@TOOL_VERSION@">multiqc</requirement>
12 </requirements> 12 </requirements>
13 </xml> 13 </xml>
14 14 <xml name="citations">
15 <citations>
16 <citation type="doi">10.1101/gr.244293.118</citation>
17 </citations>
18 </xml>
19 <xml name="configfile">
20 <configfiles>
21 <configfile name="multiqc_config">
22 <![CDATA[
23 custom_data:
24 #for $i, $repeat in enumerate( $results )
25 #if str($repeat.software_cond.software) == "custom_content"
26 section_$i:
27 file_format: 'tsv'
28 section_name: '$repeat.software_cond.section_name'
29 title: '$repeat.software_cond.title'
30 description: '$repeat.software_cond.description'
31 plot_type: '$repeat.software_cond.plot_type'
32 pconfig:
33 id: 'section_${i}_${repeat.software_cond.plot_type}'
34 ylab: '$repeat.software_cond.ylab'
35 xlab: '$repeat.software_cond.xlab'
36 #end if
37 #end for
38 sp:
39 #for $i, $repeat in enumerate( $results )
40 #if str($repeat.software_cond.software) == "custom_content"
41 section_$i:
42 fn: 'file_${i}_*'
43 #end if
44 #end for
45 ]]></configfile>
46 </configfiles>
47 </xml>
15 <token name="@ESCAPE_IDENTIFIER@"> 48 <token name="@ESCAPE_IDENTIFIER@">
16 <![CDATA[ 49 <![CDATA[
17 #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) 50 #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier))
18 ]]></token> 51 ]]></token>
19
20 <token name="@CHECK_LN_FILE@"> 52 <token name="@CHECK_LN_FILE@">
21 <![CDATA[ 53 <![CDATA[
22 #if $file_path in $file_paths 54 #if $file_path in $file_paths
23 #set $file_path += '_' + str($file_paths.count($file_path)) 55 #set $file_path += '_' + str($file_paths.count($file_path))
24 #end if 56 #end if
25 #set $file_paths += [$file_path] 57 #set $file_paths += [$file_path]
26 grep -q '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" && 58 grep -q '$pattern' $file || die "Module '${repeat.software_cond.software}: '$pattern' not found in the file '$identifier'" &&
27 ln -s '$file' '$file_path' && 59 ln -s '$file' '$file_path' &&
28 ]]></token> 60 ]]></token>
29
30 <token name="@CREATE_REPEAT_DIR_1@"> 61 <token name="@CREATE_REPEAT_DIR_1@">
31 <![CDATA[ 62 <![CDATA[
32 #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j)) 63 #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j))
33 mkdir '$repeat_dir' && 64 mkdir '$repeat_dir' &&
34 ]]></token> 65 ]]></token>
35 66 <token name="@CREATE_REPEAT_DIR_2@">
36 <token name="@CREATE_REPEAT_DIR_1@">
37 <![CDATA[
38 #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + '_' + str($j))
39 mkdir '$repeat_dir' &&
40 ]]></token>
41 <token name="@CREATE_REPEAT_DIR_2@">
42 <![CDATA[ 67 <![CDATA[
43 #set repeat_dir = os.path.join($software_dir, str($repeat2.type.type) + '_' + str($j)) 68 #set repeat_dir = os.path.join($software_dir, str($repeat2.type.type) + '_' + str($j))
44 mkdir '$repeat_dir' && 69 mkdir '$repeat_dir' &&
45 ]]></token> 70 ]]></token>
46 <token name="@LN_FILES@"> 71 <token name="@LN_FILES@">
47 <![CDATA[ 72 <![CDATA[
48 #set file_paths = [] 73 #set file_paths = []
49 #for $file in $repeat.software_cond.input 74 #for $file in $repeat.software_cond.input:
50 @ESCAPE_IDENTIFIER@ 75 @ESCAPE_IDENTIFIER@
51 #set file_path = os.path.join($software_dir, str($identifier)) 76 #set file_path = os.path.join($software_dir, str($identifier))
52 @CHECK_LN_FILE@ 77 @CHECK_LN_FILE@
53 #end for 78 #end for
54 ]]></token> 79 ]]></token>
55
56 <token name="@LN_2_FILES@"> 80 <token name="@LN_2_FILES@">
57 <![CDATA[ 81 <![CDATA[
58 #set file_paths = [] 82 #set file_paths = []
59 @CREATE_REPEAT_DIR_1@ 83 @CREATE_REPEAT_DIR_1@
60 #for $file in $repeat2.input 84 #for $file in $repeat2.input
61 #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) 85 #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier))
62 #set file_path = os.path.join($repeat_dir, str($identifier)) 86 #set file_path = os.path.join($repeat_dir, str($identifier))
63 @CHECK_LN_FILE@ 87 @CHECK_LN_FILE@
64 #end for 88 #end for
65 ]]></token> 89 ]]></token>
66
67 <token name="@LN_3_FILES@"> 90 <token name="@LN_3_FILES@">
68 <![CDATA[ 91 <![CDATA[
69 #set file_paths = [] 92 #set file_paths = []
70 #for $file in $repeat2.type.input 93 #for $file in $repeat2.type.input
71 #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier)) 94 #set identifier = re.sub('[^\s\w\-]', '_', str($file.element_identifier))
72 #set file_path = os.path.join($repeat_dir, str($identifier)) 95 #set file_path = os.path.join($repeat_dir, str($identifier))
73 @CHECK_LN_FILE@ 96 @CHECK_LN_FILE@
74 #end for 97 #end for
75 ]]></token> 98 ]]></token>
76 99 <!-- is currently not used -->
77 <token name="@BISMARK_INPUT@"><![CDATA[
78 #for $j, $repeat2 in enumerate( $repeat.software_cond.output )
79 @CREATE_REPEAT_DIR_1@
80 #if str($repeat2.type) == "align"
81 #for $file in $repeat2.input
82 @ESCAPE_IDENTIFIER@
83 #set file_path = os.path.join($repeat_dir, str($identifier) + '_SE_report.txt')
84 ln -s '$file' '$file_path' &&
85 #end for
86 #elif str($repeat2.type) == "dedup"
87 #for $file in $repeat2.input
88 @ESCAPE_IDENTIFIER@
89 #set file_path = os.path.join($repeat_dir, str($identifier) + '_deduplication_report.txt')
90 ln -s '$file' '$file_path' &&
91 #end for
92 #elif str($repeat2.type) == "meth_extract"
93 #for $file in $repeat2.input
94 @ESCAPE_IDENTIFIER@
95 #set file_path = os.path.join($repeat_dir, str($identifier) + '_splitting_report.txt')
96 ln -s '$file' '$file_path' &&
97 #end for
98 #elif str($repeat2.type) == "m_bias"
99 #for $file in $repeat2.input
100 @ESCAPE_IDENTIFIER@
101 #set file_path = os.path.join($repeat_dir, str($identifier) + '_M-bias.txt')
102 ln -s '$file' '$file_path' &&
103 #end for
104 #elif str($repeat2.type) == "bam2nuc"
105 #for $file in $repeat2.input
106 @ESCAPE_IDENTIFIER@
107 #set file_path = os.path.join($repeat_dir, str($identifier) + '.nucleotide_stats.txt')
108 ln -s '$file' '$file_path' &&
109 #end for
110 #end if
111 #end for
112 ]]></token>
113
114 <token name="@DEEPTOOLS_INPUT@"><![CDATA[
115 #for $j, $repeat2 in enumerate( $repeat.software_cond.output )
116 #if str($repeat2.type) == "bamPEFragmentSize"
117 #set $pattern = "Frag."
118 @LN_2_FILES@
119 #elif str($repeat2.type) == "estimateReadFiltering"
120 #set $pattern = "Internally-determined Duplicate"
121 @LN_2_FILES@
122 #elif str($repeat2.type) == "plotCoverageStdout"
123 #set $pattern = "sample"
124 @LN_2_FILES@
125 #elif str($repeat2.type) == "plotCoverageOutRawCounts"
126 #set $pattern = "#plotCoverage --outRawCounts"
127 @LN_2_FILES@
128 #elif str($repeat2.type) == "plotEnrichment"
129 #set $pattern = "featureReadCount"
130 @LN_2_FILES@
131 #elif str($repeat2.type) == "plotFingerprintOutRawCounts"
132 #set $pattern = "#plotFingerprint --outRawCounts"
133 @LN_2_FILES@
134 #end if
135 #end for
136 ]]></token>
137
138 <token name="@PICCARD_INPUT@"><![CDATA[
139 #for $j, $repeat2 in enumerate( $repeat.software_cond.output )
140 #if str($repeat2.type) == "alignment_metrics"
141 #set $pattern = "picard.analysis.AlignmentSummaryMetrics"
142 @LN_2_FILES@
143 #elif str($repeat2.type) == "basedistributionbycycle"
144 #set $pattern = "picard.analysis.BaseDistributionByCycleMetrics"
145 @LN_2_FILES@
146 #elif str($repeat2.type) == "gcbias"
147 #set $pattern = "picard.analysis.GcBias"
148 @LN_2_FILES@
149 #elif str($repeat2.type) == "hsmetrics"
150 #set $pattern = "picard.analysis.directed.HsMetrics"
151 @ @
152 #elif str($repeat2.type) == "insertsize"
153 #set $pattern = "picard.analysis.InsertSizeMetrics"
154 @LN_2_FILES@
155 #elif str($repeat2.type) == "markdups"
156 #set $pattern = "MarkDuplicates"
157 @LN_2_FILES@
158 #elif str($repeat2.type) == "oxogmetrics"
159 #set $pattern = "picard.analysis.CollectOxoGMetrics"
160 @LN_2_FILES@
161 #elif str($repeat2.type) == "pcr_metrics"
162 #set $pattern = "picard.analysis.directed.TargetedPcrMetrics"
163 @LN_2_FILES@
164 #elif str($repeat2.type) == "rnaseqmetrics"
165 #set $pattern = "Collect"
166 @LN_2_FILES@
167 #elif str($repeat2.type) == "rrbs_metrics"
168 #set $pattern = "picard.analysis.RrbsSummaryMetrics"
169 @LN_2_FILES@
170 #elif str($repeat2.type) == "wgs_metrics"
171 #set $pattern = "picard.analysis.CollectWgsMetrics$WgsMetrics"
172 @LN_2_FILES@
173 #end if
174 #end for
175 ]]></token>
176
177 <token name="@FASTQC_INPUT@"><![CDATA[
178 #for $j, $repeat2 in enumerate( $repeat.software_cond.output )
179 @CREATE_REPEAT_DIR_1@
180 #if str($repeat2.type) == "data"
181 #for $k, $file in enumerate($repeat2.input)
182 #set file_dir = os.path.join($repeat_dir, 'file_' + str($k))
183 #set file_path = os.path.join($file_dir, 'fastqc_data.txt')
184 mkdir '$file_dir' &&
185 ln -s '$file' '$file_path' &&
186 #end for
187 #elif str($repeat2.type) == "theoretical_gc"
188 #for $file in $repeat2.input
189 @ESCAPE_IDENTIFIER@
190 #set file_path = os.path.join($repeat_dir, str($identifier) + '_fastqc_theoretical_gc')
191 ln -s '$file' '$file_path' &&
192 #end for
193 #end if
194 #end for
195 ]]></token>
196
197 <token name="@RSEQ_INPUT@"><![CDATA[
198 #for $j, $repeat2 in enumerate( $repeat.software_cond.output )
199 @CREATE_REPEAT_DIR_2@
200 #if str($repeat2.type.type) == "bam_stat"
201 #set $pattern = "Proper-paired reads map to different chrom:"
202 @LN_3_FILES@
203 #elif str($repeat2.type.type) == "gene_body_coverage"
204 #for $k, $file in enumerate($repeat2.type.input)
205 #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.geneBodyCoverage.txt')
206 ln -s '$file' '$file_path' &&
207 #end for
208 #elif str($repeat2.type.type) == "inner_distance"
209 #for $k, $file in enumerate($repeat2.type.input)
210 #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.inner_distance_freq.txt')
211 ln -s '${file}' '$file_path' &&
212 #end for
213 #elif str($repeat2.type.type) == "junction_annotation"
214 #set $pattern = "Partial Novel Splicing Junctions:"
215 @LN_3_FILES@
216 #elif str($repeat2.type.type) == "read_gc"
217 #for $k, $file in enumerate($repeat2.type.input)
218 #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.GC.xls')
219 ln -s '$file' '$file_path' &&
220 #end for
221 #elif str($repeat2.type.type) == "junction_saturation"
222 #for $k, $file in enumerate($repeat2.type.input)
223 #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.junctionSaturation_plot.r')
224 ln -s '${file}' '$file_path' &&
225 #end for
226 #elif str($repeat2.type.type) == "read_distribution"
227 #set $pattern = "Group Total_bases Tag_count Tags/Kb"
228 @LN_3_FILES@
229 #elif str($repeat2.type.type) == "read_duplication_pos"
230 #for $k, $file in enumerate($repeat2.type.input)
231 #set file_path = os.path.join($repeat_dir, 'file_' + str($k) + '.pos.DupRate.xls')
232 ln -s '$file' '$file_path' &&
233 #end for
234 #elif str($repeat2.type.type) == "infer_experiment"
235 #set $pattern = "Fraction of reads explained by"
236 #for $file in $repeat2.type.input
237 @ESCAPE_IDENTIFIER@
238 #set file_path = os.path.join($repeat_dir, str($identifier))
239 grep -q "$pattern" $file || die "'$pattern' not found in the file" &&
240 ln -s '$file' '$file_path' &&
241 #end for
242 #end if
243 #end for
244 ]]></token>
245
246 <token name="@VCFTOOLS_INPUT@"><![CDATA[
247 #for $j, $repeat2 in enumerate( $repeat.software_cond.output )
248 @CREATE_REPEAT_DIR_2@
249 #if str($repeat2.type.type) == "relatedness2"
250 #for $file in $repeat2.type.input
251 @ESCAPE_IDENTIFIER@
252 #set file_path = os.path.join($repeat_dir, str($identifier) + '.relatedness2')
253 ln -s '$file' '$file_path' &&
254 #end for
255 #elif str($repeat2.type) == "tstv_by_count"
256 #for $file in $repeat2.type.input
257 @ESCAPE_IDENTIFIER@
258 #set file_path = os.path.join($repeat_dir, str($identifier) + '.TsTv.count')
259 ln -s '$file' '$file_path' &&
260 #end for
261 #elif str($repeat2.type) == "tstv_by_qual"
262 #for $file in $repeat2.type.input
263 @ESCAPE_IDENTIFIER@
264 #set file_path = os.path.join($repeat_dir, str($identifier) + '.TsTv.qual')
265 ln -s '$file' '$file_path' &&
266 #end for
267 #elif str($repeat2.type) == "tstv_summary"
268 #for $file in $repeat2.type.input
269 @ESCAPE_IDENTIFIER@
270 #set file_path = os.path.join($repeat_dir, str($identifier) + '.TsTv.summary')
271 ln -s '$file' '$file_path' &&
272 #end for
273 #end if
274 #end for
275 ]]></token>
276
277 <token name="@QUALIMAP_INPUT@"><![CDATA[
278 #for $file in $repeat.software_cond.input
279 #if re.search("genome_results", str($file.element_identifier))
280 sample="\$(grep 'bam file = ' $file | sed 's/bam file = //g' | sed 's: ::g')" &&
281 dir_name="$software_dir/\${sample}" &&
282 mkdir -p \${dir_name} &&
283 filepath_1="\${dir_name}/genome_results.txt" &&
284 ln -sf '$file' \${filepath_1} &&
285 #elif re.search("coverage_histogram", str($file.element_identifier))
286 nested_dir_name="\${dir_name}/raw_data_qualimapReport/" &&
287 mkdir -p \${nested_dir_name} &&
288 filepath_2="\${nested_dir_name}/coverage_histogram.txt" &&
289 ln -sf '$file' \${filepath_2} &&
290 #elif re.search("gc-content_distribution", str($file.element_identifier))
291 nested_dir_name="\${dir_name}/raw_data_qualimapReport/" &&
292 mkdir -p \${nested_dir_name} &&
293 filepath_3="\${nested_dir_name}/mapped_reads_gc-content_distribution.txt" &&
294 ln -sf '$file' \${filepath_3} &&
295 #else
296 #pass
297 #end if
298 #end for
299 ]]></token>
300
301 <token name="@SALMON_INPUT@"><![CDATA[
302 #for $j, $repeat2 in enumerate( $repeat.software_cond.output )
303 @CREATE_REPEAT_DIR_2@
304 #if str($repeat2.type.type) == "meta"
305 #for $k, $file in enumerate($repeat2.type.input)
306 #set file_dir = os.path.join($repeat_dir, 'file_' + str($k))
307 #set file_path = os.path.join($file_dir, 'meta_info.json')
308 mkdir '$file_dir' &&
309 ln -s '$file' '$file_path' &&
310 #end for
311 #elif str($repeat2.type.type) == "fld"
312 #for $k, $file in enumerate($repeat2.type.input)
313 #set file_dir = os.path.join($repeat_dir, 'file_' + str($k))
314 #set file_path = os.path.join($file_dir,'flenDist.txt')
315 mkdir '$file_dir' &&
316 ln -s '$file' '$file_path' &&
317 #end for
318 #end if
319 #end for
320 ]]></token>
321
322 <token name="@SAMTOOLS_INPUT@"><![CDATA[
323 #for $j, $repeat2 in enumerate( $repeat.software_cond.output )
324 @CREATE_REPEAT_DIR_2@
325 #if str($repeat2.type.type) == "stats"
326 #set $pattern = "This file was produced by samtools stats"
327 @LN_3_FILES@
328 #elif str($repeat2.type.type) == "flagstat"
329 #set $pattern = "in total (QC-passed reads + QC-failed reads)"
330 @LN_3_FILES@
331 #elif str($repeat2.type.type) == "idxstats"
332 #for $file in $repeat2.type.input
333 @ESCAPE_IDENTIFIER@
334 #set file_path = os.path.join($repeat_dir, str($identifier) + '_idxstat')
335 ln -s '$file' '$file_path' &&
336 #end for
337 #elif str($repeat2.type.type) == "rmdup"
338 #set $pattern = "[bam_rmdup"
339 @LN_3_FILES@
340 #end if
341 #end for
342 ]]></token>
343
344 <token name="@STAR_INPUT@"><![CDATA[
345 #for $j, $repeat2 in enumerate( $repeat.software_cond.output )
346 @CREATE_REPEAT_DIR_2@
347 #if str($repeat2.type.type) == "log"
348 #for $file in $repeat2.type.input
349 @ESCAPE_IDENTIFIER@
350 #set file_path = os.path.join($repeat_dir, str($identifier) + '_Log.final.out')
351 ln -s '$file' '$file_path' &&
352 #end for
353 #elif str($repeat2.type.type) == "genecounts"
354 #for $file in $repeat2.type.input
355 @ESCAPE_IDENTIFIER@
356 #set file_path = os.path.join($repeat_dir, str($identifier) + '_ReadsPerGene.out.tab')
357 ln -s '$file' '$file_path' &&
358 #end for
359 #end if
360 #end for
361 ]]></token>
362
363 <xml name="element_assert" token_name="" token_lines="" token_columns="" token_text=""> 100 <xml name="element_assert" token_name="" token_lines="" token_columns="" token_text="">
364 <element name="@NAME@"> 101 <element name="@NAME@">
365 <assert_contents> 102 <assert_contents>
366 <has_n_columns n="@COLUMNS@"/> 103 <has_n_columns n="@COLUMNS@"/>
367 <has_n_lines n="@LINES@"/> 104 <has_n_lines n="@LINES@"/>
368 <has_text text="@TEXT@"/> 105 <has_text text="@TEXT@"/>
369 <yield/> 106 <yield/>
370 </assert_contents> 107 </assert_contents>
371 </element> 108 </element>
372 </xml> 109 </xml>
373 110 <xml name="general_tests">
374 <xml name="citations"> 111 <!--Test 01-->
375 <citations> 112 <test expect_num_outputs="3">
376 <citation type="doi">10.1101/gr.244293.118</citation> 113 <repeat name="results">
377 </citations> 114 <conditional name="software_cond">
115 <param name="software" value="cutadapt"/>
116 <param name="input" value="cutadapt.txt"/>
117 </conditional>
118 </repeat>
119 <repeat name="results">
120 <conditional name="software_cond">
121 <param name="software" value="fastp"/>
122 <param name="input" value="fastp1.json.txt,fastp2.json.txt"/>
123 </conditional>
124 </repeat>
125 <repeat name="results">
126 <conditional name="software_cond">
127 <param name="software" value="fastqc"/>
128 <repeat name="output">
129 <param name="type" value="data"/>
130 <param name="input" value="fastqc_1.txt,fastqc_2.txt"/>
131 </repeat>
132 </conditional>
133 </repeat>
134 <repeat name="results">
135 <conditional name="software_cond">
136 <param name="software" value="flexbar"/>
137 <param name="input" value="flexbar.txt"/>
138 </conditional>
139 </repeat>
140 <repeat name="results">
141 <conditional name="software_cond">
142 <param name="software" value="slamdunk"/>
143 <param name="input" value="slamdunk_summary.txt,slamdunk_reads1_overallrates.csv,slamdunk_reads2_overallrates.csv"/>
144 </conditional>
145 </repeat>
146 <repeat name="results">
147 <conditional name="software_cond">
148 <param name="software" value="sortmerna"/>
149 <param name="input" value="sortmerna.txt"/>
150 </conditional>
151 </repeat>
152 <repeat name="results">
153 <conditional name="software_cond">
154 <param name="software" value="trimmomatic"/>
155 <param name="input" value="trimmomatic.txt"/>
156 </conditional>
157 </repeat>
158 <param name="title" value="Title of the report"/>
159 <param name="comment" value="Commment for the report"/>
160 <param name="flat" value="true"/>
161 <param name="export" value="true"/>
162 <output name="html_report">
163 <assert_contents>
164 <has_text text="Title of the report"/>
165 <has_text text="Commment for the report"/>
166 <has_text text="cutadapt_trimmed_sequences_plot"/>
167 <has_text text="All-in-one FASTQ preprocessor"/>
168 <has_text text="fastqc_seq_heatmap_key_t"/>
169 <has_text text="flexbar_plot"/>
170 <has_text text="Slamdunk"/>
171 <has_text text="sortmerna-detailed-plot"/>
172 <has_text text="trimmomatic_plot"/>
173 </assert_contents>
174 </output>
175 <output name="stats">
176 <assert_contents>
177 <has_text text="dataset_33"/>
178 <has_text text="R1_fq"/>
179 <has_text text="poulet5_1"/>
180 <has_text text="result_right"/>
181 <has_text text="bwa-mem-fastq1_fq"/>
182 <has_text text="25839_merged"/>
183 <has_text text="Slamdunk_mqc_generalstats_slamdunk_retained"/>
184 <has_text text="C2"/>
185 <has_n_lines n="11"/>
186 <has_n_columns n="22"/>
187 </assert_contents>
188 </output>
189 <output_collection name="plots" type="list" count="29"/>
190 </test>
191 <!--Test 02-->
192 <test expect_num_outputs="2">
193 <repeat name="results">
194 <conditional name="software_cond">
195 <param name="software" value="bismark"/>
196 <repeat name="output">
197 <param name="type" value="align"/>
198 <param name="input" value="bismark.txt"/>
199 </repeat>
200 </conditional>
201 </repeat>
202 <repeat name="results">
203 <conditional name="software_cond">
204 <param name="software" value="bowtie2"/>
205 <param name="input" value="bowtie2_1.txt,bowtie2_2.txt"/>
206 </conditional>
207 </repeat>
208 <repeat name="results">
209 <conditional name="software_cond">
210 <param name="software" value="hisat2"/>
211 <param name="input" value="hisat2_1.txt,hisat2_2.txt"/>
212 </conditional>
213 </repeat>
214 <repeat name="results">
215 <conditional name="software_cond">
216 <param name="software" value="hicexplorer"/>
217 <param name="input" value="hicexplorer1.log,hicexplorer1.log,hicexplorer2.log"/>
218 </conditional>
219 </repeat>
220 <repeat name="results">
221 <conditional name="software_cond">
222 <param name="software" value="kallisto"/>
223 <param name="input" value="kallisto_1.txt,kallisto_2.txt"/>
224 </conditional>
225 </repeat>
226 <repeat name="results">
227 <conditional name="software_cond">
228 <param name="software" value="macs2"/>
229 <param name="input" value="macs_1.txt,macs_2.txt"/>
230 </conditional>
231 </repeat>
232 <repeat name="results">
233 <conditional name="software_cond">
234 <param name="software" value="star"/>
235 <repeat name="output">
236 <conditional name="type">
237 <param name="type" value="log"/>
238 <param name="input" value="star_log.txt"/>
239 </conditional>
240 </repeat>
241 <repeat name="output">
242 <conditional name="type">
243 <param name="type" value="genecounts"/>
244 <param name="input" value="star_counts.txt"/>
245 </conditional>
246 </repeat>
247 </conditional>
248 </repeat>
249 <repeat name="results">
250 <conditional name="software_cond">
251 <param name="software" value="tophat"/>
252 <param name="input" value="tophat.txt"/>
253 </conditional>
254 </repeat>
255 <output name="html_report">
256 <assert_contents>
257 <has_text text="bismark-alignment"/>
258 <has_text text="bowtie2_se_plot"/>
259 <has_text text="mqc-module-section-bowtie2"/>
260 <has_text text="hisat2_se_plot"/>
261 <has_text text="MACS2"/>
262 <has_text text="star_alignment_plot"/>
263 <has_text text="tophat_alignment"/>
264 <has_text text="hicexplorer"/>
265 <has_text text="hicexplorer1_log_1"/>
266 </assert_contents>
267 </output>
268 <output name="stats">
269 <assert_contents>
270 <has_text text="bismark_txt_SE_report"/>
271 <has_text text="bowtie2_1_txt"/>
272 <has_text text="HS002-PE-R00059_BD0U5YACXX.RHM067_CAGATC_L002_R2"/>
273 <has_text text="treat2"/>
274 <has_text text="hicexplorer_3_hicexplorer2_log_small_test_rf"/>
275 <has_text text="hisat2_2_txt"/>
276 <has_text text="HS002-PE-R00059_BD0U5YACXX.RHM067_CAGATC_L002_R1"/>
277 <has_text text="treat2"/>
278 <has_text text="Cutadapt"/>
279 <has_text text="star_log_txt"/>
280 <has_text text="tophat_txtalign"/>
281 <has_n_lines n="17"/>
282 <has_n_columns n="23"/>
283 </assert_contents>
284 </output>
285 </test>
286 <!--Test 03-->
287 <test expect_num_outputs="2">
288 <repeat name="results">
289 <conditional name="software_cond">
290 <param name="software" value="bamtools"/>
291 <param name="input" value="bamtools.txt"/>
292 </conditional>
293 </repeat>
294 <repeat name="results">
295 <conditional name="software_cond">
296 <param name="software" value="bcftools"/>
297 <param name="input" value="bcftools.txt"/>
298 </conditional>
299 </repeat>
300 <repeat name="results">
301 <conditional name="software_cond">
302 <param name="software" value="busco"/>
303 <param name="input" value="busco.txt"/>
304 </conditional>
305 </repeat>
306 <repeat name="results">
307 <conditional name="software_cond">
308 <param name="software" value="deeptools"/>
309 <repeat name="output">
310 <param name="type" value="bamPEFragmentSize"/>
311 <param name="input" value="deeptools_bamPEFragmentSize.txt"/>
312 </repeat>
313 <repeat name="output">
314 <param name="type" value="estimateReadFiltering"/>
315 <param name="input" value="deeptools_estimateReadFiltering.txt"/>
316 </repeat>
317 <repeat name="output">
318 <param name="type" value="plotCoverageStdout"/>
319 <param name="input" value="deeptools_plotCoverageStdout.txt"/>
320 </repeat>
321 <repeat name="output">
322 <param name="type" value="plotCoverageOutRawCounts"/>
323 <param name="input" value="deeptools_plotCoverageOutRawCounts.txt"/>
324 </repeat>
325 <repeat name="output">
326 <param name="type" value="plotEnrichment"/>
327 <param name="input" value="deeptools_plotEnrichment.txt"/>
328 </repeat>
329 <repeat name="output">
330 <param name="type" value="plotFingerprintOutRawCounts"/>
331 <param name="input" value="deeptools_plotFingerprintOutRawCounts.txt"/>
332 </repeat>
333 </conditional>
334 </repeat>
335 <repeat name="results">
336 <conditional name="software_cond">
337 <param name="software" value="featureCounts"/>
338 <param name="input" value="featureCounts.txt"/>
339 </conditional>
340 </repeat>
341 <repeat name="results">
342 <conditional name="software_cond">
343 <param name="software" value="gatk"/>
344 <repeat name="output">
345 <param name="type" value="base_recalibrator"/>
346 <param name="input" value="gatk_BaseRecalibrator.txt"/>
347 </repeat>
348 <repeat name="output">
349 <param name="type" value="varianteval"/>
350 <param name="input" value="gatk_varianteval.txt"/>
351 </repeat>
352 </conditional>
353 </repeat>
354 <repeat name="results">
355 <conditional name="software_cond">
356 <param name="software" value="htseq"/>
357 <param name="input" value="htseq.txt"/>
358 </conditional>
359 </repeat>
360 <repeat name="results">
361 <conditional name="software_cond">
362 <param name="software" value="picard"/>
363 <repeat name="output">
364 <param name="type" value="gcbias"/>
365 <param name="input" value="picard_collectGcBias.txt"/>
366 </repeat>
367 <repeat name="output">
368 <param name="type" value="insertsize"/>
369 <param name="input" value="picard_CollectInsertSizeMetrics.txt"/>
370 </repeat>
371 <repeat name="output">
372 <param name="type" value="markdups"/>
373 <param name="input" value="picard_MarkDuplicates.txt"/>
374 </repeat>
375 <repeat name="output">
376 <param name="type" value="basedistributionbycycle"/>
377 <param name="input" value="picard_CollectBaseDistributionByCycle.txt"/>
378 </repeat>
379 <repeat name="output">
380 <param name="type" value="rnaseqmetrics"/>
381 <param name="input" value="picard_CollectRnaSeqMetrics.txt"/>
382 </repeat>
383 <repeat name="output">
384 <param name="type" value="alignment_metrics"/>
385 <param name="input" value="picard_CollectAlignmentSummaryMetrics.txt"/>
386 </repeat>
387 </conditional>
388 </repeat>
389 <repeat name="results">
390 <conditional name="software_cond">
391 <param name="software" value="prokka"/>
392 <param name="input" value="prokka_1.txt,prokka_2.txt"/>
393 </conditional>
394 </repeat>
395 <repeat name="results">
396 <conditional name="software_cond">
397 <param name="software" value="qualimap"/>
398 <param name="input" value="genome_results.txt"/>
399 </conditional>
400 </repeat>
401 <repeat name="results">
402 <conditional name="software_cond">
403 <param name="software" value="quast"/>
404 <param name="input" value="quast.tsv"/>
405 </conditional>
406 </repeat>
407 <repeat name="results">
408 <conditional name="software_cond">
409 <param name="software" value="rseqc"/>
410 <repeat name="output">
411 <conditional name="type">
412 <param name="type" value="read_gc"/>
413 <param name="input" value="rseqc.txt"/>
414 </conditional>
415 </repeat>
416 </conditional>
417 </repeat>
418 <repeat name="results">
419 <conditional name="software_cond">
420 <param name="software" value="samblaster"/>
421 <param name="input" value="samblaster.txt"/>
422 </conditional>
423 </repeat>
424 <repeat name="results">
425 <conditional name="software_cond">
426 <param name="software" value="samtools"/>
427 <repeat name="output">
428 <conditional name="type">
429 <param name="type" value="stats"/>
430 <param name="input" value="samtools_stats.txt"/>
431 </conditional>
432 </repeat>
433 <repeat name="output">
434 <conditional name="type">
435 <param name="type" value="flagstat"/>
436 <param name="input" value="samtools_flagstat.txt"/>
437 </conditional>
438 </repeat>
439 <repeat name="output">
440 <conditional name="type">
441 <param name="type" value="idxstats"/>
442 <param name="input" value="samtools_idxstats.txt"/>
443 </conditional>
444 </repeat>
445 </conditional>
446 </repeat>
447 <repeat name="results">
448 <conditional name="software_cond">
449 <param name="software" value="snpeff"/>
450 <param name="input" value="snpeff.csv" ftype="csv"/>
451 </conditional>
452 </repeat>
453 <repeat name="results">
454 <conditional name="software_cond">
455 <param name="software" value="vcftools"/>
456 <repeat name="output">
457 <conditional name="type">
458 <param name="type" value="tstv_by_qual"/>
459 <param name="input" value="vcftools.txt"/>
460 </conditional>
461 </repeat>
462 <param name="input" value="vcftools.txt"/>
463 </conditional>
464 </repeat>
465 <output name="html_report">
466 <assert_contents>
467 <has_text text="bamtools-stats"/>
468 <has_text text="bcftools_stats_indel-lengths"/>
469 <has_text text="busco-lineage-fungi_odb9"/>
470 <has_text text="deeptools"/>
471 <has_text text="featureCounts_assignment_plot"/>
472 <has_text text="gatk_varianteval_variant_plot"/>
473 <has_text text="htseq_assignment_plot"/>
474 <has_text text="picard_alignment_readlength"/>
475 <has_text text="picard-rna-assignment"/>
476 <has_text text="picard-markduplicates"/>
477 <has_text text="picard-insertsize"/>
478 <has_text text="picard-gcbias"/>
479 <has_text text="prokka_plot"/>
480 <has_text text="qualimap"/>
481 <has_text text="samblaster_duplicates"/>
482 <has_text text="quast-stats"/>
483 <has_text text="samtools-flagstat-dp"/>
484 <has_text text="snpeff"/>
485 </assert_contents>
486 </output>
487 <output name="stats">
488 <assert_contents>
489 <has_text text="bamtools_txt"/>
490 <has_text text="Test1"/>
491 <has_text text="Prokka_mqc_generalstats_prokka_contigs"/>
492 <has_text text="5: TopHat on data 1, data 14, and data 13"/>
493 <has_text text="gatk_varianteval_txt"/>
494 <has_text text="x_bam"/>
495 <has_text text="htseq_txt"/>
496 <has_text text="picard_CollectRnaSeqMetrics_bam"/>
497 <has_text text="dataset_114"/>
498 <has_text text="Helicobacter pylori"/>
499 <has_text text="Sample2"/>
500 <has_text text="14892_1#15"/>
501 <has_text text="samtools_flagstat_txt"/>
502 <has_text text="mapped_passed"/>
503 <has_text text="stats_mqc_generalstats_samtools_stats_error_rate"/>
504 <has_text text="samtools_stats_txt"/>
505 <has_text text="snpeff_csv"/>
506 <has_text text="Bamtools"/>
507 <has_n_lines n="22"/>
508 <has_n_columns n="46"/>
509 </assert_contents>
510 </output>
511 </test>
512 <!--Test 04-->
513 <test expect_num_outputs="2">
514 <repeat name="results">
515 <conditional name="software_cond">
516 <param name="software" value="custom_content"/>
517 <param name="cc_select" value="manual"/>
518 <param name="plot_type" value="linegraph"/>
519 <param name="section_name" value="BPC"/>
520 <param name="description" value="Sum of intensity (Y) of the most intense peaks at each retention time(X)"/>
521 <param name="xlab" value="Retention Time"/>
522 <param name="ylab" value="Base Peak Intensity"/>
523 <param name="input" value="cc_ko15.bpc.tab,cc_wt15.bpc.tab"/>
524 </conditional>
525 </repeat>
526 <output name="html_report" ftype="html">
527 <assert_contents>
528 <has_size value="4594258" delta="500"/>
529 </assert_contents>
530 </output>
531 <!--output name="stats" ftype="tabular">
532 Not created anymore. Proper test needed.
533 <assert_contents>
534 <has_n_lines n="2" />
535 </assert_contents>
536 </output-->
537 </test>
538 <!--Test 05-->
539 <test expect_num_outputs="3">
540 <repeat name="results">
541 <conditional name="software_cond">
542 <param name="software" value="fastqc"/>
543 <repeat name="output">
544 <param name="type" value="data"/>
545 <param name="input" value="fastqc_1.txt,fastqc_2.txt"/>
546 </repeat>
547 </conditional>
548 </repeat>
549 <param name="title" value="Title of the report"/>
550 <param name="comment" value="Commment for the report"/>
551 <param name="flat" value="true"/>
552 <param name="export" value="true"/>
553 <output name="html_report">
554 <assert_contents>
555 <has_text text="Title of the report"/>
556 <has_text text="Commment for the report"/>
557 <has_text text="fastqc_seq_heatmap_key_t"/>
558 </assert_contents>
559 </output>
560 <output name="stats" ftype="tabular">
561 <assert_contents>
562 <has_text text="poulet5_2"/>
563 <has_text text="FastQC"/>
564 <has_n_lines n="3"/>
565 <has_n_columns n="7"/>
566 </assert_contents>
567 </output>
568 <output_collection name="plots" type="list" count="7">
569 <element name="fastqc_per_base_sequence_quality_plot" file="mqc_fastqc_per_base_sequence_quality_plot_1.txt">
570 <assert_contents>
571 <has_size size="2877" delta="200"/>
572 </assert_contents>
573 </element>
574 </output_collection>
575 </test>
576 <!--Test 06-->
577 <test expect_num_outputs="2">
578 <repeat name="results">
579 <conditional name="software_cond">
580 <param name="software" value="pycoqc"/>
581 <param name="input" value="pycoqc.json"/>
582 </conditional>
583 </repeat>
584 <param name="title" value="Title of the report"/>
585 <param name="comment" value="Commment for the report"/>
586 <!-- <param name="flat" value="true"/> -->
587 <output name="html_report">
588 <assert_contents>
589 <has_text text="Title of the report"/>
590 <has_text text="Commment for the report"/>
591 <has_text text="General Statistics"/>
592 <has_text text="pycoqc_count_plot"/>
593 <has_text text="pycoqc_read_len_plot"/>
594 <has_text text="pycoqc_read_qual_plot"/>
595 </assert_contents>
596 </output>
597 <output name="stats" ftype="tabular">
598 <assert_contents>
599 <has_text text="pycoQC_mqc_generalstats_pycoqc_passed_median_read_length"/>
600 <has_text text="pycoqc_json"/>
601 </assert_contents>
602 </output>
603 </test>
378 </xml> 604 </xml>
379 </macros> 605 </macros>