diff multiqc.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
line wrap: on
line diff
--- a/multiqc.xml	Sat Dec 10 11:22:18 2022 +0000
+++ b/multiqc.xml	Mon Sep 02 14:22:54 2024 +0000
@@ -1,11 +1,31 @@
 <tool id="multiqc" name="MultiQC" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.01">
     <description>aggregate results from bioinformatics analyses into a single report</description>
-
     <macros>
         <import>macros.xml</import>
+        <import>bamtools_plugin.xml</import>
+        <import>bcftools_plugin.xml</import>
+        <import>bismark_plugin.xml</import>
+        <import>bowtie2_plugin.xml</import>
+        <import>busco_plugin.xml</import>
+        <import>cutadapt_plugin.xml</import>
+        <import>deeptools_plugin.xml</import>
+        <import>fastqc_plugin.xml</import>
+        <import>fastp_plugin.xml</import>
+        <import>featurecounts_plugin.xml</import>
+        <import>flexbar_plugin.xml</import>
+        <import>gatk_plugin.xml</import>
+        <import>picard_plugin.xml</import>
+        <import>pycoqc_plugin.xml</import>
+        <import>qualimap_plugin.xml</import>
+        <import>rseqc_plugin.xml</import>
+        <import>salmon_plugin.xml</import>
+        <import>samtools_plugin.xml</import>
+        <import>star_plugin.xml</import>
+        <import>trimmomatic_plugin.xml</import>
+        <import>vcftools_plugin.xml</import>
     </macros>
     <expand macro="bio_tools"/>
