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