Mercurial > repos > iuc > multiqc
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<designation>.+)\.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<designation>.+)\.txt" format="tabular" directory="report_data" /> + <discover_datasets pattern="(?P<designation>.+)\.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>