-    <expand macro='requirements' />
+    <expand macro="requirements"/>
     <version_command>multiqc --version</version_command>
     <command detect_errors="aggressive">
 <![CDATA[
@@ -22,69 +42,29 @@
     #set software_dir = os.path.join('multiqc_WDir', str($repeat.software_cond.software) + '_' + str($i))
     mkdir $software_dir &&
     #if str($repeat.software_cond.software) == "bamtools"
-        #set $pattern = "Stats for BAM file(s)"
-        @LN_FILES@
+        @BAMTOOLS_COMMAND@
     #elif str($repeat.software_cond.software) == "bcftools"
-        #set $pattern = "This file was produced by bcftools stats"
-        @LN_FILES@
+        @BCFTOOLS_COMMAND@
     #elif str($repeat.software_cond.software) == "bismark"
-        @BISMARK_INPUT@
+        @BISMARK_COMMAND@
     #elif str($repeat.software_cond.software) == "bowtie2"
-        #set $pattern = "% overall alignment rate"
-        @LN_FILES@
+        @BOWTIE2_COMMAND@
     #elif str($repeat.software_cond.software) == "busco"
-        ## Searches for files "short_summary_[samplename].txt"
-        #for $file in $repeat.software_cond.input
-            @ESCAPE_IDENTIFIER@
-            #set file_path = os.path.join($software_dir, 'short_summary_' + str($identifier))
-            ln -s '$file' '$file_path' &&
-        #end for
+        @BUSCO_COMMAND@
     #elif str($repeat.software_cond.software) == "cutadapt"
-        #set $pattern = "This is cutadapt"
-        #for $file in $repeat.software_cond.input
-            @ESCAPE_IDENTIFIER@
-            #set file_path = os.path.join($software_dir, str($identifier) + '.txt')
-            ln -s '$file' '$file_path' &&
-            ## replace header for old cutadapt release
-            sed -i.old 's/You are running/This is/' '$file_path' &&
-            grep -q "$pattern" '$file_path' || die "'$pattern' or 'You are running cutadapt' not found in the file" &&
-        #end for
+        @CUTADAPT_COMMAND@
     #elif str($repeat.software_cond.software) == "deeptools"
-      @DEEPTOOLS_INPUT@
+        @DEEPTOOLS_COMMAND@
     #elif str($repeat.software_cond.software) == "fastp"
-        #set $pattern = "report_title"
-        #for $file in $repeat.software_cond.input
-            @ESCAPE_IDENTIFIER@
-            #set file_path = os.path.join($software_dir, str($identifier) + 'fastp.json')
-            ln -s '$file' '$file_path' &&
-            grep -q "$pattern" '$file_path' || die "'$pattern' or 'report_title' not found in the file" &&
-        #end for
+        @FASTP_COMMAND@
     #elif str($repeat.software_cond.software) == "fastqc"
-        @FASTQC_INPUT@
+        @FASTQC_COMMAND@
     #elif str($repeat.software_cond.software) == "featureCounts"
-        #for $file in $repeat.software_cond.input
-            @ESCAPE_IDENTIFIER@
-            #set file_prefix = os.path.join($software_dir, str($identifier))
-            if grep -qw Status '$file'; then
-                ln -s '$file' '${file_prefix}.summary';
-            else
-                echo -e 'Status\t${identifier}' > '${file_prefix}.summary';
-                cat '$file' >> '${file_prefix}.summary';
-            fi &&
-        #end for
+        @FEATURECOUNTS_COMMAND@
     #elif str($repeat.software_cond.software) == "flexbar"
-        #set $pattern = "flexible barcode and adapter removal"
-        @LN_FILES@
+        @FLEXBAR_COMMAND@
     #elif str($repeat.software_cond.software) == "gatk"
-        #for $j, $repeat2 in enumerate( $repeat.software_cond.output )
-            #if str($repeat2.type) == "varianteval"
-                #set $pattern = "#:GATKTable:TiTvVariantEvaluator"
-                @LN_2_FILES@
-            #elif str($repeat2.type) == "base_recalibrator"
-                #set $pattern = "#:GATKTable:Arguments:Recalibration"
-                @LN_2_FILES@
-            #end if
-        #end for
+        @GATK_COMMAND@
     #elif str($repeat.software_cond.software) == "hicup"
         #for $file in $repeat.software_cond.input
             @ESCAPE_IDENTIFIER@
@@ -112,15 +92,14 @@
             ln -s '$file' '$file_path' &&
         #end for
     #elif str($repeat.software_cond.software) == "picard"
-        @PICCARD_INPUT@
+        @PICARD_COMMAND@
     #elif str($repeat.software_cond.software) == "prokka"
         #set $pattern = "contigs:"
         @LN_FILES@
     #elif str($repeat.software_cond.software) == "pycoqc"
-        #set $pattern = "\"pycoqc\":"
-        @LN_FILES@
+        @PYCOQC_COMMAND@
     #elif str($repeat.software_cond.software) == "qualimap"
-        @QUALIMAP_INPUT@
+        @QUALIMAP_COMMAND@
     #elif str($repeat.software_cond.software) == "quast"
         #for $k, $file in enumerate($repeat.software_cond.input)
             #set file_dir = os.path.join($software_dir, 'file_' + str($k))
@@ -135,14 +114,14 @@
             ln -s '$file' '$file_path' &&
         #end for
     #elif str($repeat.software_cond.software) == "rseqc"
-        @RSEQ_INPUT@
+        @RSEQC_COMMAND@
     #elif str($repeat.software_cond.software) == "salmon"
-        @SALMON_INPUT@
+        @SALMON_COMMAND@
     #elif str($repeat.software_cond.software) == "samblaster"
         #set $pattern = "samblaster: Version"
         @LN_FILES@
     #elif str($repeat.software_cond.software) == "samtools"
-        @SAMTOOLS_INPUT@
+        @SAMTOOLS_COMMAND@
     #elif str($repeat.software_cond.software) == "slamdunk"
         #set $pattern = "# slamdunk"
         @LN_FILES@
@@ -153,7 +132,7 @@
         #set $pattern = "Minimal SW score based on E-value"
         @LN_FILES@
     #else if str($repeat.software_cond.software) == "star":
-        @STAR_INPUT@
+        @STAR_COMMAND@
     #elif str($repeat.software_cond.software) == "tophat"
         #for $file in $repeat.software_cond.input
             @ESCAPE_IDENTIFIER@
@@ -161,10 +140,9 @@
             ln -s '$file' '$file_path' &&
         #end for
     #elif str($repeat.software_cond.software) == "trimmomatic"
-        #set $pattern = "Trimmomatic"
-        @LN_FILES@
+        @TRIMMOMATIC_COMMAND@
     #elif str($repeat.software_cond.software) == "vcftools"
-        @VCFTOOLS_INPUT@
+        @VCFTOOLS_COMMAND@
     #else if str($repeat.software_cond.software) == "custom_content":
         #set $configfile = "T"
         #for $j, $file in enumerate( $repeat.software_cond.input )
@@ -191,34 +169,15 @@
 #if $configfile == "T"
     --config '$multiqc_config'
 #end if
+
+&&
+mkdir -p ./plots &&
+ls -l ./report_data/ &&
+##cat ./report_data/multiqc_busco.txt &&
+cp ./report_data/*plot*.txt ./plots/ | true ## don't fail if no plot files are generated
+
     ]]></command>
-    <configfiles>
-        <configfile name="multiqc_config">
-<![CDATA[
-custom_data:
-#for $i, $repeat in enumerate( $results )
-    #if str($repeat.software_cond.software) == "custom_content"
-    section_$i:
-        file_format: 'tsv'
-        section_name: '$repeat.software_cond.section_name'
-        title: '$repeat.software_cond.title'
-        description: '$repeat.software_cond.description'
-        plot_type: '$repeat.software_cond.plot_type'
-        pconfig:
-            id: 'section_${i}_${repeat.software_cond.plot_type}'
-            ylab: '$repeat.software_cond.ylab'
-            xlab: '$repeat.software_cond.xlab'
-    #end if
-#end for
-sp:
-#for $i, $repeat in enumerate( $results )
-    #if str($repeat.software_cond.software) == "custom_content"
-    section_$i:
-        fn: 'file_${i}_*'
-    #end if
-#end for
-        ]]></configfile>
-    </configfiles>
+    <expand macro="configfile"/>
     <inputs>
         <repeat name="results" title="Results" min="1">
             <conditional name="software_cond">
@@ -287,7 +246,7 @@
                     <option value="star">STAR</option>
                     <!--<option value="supernova">Supernova</option>-->
                     <!--<option value="theta2">THeTA2</option>-->
-                    <option value="tophat">TopHat2</option>
+                    <option value="tophat">TopHat2 (TopHat2 is deprecated you should not use it)</option>
                     <option value="trimmomatic">Trimmomatic</option>
                     <option value="vcftools">VCFTools</option>
                     <!--<option value="verifybamid">VerifyBAMID</option>-->
@@ -295,74 +254,40 @@
                     <option value="custom_content">Custom Content</option>
                 </param>
                 <when value="bamtools">
-                    <param name="input" type="data" format="txt" multiple="true" label="Output of BAMtools" help="It should contain 'Stats for BAM file(s)'"/>
+                    <expand macro="bamtools_form"/>
                 </when>
                 <when value="bcftools">
-                    <param name="input" type="data" format="txt" multiple="true" label="Output of BAMtools" help="It should contain 'This file was produced by bcftools stats'"/>
+                    <expand macro="bcftools_form"/>
                 </when>
                 <when value="bismark">
-                    <repeat name="output" title="Bismark output" min="1">
-                        <param name="type" type="select" label="Type of Bismark output?">
-                            <option value="align">Alignment file</option>
-                            <option value="dedup">Deduplication file</option>
-                            <option value="meth_extract">Methylation file</option>
-                            <option value="m_bias">m_bias file</option>
-                            <option value="bam2nuc">bam2nuc file</option>
-                        </param>
-                        <param name="input" type="data" format="txt" multiple="true" label="Bismark output"/>
-                    </repeat>
+                    <expand macro="bismark_form"/>
                 </when>
                 <when value="bowtie2">
-                    <param name="input" type="data" format="txt" multiple="true" label="Output of Bowtie 2" help="It should contain 'reads; of these:'"/>
+                    <expand macro="bowtie2_form"/>
                 </when>
                 <when value="busco">
-                    <param name="input" type="data" format="txt" multiple="true" label="Output of BUSCO"/>
+                    <expand macro="busco_form"/>
                 </when>
                 <when value="cutadapt">
-                    <param name="input" type="data" format="txt,tabular,tsv,csv" multiple="true" label="Output of Cutadapt" help="It should contain 'This is cutadapt' or 'You are running cutadapt'"/>
+                    <expand macro="cutadapt_form"/>
                 </when>
                 <when value="deeptools">
-                    <repeat name="output" title="deepTools output" min="1">
-                        <param name="type" type="select" label="deepTool used to generate the output?">
-                            <option value="bamPEFragmentSize">bamPEFragmentSize</option>
-                            <option value="estimateReadFiltering">estimateReadFiltering</option>
-                            <option value="plotCoverageStdout">plotCoverageStdout</option>
-                            <option value="plotCoverageOutRawCounts">plotCoverageOutRawCounts</option>
-                            <option value="plotEnrichment">plotEnrichment</option>
-                            <option value="plotFingerprintOutRawCounts">plotFingerprintOutRawCounts</option>
-                            <option value="plotFingerprintOutQualityMetrics">plotFingerprintOutQualityMetrics</option>
-                        </param>
-                        <param name="input" type="data" format="txt" multiple="true" label="Bismark output"/>
-                    </repeat>
+                    <expand macro="deeptools_form"/>
                 </when>
                 <when value="fastp">
-                    <param name="input" type="data" format="json" multiple="true" label="Output of fastp" help="It should be the json report from fastp containing 'report_title'"/>
+                    <expand macro="fastp_form"/>
                 </when>
                 <when value="fastqc">
-                    <repeat name="output" title="FastQC output" min="1">
-                        <param name="type" type="select" label="Type of FastQC output?">
-                            <option value="data">Raw data</option>
-                            <option value="theoretical_gc">Theorectical GC</option>
-                        </param>
-                        <param name="input" type="data" format="txt" multiple="true" label="FastQC output">
-                            <validator type="expression" message="MultiQC does not accept the HTML report generated by FastQC, only the Raw Data">value is not None and value.extension != "html"</validator>
-                        </param>
-                    </repeat>
+                    <expand macro="fastqc_form"/>
                 </when>
                 <when value="featureCounts">
-                    <param name="input" type="data" format="txt,tabular,tsv,csv" multiple="true" label="Output of FeatureCounts"/>
+                    <expand macro="featurecounts_form"/>
                 </when>
                 <when value="flexbar">
-                    <param name="input" type="data" format="txt,tabular,tsv,csv" multiple="true" label="Output of Flexbar" help="It should contain 'Flexbar - flexible barcode and adapter removal'"/>
+                    <expand macro="flexbar_form"/>
                 </when>
                 <when value="gatk">
-                    <repeat name="output" title="GATK output" min="1">
-                        <param name="type" type="select" label="Type of GATK output?">
-                            <option value="varianteval">Variant eval file</option>
-                            <option value="base_recalibrator">Base recalibrator file</option>
-                        </param>
-                        <param name="input" type="data" format="txt" multiple="true" label="GATK output"/>
-                    </repeat>
+                    <expand macro="gatk_form"/>
                 </when>
                 <when value="hicexplorer">
                     <param name="input" type="data" format="txt,tabular" multiple="true" label="Output of HiCExplorer" help="It should contain 'Min rest. site distance'"/>
@@ -380,105 +305,28 @@
                     <param name="input" type="data" format="txt,tabular,tsv" multiple="true" label="Output of MACS2" help="It should be a tabular file containing '# This file is generated by MACS'"/>
                 </when>
                 <when value="picard">
-                    <repeat name="output" title="Picard output" min="1">
-                        <param name="type" type="select" label="Type of Picard output?">
-                            <option value="alignment_metrics">Alignment metrics</option>
-                            <option value="basedistributionbycycle">Base distribution by cycle</option>
-                            <option value="gcbias">GC bias</option>
-                            <option value="hsmetrics">HS Metrics</option>
-                            <option value="insertsize">Insert size</option>
-                            <option value="markdups">Markdups</option>
-                            <option value="oxogmetrics">Oxog metrics</option>
-                            <option value="pcr_metrics">PCR metrics</option>
-                            <option value="rnaseqmetrics">RNA Seq metrics</option>
-                            <option value="rrbs_metrics">RRBS metrics</option>
-                            <option value="wgs_metrics">WGS metrics</option>
-                        </param>
-                        <param name="input" type="data" format="txt" multiple="true" label="Picard output"/>
-                    </repeat>
+                    <expand macro="picard_form"/>
                 </when>
                 <when value="prokka">
                     <param name="input" type="data" format="txt" multiple="true" label="Output of Prokka" help="It should contain 'contigs:'"/>
                 </when>
                 <when value="pycoqc">
-                    <param name="input" type="data" format="txt,json" multiple="true" label="Output of PycoQC"/>
+                    <expand macro="pycoqc_form"/>
                 </when>
                 <when value="qualimap">
-                    <param name="input" type="data" format="txt,tabular,tsv" multiple="true" label="Output of Qualimap BamQC" help="First result input should be genome_coverage (default from tool output). Run the Flatten Collection tool to keep all output in one report" />
+                    <expand macro="qualimap_form"/>
                 </when>
                 <when value="quast">
                     <param name="input" type="data" format="tabular,tsv" multiple="true" label="Output of Quast"/>
                 </when>
                 <when value="rseqc">
-                    <repeat name="output" title="RSeQC output" min="1">
-                        <conditional name="type">
-                            <param name="type" type="select" label="Type of RSeQC output?">
-                                <option value="bam_stat">BAM/SAM mapping stats</option>
-                                <option value="gene_body_coverage">Gene body coverage</option>
-                                <option value="infer_experiment">Infer experiment</option>
-                                <option value="inner_distance">Inner distance</option>
-                                <option value="junction_annotation">Junction annotation</option>
-                                <option value="junction_saturation">Junction saturation</option>
-                                <option value="read_distribution">Read distribution</option>
-                                <option value="read_duplication_pos">Read duplication</option>
-                                <option value="read_gc">Read GC</option>
-                            </param>
-                            <when value="bam_stat">
-                                <param name="input" type="data" format="txt,tabular" multiple="true" label="RSeQC BAM stat: output file" help="It should contain 'Proper-paired reads map to different chrom:'"/>
-                            </when>
-                            <when value="gene_body_coverage">
-                                <param name="input" type="data" format="txt" multiple="true" label="RSeQC gene body coverage:  stats file"/>
-                            </when>
-                            <when value="infer_experiment">
-                                <param name="input" type="data" format="txt" multiple="true" label="RSeQC infer experiment: configuration output" help="It should contain 'Fraction of reads explained by'"/>
-                            </when>
-                            <when value="inner_distance">
-                                <param name="input" type="data" format="txt" multiple="true" label="RSeQC inner distance: frequency file"/>
-                            </when>
-                            <when value="junction_annotation">
-                                <param name="input" type="data" format="txt" multiple="true" label="RSeQC junction annotation: stats file" help="It should contain 'Partial Novel Splicing Junctions:'"/>
-                            </when>
-                            <when value="junction_saturation">
-                                <param name="input" type="data" format="txt" multiple="true" label="RSeQC junction saturation: junction saturation plot Rscript file"/>
-                            </when>
-                            <when value="read_distribution">
-                                <param name="input" type="data" format="txt" multiple="true" label="RSeQC read distribution: stats output" help="It should contain 'Group               Total_bases         Tag_count           Tags/Kb'"/>
-                            </when>
-                            <when value="read_duplication_pos">
-                                <param name="input" type="data" format="xls" multiple="true" label="RSeQC read duplication: positions XLS file"/>
-                            </when>
-                            <when value="read_gc">
-                                <param name="input" type="data" format="csv,xls,tabular" multiple="true" label="RSeQC read GC output"/>
-                            </when>
-                        </conditional>
-                    </repeat>
+                    <expand macro="rseqc_form"/>
                 </when>
                 <when value="samblaster">
                     <param name="input" type="data" format="txt,tabular,tsv,csv" multiple="true" label="Output of Samblaster" help="It should contain 'samblaster: Version'"/>
                 </when>
                 <when value="samtools">
-                    <repeat name="output" title="Samtools output" min="1">
-                        <conditional name="type">
-                            <param name="type" type="select" label="Type of Samtools output?">
-                                <option value="stats">stats</option>
-                                <option value="flagstat">flagstat</option>
-                                <option value="idxstats">idxstats</option>
-                                <option value="rmdup">rmdup</option>
-                            </param>
-                            <when value="stats">
-                                <param name="input" type="data" format="txt" multiple="true" label="Samtools stats output" help="It should contain 'This file was produced by samtools stats'"/>
-                            </when>
-                            <when value="flagstat">
-                                <param name="input" type="data" format="txt" multiple="true" label="Samtools flagstat output" help="It should contain 'in total (QC-passed reads + QC-failed reads)'"/>
-                            </when>
-                            <when value="idxstats">
-                                <param name="input" type="data" format="txt" multiple="true" label="Samtools idxstats output"/>
-                            </when>
-                            <when value="rmdup">
-                                <param name="input" type="data" format="txt" multiple="true" label="Samtools rmdup output" help="It should contain '[bam_rmdup'"/>
-                            </when>
-                        </conditional>
-                    </repeat>
+                    <expand macro="samtools_form"/>
                 </when>
                 <when value="slamdunk">
                     <param name="input" type="data" format="txt,tabular" multiple="true" label="Output of Slamdunk Alleyoop" help="It should contain '# slamdunk'"/>
@@ -490,50 +338,16 @@
                     <param name="input" type="data" format="txt" multiple="true" label="Log file of SortMeRNA" help="It should contain 'Minimal SW score based on E-value'"/>
                 </when>
                 <when value="star">
-                    <repeat name="output" title="STAR output" min="1">
-                        <conditional name="type">
-                            <param name="type" type="select" label="Type of STAR output?">
-                                <option value="log">Log</option>
-                                <option value="genecounts">Gene counts</option>
-                            </param>
-                            <when value="log">
-                                <param name="input" type="data" format="txt" multiple="true" label="STAR log output"/>
-                            </when>
-                            <when value="genecounts">
-                                <param name="input" type="data" format="tabular,tsv" multiple="true" label="STAR gene count output"/>
-                            </when>
-                        </conditional>
-                    </repeat>
+                    <expand macro="star_form"/>
                 </when>
                 <when value="tophat">
                     <param name="input" type="data" format="txt,tabular,tsv,csv" multiple="true" label="Output of TopHat2"/>
                 </when>
                 <when value="trimmomatic">
-                    <param name="input" type="data" format="txt,tabular,tsv,csv" multiple="true" label="Output of Trimmomatic" help="It should contain 'TTrimmomatic'"/>
+                    <expand macro="trimmomatic_form"/>
                 </when>
                 <when value="vcftools">
-                    <repeat name="output" title="VCFTools output" min="1">
-                        <conditional name="type">
-                            <param name="type" type="select" label="Type of VCFTools output?">
-                                <option value="relatedness2">relatedness2</option>
-                                <option value="tstv_by_count">tstv_by_count</option>
-                                <option value="tstv_by_qual">tstv_by_qual</option>
-                                <option value="tstv_summary">tstv_summary</option>
-                            </param>
-                            <when value="relatedness2">
-                                <param name="input" type="data" format="txt" multiple="true" label="VCFTools relatedness2 output"/>
-                            </when>
-                            <when value="tstv_by_count">
-                                <param name="input" type="data" format="tabular,tsv" multiple="true" label="VCFTools TsTV count output"/>
-                            </when>
-                            <when value="tstv_by_qual">
-                                <param name="input" type="data" format="tabular" multiple="true" label="VCFTools TsTV qual output"/>
-                            </when>
-                            <when value="tstv_summary">
-                                <param name="input" type="data" format="txt" multiple="true" label="VCFTools TsTV summary output"/>
-                            </when>
-                        </conditional>
-                    </repeat>
+                    <expand macro="vcftools_form"/>
                 </when>
                 <when value="custom_content">
                     <param argument="plot_type" label="The plot type to visualise the data with" type="select">
@@ -543,11 +357,11 @@
                         <option value="generalstats">generalstats</option>
                         <option value="table">table</option>
                     </param>
-                    <param argument="section_name" label="Section name" type="text" help="Nice name used for the report section header" />
-                    <param argument="title" label="Title" type="text" help="Plot title" />
-                    <param argument="description" label="Description" type="text" help="Introductory text to be printed under the section header" />
-                    <param argument="xlab" label="X axis label" type="text" />
-                    <param argument="ylab" label="Y axis label" type="text" />
+                    <param argument="section_name" label="Section name" type="text" help="Nice name used for the report section header"/>
+                    <param argument="title" label="Title" type="text" help="Plot title"/>
+                    <param argument="description" label="Description" type="text" help="Introductory text to be printed under the section header"/>
+                    <param argument="xlab" label="X axis label" type="text"/>
+                    <param argument="ylab" label="Y axis label" type="text"/>
                     <param name="input" type="data" format="tabular,tsv" multiple="true" label="Data files"/>
                 </when>
             </conditional>
@@ -555,12 +369,12 @@
         <param name="title" type="text" value="" optional="true" label="Report title" help="It is printed as page header">
             <sanitizer invalid_char="">
                 <valid initial="string.letters,string.digits">
-                    <add value="," />
-                    <add value=":" />
-                    <add value="-" />
-                    <add value="_" />
-                    <add value=" " />
-                    <add value="." />
+                    <add value=","/>
+                    <add value=":"/>
+                    <add value="-"/>
+                    <add value="_"/>
+                    <add value=" "/>
+                    <add value="."/>
                 </valid>
             </sanitizer>
             <validator type="regex">[0-9a-zA-Z,: _.-]+</validator>
@@ -568,561 +382,73 @@
         <param name="comment" type="text" value="" optional="true" label="Custom comment" help="It will be printed at the top of the report">
             <sanitizer invalid_char="">
                 <valid initial="string.letters,string.digits">
-                    <add value="," />
-                    <add value=":" />
-                    <add value="-" />
-                    <add value="_" />
-                    <add value=" " />
-                    <add value="." />
+                    <add value=","/>
+                    <add value=":"/>
+                    <add value="-"/>
+                    <add value="_"/>
+                    <add value=" "/>
+                    <add value="."/>
                 </valid>
             </sanitizer>
             <validator type="regex">[0-9a-zA-Z,: _.-]+</validator>
         </param>
         <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."/>
         <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"/>
-        <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"/>
     </inputs>
     <outputs>
-        <data name="html_report" format="html" from_work_dir="report.html" label="${tool.name} on ${on_string}: Webpage" />
-        <data name="log" format="txt" from_work_dir="report_data/multiqc.log" label="${tool.name} on ${on_string}: Log">
-            <filter>saveLog</filter>
-        </data>
-        <collection name="stats" type="list" label="${tool.name} on ${on_string}: Stats">
-            <discover_datasets pattern="multiqc_(?P&lt;designation&gt;.+)\.txt" format="tabular" directory="report_data" />
-        </collection>
+        <data name="html_report" format="html" from_work_dir="report.html" label="${tool.name} on ${on_string}: Webpage"/>
+        <data name="stats" format="tabular" from_work_dir="report_data/multiqc_general_stats.txt" label="${tool.name} on ${on_string}: Stats"/>
         <collection name="plots" type="list" label="${tool.name} on ${on_string}: Plots">
-            <discover_datasets pattern="mqc_(?P&lt;designation&gt;.+)\.txt" format="tabular" directory="report_data" />
+            <discover_datasets pattern="(?P&lt;designation&gt;.+)\.txt" format="tabular" directory="plots"/>
             <filter>export</filter>
         </collection>
     </outputs>
     <tests>
-        <!--Test 01-->
-        <test expect_num_outputs="4">
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="cutadapt" />
-                    <param name="input" value="cutadapt.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="fastp" />
-                    <param name="input" value="fastp1.json.txt,fastp2.json.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="fastqc" />
-                    <repeat name="output">
-                        <param name="type" value="data"/>
-                        <param name="input" value="fastqc_1.txt,fastqc_2.txt"/>
-                    </repeat>
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="flexbar" />
-                    <param name="input" value="flexbar.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="slamdunk" />
-                    <param name="input" value="slamdunk_summary.txt,slamdunk_reads1_overallrates.csv,slamdunk_reads2_overallrates.csv" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="sortmerna" />
-                    <param name="input" value="sortmerna.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="trimmomatic" />
-                    <param name="input" value="trimmomatic.txt" />
-                </conditional>
-            </repeat>
-            <param name="title" value="Title of the report"/>
-            <param name="comment" value="Commment for the report"/>
-            <param name="flat" value="true"/>
-            <param name="export" value="true"/>
-            <param name="saveLog" value="true"/>
-            <output name="html_report">
-                <assert_contents>
-                    <has_text text="Title of the report" />
-                    <has_text text="Commment for the report" />
-                    <has_text text="cutadapt_trimmed_sequences_plot" />
-                    <has_text text="An ultra-fast all-in-one FASTQ preprocessor" />
-                    <has_text text="fastqc_seq_heatmap_key_t" />
-                    <has_text text="flexbar_plot" />
-                    <has_text text="a tool to analyze SLAMSeq data" />
-                    <has_text text="sortmerna-detailed-plot" />
-                    <has_text text="trimmomatic_plot" />
-                </assert_contents>
-            </output>
-            <output name="log">
-                <assert_contents>
-                    <has_text_matching expression="\[INFO   \]  MultiQC complete$"/>
-                </assert_contents>
-            </output>
-            <output_collection name="stats" type="list" count="10">
-                <expand macro="element_assert" name="cutadapt" columns="9" lines="2" text="dataset_33"/>
-                <expand macro="element_assert" name="fastp" columns="2" lines="3" text="R1_fq"/>
-                <expand macro="element_assert" name="fastqc" columns="22" lines="3" text="poulet5_1"/>
-                <expand macro="element_assert" name="flexbar" columns="11" lines="2" text="result_right"/>
-                <expand macro="element_assert" name="general_stats" columns="20" lines="11" text="bwa-mem-fastq1_fq"/>
-                <expand macro="element_assert" name="slamdunk_readrates_plus" columns="13" lines="3" text="slamdunk_reads1_overallrates_csv"/>
-                <expand macro="element_assert" name="slamdunk_readrates_minus" columns="13" lines="3" text="slamdunk_reads1_overallrates_csv"/>
-                <expand macro="element_assert" name="sortmerna" columns="22" lines="2" text="25839_merged"/>
-                <expand macro="element_assert" name="sources" columns="4" lines="7" text="Module"/>
-                <expand macro="element_assert" name="trimmomatic" columns="6" lines="2" text="C2"/>
-            </output_collection>
-            <output_collection name="plots" type="list" count="29"/>
-        </test>
-        <!--Test 02-->
-        <test expect_num_outputs="2">
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="bismark" />
-                    <repeat name="output">
-                        <param name="type" value="align"/>
-                        <param name="input" value="bismark.txt"/>
-                    </repeat>
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="bowtie2" />
-                    <param name="input" value="bowtie2_1.txt,bowtie2_2.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="hisat2" />
-                    <param name="input" value="hisat2_1.txt,hisat2_2.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="hicexplorer" />
-                    <param name="input" value="hicexplorer1.log,hicexplorer1.log,hicexplorer2.log" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="kallisto" />
-                    <param name="input" value="kallisto_1.txt,kallisto_2.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="macs2" />
-                    <param name="input" value="macs_1.txt,macs_2.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="star" />
-                    <repeat name="output">
-                        <conditional name="type">
-                            <param name="type" value="log"/>
-                            <param name="input" value="star_log.txt" />
-                        </conditional>
-                    </repeat>
-                    <repeat name="output">
-                        <conditional name="type">
-                            <param name="type" value="genecounts"/>
-                            <param name="input" value="star_counts.txt" />
-                        </conditional>
-                    </repeat>
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="tophat" />
-                    <param name="input" value="tophat.txt" />
-                </conditional>
-            </repeat>
-            <param name="saveLog" value="false"/>
-            <output name="html_report">
-                <assert_contents>
-                    <has_text text="bismark-alignment" />
-                    <has_text text="bowtie2_se_plot" />
-                    <has_text text="hisat2_se_plot" />
-                    <has_text text="kallisto_alignment" />
-                    <has_text text="MACS2" />
-                    <has_text text="star_alignment_plot" />
-                    <has_text text="tophat_alignment" />
-                    <has_text text="hicexplorer" />
-                    <has_text text="hicexplorer1_log_1" />
-                </assert_contents>
-            </output>
-            <output_collection name="stats" type="list" count="11">
-                <expand macro="element_assert" name="bismark_alignment" columns="21" lines="2" text="bismark_txt_SE_report"/>
-                <expand macro="element_assert" name="bowtie2" columns="7" lines="3" text="bowtie2_1_txt"/>
-                <expand macro="element_assert" name="cutadapt" columns="9" lines="5" text="HS002-PE-R00059_BD0U5YACXX.RHM067_CAGATC_L002_R2"/>
-                <expand macro="element_assert" name="general_stats" columns="22"  lines="19" text="treat2"/>
-                <expand macro="element_assert" name="hicexplorer" columns="41" lines="4" text="hicexplorer_3_hicexplorer2_log_small_test_rf"/>
-                <expand macro="element_assert" name="hisat2" columns="6" lines="3" text="hisat2_2_txt"/>
-                <expand macro="element_assert" name="kallisto" columns="6" lines="3" text="HS002-PE-R00059_BD0U5YACXX.RHM067_CAGATC_L002_R1_val_1"/>
-                <expand macro="element_assert" name="macs" columns="12" lines="3" text="treat2"/>
-                <expand macro="element_assert" name="sources" columns="4" lines="18" text="Cutadapt"/>
-                <expand macro="element_assert" name="star" columns="27" lines="2" text="star_log_txt"/>
-                <expand macro="element_assert" name="tophat.txt" columns="9" lines="2" text="tophat_txtalign"/>
-            </output_collection>
-        </test>
-        <!--Test 03-->
-        <test expect_num_outputs="2">
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="bamtools" />
-                    <param name="input" value="bamtools.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="bcftools" />
-                    <param name="input" value="bcftools.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="busco" />
-                    <param name="input" value="busco.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="deeptools" />
-                    <repeat name="output">
-                        <param name="type" value="bamPEFragmentSize"/>
-                        <param name="input" value="deeptools_bamPEFragmentSize.txt"/>
-                    </repeat>
-                    <repeat name="output">
-                        <param name="type" value="estimateReadFiltering"/>
-                        <param name="input" value="deeptools_estimateReadFiltering.txt"/>
-                    </repeat>
-                    <repeat name="output">
-                        <param name="type" value="plotCoverageStdout"/>
-                        <param name="input" value="deeptools_plotCoverageStdout.txt"/>
-                    </repeat>
-                    <repeat name="output">
-                        <param name="type" value="plotCoverageOutRawCounts"/>
-                        <param name="input" value="deeptools_plotCoverageOutRawCounts.txt"/>
-                    </repeat>
-                    <repeat name="output">
-                        <param name="type" value="plotEnrichment"/>
-                        <param name="input" value="deeptools_plotEnrichment.txt"/>
-                    </repeat>
-                    <repeat name="output">
-                        <param name="type" value="plotFingerprintOutRawCounts"/>
-                        <param name="input" value="deeptools_plotFingerprintOutRawCounts.txt"/>
-                    </repeat>
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="featureCounts" />
-                    <param name="input" value="featureCounts.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="gatk" />
-                    <repeat name="output">
-                        <param name="type" value="base_recalibrator"/>
-                        <param name="input" value="gatk_BaseRecalibrator.txt"/>
-                    </repeat>
-                    <repeat name="output">
-                        <param name="type" value="varianteval"/>
-                        <param name="input" value="gatk_varianteval.txt"/>
-                    </repeat>
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="htseq" />
-                    <param name="input" value="htseq.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="picard" />
-                    <repeat name="output">
-                        <param name="type" value="gcbias"/>
-                        <param name="input" value="picard_collectGcBias.txt"/>
-                    </repeat>
-                    <repeat name="output">
-                        <param name="type" value="insertsize"/>
-                        <param name="input" value="picard_CollectInsertSizeMetrics.txt"/>
-                    </repeat>
-                    <repeat name="output">
-                        <param name="type" value="markdups"/>
-                        <param name="input" value="picard_MarkDuplicates.txt"/>
-                    </repeat>
-                    <repeat name="output">
-                        <param name="type" value="basedistributionbycycle"/>
-                        <param name="input" value="picard_CollectBaseDistributionByCycle.txt"/>
-                    </repeat>
-                    <repeat name="output">
-                        <param name="type" value="rnaseqmetrics"/>
-                        <param name="input" value="picard_CollectRnaSeqMetrics.txt"/>
-                    </repeat>
-                    <repeat name="output">
-                        <param name="type" value="alignment_metrics"/>
-                        <param name="input" value="picard_CollectAlignmentSummaryMetrics.txt"/>
-                    </repeat>
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="prokka" />
-                    <param name="input" value="prokka_1.txt,prokka_2.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="qualimap" />
-                    <param name="input" value="genome_results.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="quast" />
-                    <param name="input" value="quast.tsv" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="rseqc" />
-                    <repeat name="output">
-                        <conditional name="type">
-                            <param name="type" value="read_gc"/>
-                            <param name="input" value="rseqc.txt"/>
-                        </conditional>
-                    </repeat>
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="samblaster" />
-                    <param name="input" value="samblaster.txt" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="samtools" />
-                    <repeat name="output">
-                        <conditional name="type">
-                            <param name="type" value="stats"/>
-                            <param name="input" value="samtools_stats.txt"/>
-                        </conditional>
-                    </repeat>
-                    <repeat name="output">
-                        <conditional name="type">
-                            <param name="type" value="flagstat"/>
-                            <param name="input" value="samtools_flagstat.txt"/>
-                        </conditional>
-                    </repeat>
-                    <repeat name="output">
-                        <conditional name="type">
-                            <param name="type" value="idxstats"/>
-                            <param name="input" value="samtools_idxstats.txt"/>
-                        </conditional>
-                    </repeat>
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="snpeff" />
-                    <param name="input" value="snpeff.csv" ftype="csv" />
-                </conditional>
-            </repeat>
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="vcftools" />
-                    <repeat name="output">
-                        <conditional name="type">
-                            <param name="type" value="tstv_by_qual"/>
-                            <param name="input" value="vcftools.txt"/>
-                        </conditional>
-                    </repeat>
-                    <param name="input" value="vcftools.txt" />
-                </conditional>
-            </repeat>
-            <output name="html_report">
-                <assert_contents>
-                    <has_text text="bamtools-stats" />
-                    <has_text text="bcftools_stats_indel-lengths" />
-                    <has_text text="busco-lineage-fungi_odb9" />
-                    <has_text text="deeptools" />
-                    <has_text text="featureCounts_assignment_plot" />
-                    <has_text text="gatk_varianteval_variant_plot" />
-                    <has_text text="htseq_assignment_plot" />
-                    <has_text text="picard_alignment_readlength" />
-                    <has_text text="picard-rna-assignment" />
-                    <has_text text="picard-markduplicates" />
-                    <has_text text="picard-insertsize" />
-                    <has_text text="picard-gcbias" />
-                    <has_text text="prokka_plot" />
-                    <has_text text="qualimap" />
-                    <has_text text="samblaster_duplicates" />
-                    <has_text text="quast-stats" />
-                    <has_text text="samtools-flagstat-dp" />
-                    <has_text text="snpeff" />
-                </assert_contents>
-            </output>
-            <output_collection name="stats" type="list" count="21">
-                <expand macro="element_assert" name="bamtools_stats" columns="20" lines="2" text="bamtools_txt"/>
-                <expand macro="element_assert" name="bcftools_stats" columns="28" lines="2" text="Test1"/>
-                <expand macro="element_assert" name="busco" columns="8" lines="2" text="busco_txt"/>
-                <expand macro="element_assert" name="featureCounts" columns="14" lines="7" text="5: TopHat on data 1, data 14, and data 13"/>
-                <expand macro="element_assert" name="gatk_varianteval" columns="12" lines="2" text="gatk_varianteval_txt"/>
-                <expand macro="element_assert" name="general_stats" columns="44" lines="23" text="x_bam"/>
-                <expand macro="element_assert" name="htseq" columns="9" lines="2" text="htseq_txt"/>
-                <expand macro="element_assert" name="picard_AlignmentSummaryMetrics" columns="26" lines="2" text="D11_H4K16ac_Rep1_R1_fastq_gz"/>
-                <expand macro="element_assert" name="picard_RnaSeqMetrics" columns="27" lines="2" text="picard_CollectRnaSeqMetrics_bam"/>
-                <expand macro="element_assert" name="picard_baseContent" columns="11" lines="2" text="D11_H4K16ac_Rep1_R1_fastq_gz"/>
-                <expand macro="element_assert" name="picard_dups" columns="10" lines="2" text="dataset_114"/>
-                <expand macro="element_assert" name="picard_insertSize" columns="23" lines="2" text="dataset_197_FR"/>
-                <expand macro="element_assert" name="prokka" columns="11" lines="3" text="Sample2"/>
-                <expand macro="element_assert" name="qualimap_bamqc_genome_results" columns="12" lines="2" text="x_bam"/>
-                <expand macro="element_assert" name="quast" columns="50" lines="2" text="14892_1#15"/>
-                <expand macro="element_assert" name="samblaster" columns="5" lines="2" text="virtual-normal"/>
-                <expand macro="element_assert" name="samtools_flagstat" columns="34" lines="2" text="samtools_flagstat_txt">
-                    <has_text text="samtools_flagstat" />
-                    <has_text text="mapped_passed" />
-                    <has_text text="20689039" />
-                </expand>
-                <expand macro="element_assert" name="samtools_idxstats" columns="68" lines="2" text="samtools_idxstats_txt_idxstat"/>
-                <expand macro="element_assert" name="samtools_stats" columns="40" lines="2" text="samtools_stats_txt"/>
-                <expand macro="element_assert" name="snpeff" columns="169" lines="2" text="snpeff_csv"/>
-                <expand macro="element_assert" name="sources" columns="4" lines="33" text="Bamtools"/>
-            </output_collection>
-        </test>
-        <!--Test 04-->
-        <test expect_num_outputs="2">
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="custom_content" />
-                    <param name="cc_select" value="manual" />
-                    <param name="plot_type" value="linegraph" />
-                    <param name="section_name" value="BPC" />
-                    <param name="description" value="Sum of intensity (Y) of the most intense peaks at each retention time(X)" />
-                    <param name="xlab" value="Retention Time" />
-                    <param name="ylab" value="Base Peak Intensity" />
-                    <param name="input" value="cc_ko15.bpc.tab,cc_wt15.bpc.tab" />
-                </conditional>
-            </repeat>
-            <output name="html_report" ftype="html">
-                <assert_contents>
-                    <has_size value="1110578" delta="500" />
-                </assert_contents>
-            </output>
-	        <output_collection name="stats" type="list" count="1"/>
-        </test>
-        <!--Test 05-->
-        <test expect_num_outputs="3">
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="fastqc" />
-                    <repeat name="output">
-                        <param name="type" value="data"/>
-                        <param name="input" value="fastqc_1.txt,fastqc_2.txt"/>
-                    </repeat>
-                </conditional>
-            </repeat>
-            <param name="title" value="Title of the report"/>
-            <param name="comment" value="Commment for the report"/>
-            <param name="flat" value="true"/>
-            <param name="export" value="true"/>
-            <output name="html_report">
-                <assert_contents>
-                    <has_text text="Title of the report" />
-                    <has_text text="Commment for the report" />
-                    <has_text text="fastqc_seq_heatmap_key_t" />
-                </assert_contents>
-            </output>
-	        <output_collection name="stats" type="list" count="3">
-                <expand macro="element_assert" name="fastqc" columns="22" lines="3" text="poulet5_2"/>
-                <expand macro="element_assert" name="general_stats" columns="6" lines="3" text="poulet5_2"/>
-                <expand macro="element_assert" name="sources" columns="4" lines="3" text="FastQC"/>
-            </output_collection>
-            <output_collection name="plots" type="list" count="7">
-                <element name="fastqc_per_base_sequence_quality_plot_1" file="mqc_fastqc_per_base_sequence_quality_plot_1.txt" compare="sim_size" delta="10"/>
-            </output_collection>
-        </test>
-        <!--Test 06-->
-        <test expect_num_outputs="2">
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="pycoqc" />
-                    <param name="input" value="pycoqc.json"/>
-                </conditional>
-            </repeat>
-            <param name="title" value="Title of the report"/>
-            <param name="comment" value="Commment for the report"/>
-            <!-- <param name="flat" value="true"/> -->
-            <output name="html_report">
-                <assert_contents>
-                    <has_text text="Title of the report" />
-                    <has_text text="Commment for the report" />
-                    <has_text text="General Statistics" />
-                    <has_text text="pycoqc_count_plot" />
-                    <has_text text="pycoqc_read_len_plot" />
-                    <has_text text="pycoqc_read_qual_plot" />
-                </assert_contents>
-            </output>
-	    <output_collection name="stats" type="list" count="2"/>
-        </test>
-        <!--Test 07-->
-        <test expect_num_outputs="2">
-            <repeat name="results">
-                <conditional name="software_cond">
-                    <param name="software" value="rseqc" />
-                    <repeat name="output">
-                        <conditional name="type">
-                            <param name="type" value="junction_annotation"/>
-                            <param name="input" value="junction_annotation.txt"/>
-                        </conditional>
-                    </repeat>
-                    <repeat name="output">
-                        <conditional name="type">
-                            <param name="type" value="junction_saturation"/>
-                            <param name="input" value="junction_saturation.txt"/>
-                        </conditional>
-                    </repeat>
-                </conditional>
-            </repeat>
-            <param name="title" value="RSEQC report"/>
-            <!-- <param name="flat" value="true"/> -->
-            <output name="html_report">
-                <assert_contents>
-                    <has_text text="RSEQC report" />
-                    <has_text text="Junction Annotation" />
-                    <has_text text="Junction Saturation" />
-                </assert_contents>
-            </output>
-	        <output_collection name="stats" type="list" count="2"/>
-        </test>
+        <expand macro="general_tests"/>
+        <expand macro="bcftools_test"/>
+        <expand macro="bowtie2_test"/>
+        <expand macro="fastqc_test"/>
+        <expand macro="trimmomatic_test"/>
+        <!-- Test 10 -->
+        <expand macro="flexbar_test"/>
+        <expand macro="fastp_test"/>
+        <expand macro="bismark_test"/>
+        <expand macro="rseqc_test"/>
+        <expand macro="star_test"/>
+        <expand macro="cutadapt_test"/>
+        <expand macro="samtools_test"/>
+        <expand macro="busco_test"/>
+        <expand macro="featurecounts_test"/>
+        <expand macro="picard_test"/>
+        <!-- Test 20 -->
+        <expand macro="qualimap_test"/>
+        <expand macro="gatk_test"/>
+        <expand macro="bamtools_test"/>
+        <expand macro="pycoqc_test"/>
+
+        <!--expand macro="vcftools_test"/> Does not work, did it ever worked? -->
+
     </tests>
     <help><![CDATA[
 **What it does**
 
-`MultiQC <http://multiqc.info/>`_ 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.
+`MultiQC <http://multiqc.info/>`_ 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.
 
 **Inputs**
 
-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 only the Galaxy tools found in the ToolShed produce logs that can used with MultiQC
-
-----
+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 only the Galaxy tools found in the ToolShed produce logs that can used with MultiQC
 
-The first integration of this tool was made by
-`@cmonjeau <https://github.com/cmonjeau>`_ and `@yvanlebras <https://github.com/yvanlebras>`_.
-It is now maintained by the `Intergalactic Utilities Commission <https://galaxyproject.org/iuc>`_.
     ]]></help>
     <citations>
         <citation type="doi">10.1093/bioinformatics/btw354</citation>
     </citations>
+    <creator>
+        <person givenName="Cyril" familyName="Monjeaud" url="https://github.com/cmonjeau"/>
+        <person givenName="Yvan" familyName="Le Bras" url="https://github.com/yvanlebras"/>
+        <person givenName="Bérénice" familyName="Batut" url="https://github.com/bebatut"/>
+        <person givenName="Björn" familyName="Grüning" url="https://github.com/bgruening"/>
+    </creator>
 </tool>