15
|
1 <tool id="multiqc" name="multiqc" version="@WRAPPER_VERSION@.0">
|
|
2 <description>aggregate results from bioinformatics analyses into a single report</description>
|
|
3 <macros>
|
|
4 <token name="@WRAPPER_VERSION@">1.0.0</token>
|
|
5 </macros>
|
|
6 <requirements>
|
|
7 <requirement type="package" version="@WRAPPER_VERSION@">multiqc</requirement>
|
|
8 </requirements>
|
|
9 <version_command>@WRAPPER_VERSION@</version_command>
|
|
10 <command detect_errors="aggressive">
|
|
11 <![CDATA[
|
|
12 mkdir multiqc_WDir &&
|
13
|
13
|
15
|
14 #for $i, $repeat in enumerate( $results )
|
|
15 mkdir multiqc_WDir/${repeat.software}_${i} &&
|
8
|
16
|
15
|
17 #if str($repeat.software) == "fastqc":
|
|
18 ## Searches for files named "fastqc_data.txt"
|
|
19 #for $k, $file in enumerate($repeat.input_file):
|
|
20 mkdir multiqc_WDir/${repeat.software}_${i}/file_${k} &&
|
|
21 ln -s '${file}' multiqc_WDir/fastqc_${i}/file_${k}/fastqc_data.txt &&
|
|
22 #end for
|
|
23 #else if str($repeat.software) == "tophat":
|
|
24 ## Searches for files ending in "align_summary.txt"
|
|
25 #for $file in $repeat.input_file:
|
|
26 ln -s '${file}' 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}align_summary.txt' &&
|
|
27 #end for
|
|
28 #else if str($repeat.software) == "bowtie2":
|
|
29 ## Searches for files containing 'reads; of these;'
|
|
30 #for $file in $repeat.input_file:
|
|
31 ln -s '${file}' 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}.txt' &&
|
|
32 #end for
|
|
33 #else if str($repeat.software) == "cutadapt":
|
|
34 ## Searches for files containing 'This is cutadapt'
|
|
35 #for $file in $repeat.input_file:
|
|
36 cat '${file}' > 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}.txt' &&
|
|
37 ## replace header for old cutadapt release
|
|
38 sed -i .old 's/You are running/This is/' 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}.txt' &&
|
|
39 #end for
|
|
40 #else if str($repeat.software) == "featurecounts":
|
|
41 ## Checks for files ending in '.summary'
|
|
42 #for $file in $repeat.input_file
|
|
43 #if $file.metadata.column_names and $file.metadata.column_names.find(',') != -1
|
|
44 echo '$file.metadata.column_names.replace(',','\t').replace('__ob__u','').replace('u__sq__','').replace('__sq__','').replace('__cb__','')' >> 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}.summary' &&
|
|
45 cat '$file' >> 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}.summary' &&
|
|
46 #else
|
|
47 ln -s '$file' 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}.summary' &&
|
|
48 #end if
|
|
49 #end for
|
|
50 #else if str($repeat.software) == "bismark":
|
|
51 ## Checks for files ending in _SE_report.txt
|
|
52 #for $file in $repeat.input_file
|
|
53 ln -s ${file} 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}_SE_report.txt' &&
|
|
54 #end for
|
|
55 #else if str($repeat.software) == "samtools":
|
|
56 ## Checks for files containing 'This file was produced by samtools stats'
|
|
57 #for $file in $repeat.input_file
|
|
58 ln -s ${file} 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}' &&
|
|
59 #end for
|
|
60 #else if str($repeat.software) == "picard":
|
|
61 #for $file in $repeat.input_file
|
|
62 ln -s '${file}' 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}' &&
|
|
63 #end for
|
|
64 #else if str($repeat.software) == "samtools_idxstats":
|
|
65 ## Checks for files containing "idxstats" in the name
|
|
66 #for $file in $repeat.input_file
|
|
67 ln -s '${file}' 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}_idxstats.txt' &&
|
|
68 #end for
|
|
69 #else if str($repeat.software) == "htseq":
|
|
70 ## Checks for files containing "__too_low_aQual"
|
|
71 #for $file in $repeat.input_file
|
|
72 ln -s '${file}' 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}' &&
|
|
73 #end for
|
|
74 #else if str($repeat.software) == "rnastar_log":
|
|
75 ## Checks for files named Log.final.out
|
|
76 #for $k, $file in enumerate($repeat.input_file):
|
|
77 mkdir 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}' &&
|
|
78 ln -s '${file}' 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}/Log.final.out' &&
|
|
79 #end for
|
|
80 #else if str($repeat.software) == "rnastar_counts":
|
|
81 ## Checks for files named ReadsPerGene.out.tab
|
|
82 #for $k, $file in enumerate($repeat.input_file):
|
|
83 mkdir 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}' &&
|
|
84 ln -s '${file}' 'multiqc_WDir/${repeat.software}_${i}/${file.element_identifier}/ReadsPerGene.out.tab' &&
|
|
85 #end for
|
|
86 #end if
|
|
87 #end for
|
8
|
88
|
15
|
89 multiqc multiqc_WDir
|
|
90 ]]></command>
|
|
91 <inputs>
|
|
92 <repeat name="results" title="Results" min="1">
|
|
93 <param name="software" type="select" label="Software name" help="Which tool was used generate logs?">
|
|
94 <option value="fastqc">FastQC</option>
|
|
95 <option value="cutadapt">Cutadapt/Trim Galore!</option>
|
|
96 <option value="tophat">Tophat2</option>
|
|
97 <option value="featurecounts">FeatureCounts (Summary file)</option>
|
|
98 <option value="samtools">Samtools (Stats, Flagstat)</option>
|
|
99 <option value="samtools_idxstats">Samtools (Idxstats)</option>
|
|
100 <option value="picard">Picard</option>
|
|
101 <option value="bismark">Bismark</option>
|
|
102 <option value="bowtie2">Bowtie2</option>
|
|
103 <option value="htseq">HTSeq-Count</option>
|
|
104 <option value="rnastar_log">RNA STAR (log)</option>
|
|
105 <option value="rnastar_counts">RNA STAR (reads per gene)</option>
|
|
106 </param>
|
|
107 <param name="input_file" type="data" format="txt, tabular" multiple="true" label="Result file" help="Select input datasets"/>
|
|
108 </repeat>
|
|
109 <param name="saveLog" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Save log file" help="Save the multiQC log file to the history. This is mostly useful for debugging purposes."/>
|
|
110 </inputs>
|
|
111 <outputs>
|
|
112 <data format="html" from_work_dir="multiqc_report.html" name="html_file" label="${tool.name} on ${on_string}: Webpage" />
|
|
113 <data format="txt" name="text_file" from_work_dir="multiqc_data/multiqc.log" label="${tool.name} on ${on_string}: Log">
|
|
114 <filter>saveLog</filter>
|
|
115 </data>
|
|
116 </outputs>
|
|
117 <tests>
|
|
118 <test>
|
|
119 <repeat name="results">
|
|
120 <param name="software" value="fastqc" />
|
|
121 <param name="input_file" value="fastqc_data.txt" />
|
|
122 </repeat>
|
|
123 <param name="saveLog" value="True"/>
|
|
124 <output name="html_file" file="report_fastqc.html" compare="sim_size" delta="1000"/>
|
|
125 <output name="text_file" file="log_fastqc.txt" compare="sim_size" delta="1000"/>
|
|
126 </test>
|
|
127 <test>
|
|
128 <repeat name="results">
|
|
129 <param name="software" value="fastqc" />
|
|
130 <param name="input_file" value="fastqc_data.txt,fastqc_data_2.txt" />
|
|
131 </repeat>
|
|
132 <output name="html_file" file="report_fastqc_2.html" compare="sim_size" delta="1000"/>
|
|
133 </test>
|
|
134 <test>
|
|
135 <repeat name="results">
|
|
136 <param name="software" value="cutadapt" />
|
|
137 <param name="input_file" value="cutadapt.txt" />
|
|
138 </repeat>
|
|
139 <output name="html_file" file="report_cutadapt.html" compare="sim_size" delta="1000"/>
|
|
140 </test>
|
|
141 <test>
|
|
142 <repeat name="results">
|
|
143 <param name="software" value="tophat" />
|
|
144 <param name="input_file" value="tophat_data.txt" />
|
|
145 </repeat>
|
|
146 <output name="html_file" file="report_tophat.html" compare="sim_size" delta="1000"/>
|
|
147 </test>
|
|
148 <test>
|
|
149 <repeat name="results">
|
|
150 <param name="software" value="bowtie2" />
|
|
151 <param name="input_file" value="bowtie2SE1.txt,bowtie2SE2.txt" />
|
|
152 </repeat>
|
|
153 <output name="html_file" file="report_bowtie2SE.html" compare="sim_size" delta="1000"/>
|
|
154 </test>
|
|
155 <test>
|
|
156 <repeat name="results">
|
|
157 <param name="software" value="featurecounts" />
|
|
158 <param name="input_file" value="featurecounts_data.txt" />
|
|
159 </repeat>
|
|
160 <output name="html_file" file="report_featurecounts.html" compare="sim_size" delta="1000"/>
|
|
161 </test>
|
|
162 <test>
|
|
163 <repeat name="results">
|
|
164 <param name="software" value="picard" />
|
|
165 <param name="input_file" value="collectGcBias_data.txt,CollectInsertSizeMetrics.txt,MarkDuplicates_data.txt,picard_CollectBaseDistributionByCycle.txt,picard_CollectRnaSeqMetrics.txt,picard_CollectAlignmentSummaryMetrics.txt" />
|
|
166 </repeat>
|
|
167 <output name="html_file" file="report_picard.html" compare="sim_size" delta="10000"/>
|
|
168 </test>
|
|
169 <test>
|
|
170 <repeat name="results">
|
|
171 <param name="software" value="htseq" />
|
|
172 <param name="input_file" value="htseq_data.txt" />
|
|
173 </repeat>
|
|
174 <output name="html_file" file="report_htseq.html" compare="sim_size" delta="1000"/>
|
|
175 </test>
|
|
176 <test>
|
|
177 <repeat name="results">
|
|
178 <param name="software" value="rnastar_log" />
|
|
179 <param name="input_file" value="rnastar_log.txt" />
|
|
180 </repeat>
|
|
181 <output name="html_file" file="report_rnastar_log.html" compare="sim_size" delta="1000"/>
|
|
182 </test>
|
|
183 <test>
|
|
184 <repeat name="results">
|
|
185 <param name="software" value="rnastar_counts" />
|
|
186 <param name="input_file" value="rnastar_counts.txt" />
|
|
187 </repeat>
|
|
188 <output name="html_file" file="report_rnastar_counts.html" compare="sim_size" delta="1000"/>
|
|
189 </test>
|
|
190 <test>
|
|
191 <repeat name="results">
|
|
192 <param name="software" value="bismark" />
|
|
193 <param name="input_file" value="bismark_data.txt" />
|
|
194 </repeat>
|
|
195 <output name="html_file" file="report_bismark.html" compare="sim_size" delta="1000"/>
|
|
196 </test>
|
|
197 <test>
|
|
198 <repeat name="results">
|
|
199 <param name="software" value="samtools" />
|
|
200 <param name="input_file" value="samtools_stats.txt,samtools_flagstat.txt" />
|
|
201 </repeat>
|
|
202 <output name="html_file" file="report_samtools.html" compare="sim_size" delta="1000"/>
|
|
203 </test>
|
|
204 <test>
|
|
205 <repeat name="results">
|
|
206 <param name="software" value="samtools_idxstats" />
|
|
207 <param name="input_file" value="samtools_idxstats.txt" />
|
|
208 </repeat>
|
|
209 <output name="html_file" file="report_samtools_idxstats.html" compare="sim_size" delta="1000"/>
|
|
210 </test>
|
|
211 <test>
|
|
212 <repeat name="results">
|
|
213 <param name="software" value="fastqc" />
|
|
214 <param name="input_file" value="fastqc_data.txt,fastqc_data_2.txt" />
|
|
215 </repeat>
|
|
216 <repeat name="results">
|
|
217 <param name="software" value="cutadapt" />
|
|
218 <param name="input_file" value="cutadapt.txt" />
|
|
219 </repeat>
|
|
220 <repeat name="results">
|
|
221 <param name="software" value="tophat" />
|
|
222 <param name="input_file" value="tophat_data.txt" />
|
|
223 </repeat>
|
|
224 <repeat name="results">
|
|
225 <param name="software" value="featurecounts" />
|
|
226 <param name="input_file" value="featurecounts_data.txt" />
|
|
227 </repeat>
|
|
228 <repeat name="results">
|
|
229 <param name="software" value="picard" />
|
|
230 <param name="input_file" value="collectGcBias_data.txt,CollectInsertSizeMetrics.txt,MarkDuplicates_data.txt" />
|
|
231 </repeat>
|
|
232 <repeat name="results">
|
|
233 <param name="software" value="bismark" />
|
|
234 <param name="input_file" value="bismark_data.txt" />
|
|
235 </repeat>
|
|
236 <repeat name="results">
|
|
237 <param name="software" value="samtools" />
|
|
238 <param name="input_file" value="samtools_stats.txt,samtools_flagstat.txt" />
|
|
239 </repeat>
|
|
240 <output name="html_file" file="report_all.html" compare="sim_size" delta="5000"/>
|
|
241 </test>
|
|
242 </tests>
|
8
|
243
|
15
|
244 <help><![CDATA[
|
|
245 **What it does**
|
8
|
246
|
15
|
247 MultiQC aggregates results from bioinformatics analyses across many samples into a single report. It takes results of multiple analyses and creates a report that can be viewed as a single beautiful web-page. It's a general use tool, perfect for summarizing the output from numerous bioinformatics tools.
|
8
|
248
|
15
|
249 **Inputs**
|
8
|
250
|
15
|
251 MultiQC takes software output summaries/logs and creates a single report from them. You need to tell the tool which software was used to generate the report. This is done using the **Software name** dropdown. At present the following Galaxy tools produce logs that can used with MultiQC. There are:
|
8
|
252
|
15
|
253 - Fastqc
|
|
254 - Cutadapt / Trim Galore!
|
|
255 - Tophat2
|
|
256 - FeatureCounts (summary file with the column header in the first line or as metadata)
|
|
257 - Samtools (stats, flagstat, dxstats)
|
|
258 - Picard (MarkDuplicatesMetrics, CollectGCBiasMetrics, CollectInsertSizeMetrics, CollectAlignmentSummaryMetrics, CollectRnaSeqMetrics)
|
|
259 - Bismark (Alignment report file)
|
|
260 - Bowtie2 (Metrics file)
|
|
261 - HTSeq-count ("no feature" file; although the "Assigned" metric is always 0)
|
|
262 - RNA STAR (Alignment from Log.final.out, Gene counts from ReadsPerGene.out.tab)
|
8
|
263
|
15
|
264 ----
|
|
265
|
|
266 **Integrated by**
|
|
267
|
|
268 Cyril Monjeaud and Yvan Le Bras
|
8
|
269
|
15
|
270 `EnginesOn <http://engineson.fr/>`_ and Rennes GenOuest Bio-informatics Core Facility
|
8
|
271
|
15
|
272 ]]></help>
|
|
273 <citations>
|
|
274 <citation type="doi">10.1093/bioinformatics/btw354</citation>
|
|
275 </citations>
|
|
276 </tool>
|