Mercurial > repos > iuc > multiqc
view multiqc.xml @ 3:f2a3895ba15a draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/multiqc commit 4a9e5506db1a6b93486b617162e1b59abcdd0f1b
author | iuc |
---|---|
date | Fri, 17 Nov 2017 13:27:05 -0500 |
parents | 39f063be9fb4 |
children | e4574a4d09d8 |
line wrap: on
line source
<tool id="multiqc" name="MultiQC" version="@WRAPPER_VERSION@.0"> <description>aggregate results from bioinformatics analyses into a single report</description> <macros> <token name="@WRAPPER_VERSION@">1.2</token> <token name="@LN_FILES@"> <![CDATA[ #for $file in $repeat.software_cond.input grep -q "$pattern" $file || die "'$pattern' not found in the file" && ln -s '$file' '$software_dir/${file.element_identifier}' && #end for ]]></token> <token name="@LN_2_FILES@"> <![CDATA[ #for $file in $repeat2.input: grep -q "$pattern" $file || die "'$pattern' not found in the file" && ln -s '$file' '$software_dir/${repeat2.type}_${j}_${file.element_identifier}' && #end for ]]></token> <token name="@LN_3_FILES@"> <![CDATA[ #for $file in $repeat2.type.input: grep -q "$pattern" $file || die "'$pattern' not found in the file" && ln -s '$file' '$repeat_dir/${file.element_identifier}' && #end for ]]></token> </macros> <requirements> <requirement type="package" version="@WRAPPER_VERSION@">multiqc</requirement> </requirements> <version_command>mulitqc --version</version_command> <command detect_errors="aggressive"> <![CDATA[ die() { echo "$@" 1>&2 ; exit 1; } && mkdir multiqc_WDir && #set $configfile="F" #for $i, $repeat in enumerate( $results ) #set software_dir = '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@ #elif str($repeat.software_cond.software) == "bcftools" #set $pattern = "This file was produced by bcftools stats" @LN_FILES@ #elif str($repeat.software_cond.software) == "bismark" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set file_prefix = $software_dir + '/' + str($repeat2.type) + '_' + str($j) #if str($repeat2.type) == "align" #for $file in $repeat2.input ln -s '$file' '${file_prefix}_${file.element_identifier}_SE_report.txt' && #end for #elif str($repeat2.type) == "dedup" #for $file in $repeat2.input ln -s '$file' '${file_prefix}_${file.element_identifier}_deduplication_report.txt' && #end for #elif str($repeat2.type) == "meth_extract" #for $file in $repeat2.input ln -s '$file' '${file_prefix}_${file.element_identifier}_splitting_report.txt' && #end for #elif str($repeat2.type) == "m_bias" #for $file in $repeat2.input ln -s '$file' '${file_prefix}_${file.element_identifier}_M-bias.txt' && #end for #elif str($repeat2.type) == "bam2nuc" #for $file in $repeat2.input ln -s '$file' '${file_prefix}_${file.element_identifier}.nucleotide_stats.txt' && #end for #end if #end for #elif str($repeat.software_cond.software) == "bowtie2" #set $pattern = "reads; of these:" @LN_FILES@ #elif str($repeat.software_cond.software) == "busco" ## Searches for files "short_summary_[samplename].txt" #for $file in $repeat.software_cond.input ln -s '$file' '$software_dir/short_summary_${file.element_identifier}' && #end for #elif str($repeat.software_cond.software) == "cutadapt" #set $pattern = "This is cutadapt" #for $file in $repeat.software_cond.input #set file_path = $software_dir + '/' + str($file.element_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 #elif str($repeat.software_cond.software) == "fastqc" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set repeat_dir = $software_dir + '/' + str($repeat2.type) + '_' + str($j) mkdir '$repeat_dir' && #if str($repeat2.type) == "data" #for $k, $file in enumerate($repeat2.input) #set file_dir = $repeat_dir + '/file_' + str($k) mkdir '$file_dir' && ln -s '$file' '$file_dir/fastqc_data.txt' && #end for #elif str($repeat2.type) == "theoretical_gc" #for $file in $repeat2.input ln -s '$file' '$repeat_dir/${file.element_identifier}_fastqc_theoretical_gc' && #end for #end if #end for #elif str($repeat.software_cond.software) == "featureCounts" #for $file in $repeat.software_cond.input #set file_prefix = $software_dir + '/' + str($file.element_identifier) #if $file.metadata.column_names and $file.metadata.column_names.find(',') != -1 echo '$file.metadata.column_names.replace(',','\t').replace('__ob__u','').replace('u__sq__','').replace('__sq__','').replace('__cb__','')' >> '${file_prefix}.summary' && cat '$file' >> '${file_prefix}.summary' && #else ln -s '$file' '${file_prefix}.summary' && #end if #end for #elif str($repeat.software_cond.software) == "flexbar" #set $pattern = "flexible barcode and adapter removal" @LN_FILES@ #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 #elif str($repeat.software_cond.software) == "hicup" #for $file in $repeat.software_cond.input ln -s '${file}' '$software_dir/HiCUP_summary_report_${file.element_identifier}' && #end for #elif str($repeat.software_cond.software) == "hisat2" #set $pattern = "HISAT2 summary stats:" @LN_FILES@ #elif str($repeat.software_cond.software) == "htseq" #set $pattern = "__too_low_aQual" @LN_FILES@ #elif str($repeat.software_cond.software) == "kallisto" #set $pattern = "finding pseudoalignments for the reads" @LN_FILES@ #elif str($repeat.software_cond.software) == "picard" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #if str($repeat2.type) == "alignment_metrics" #set $pattern = "picard.analysis.AlignmentSummaryMetrics" @LN_2_FILES@ #elif str($repeat2.type) == "basedistributionbycycle" #set $pattern = "picard.analysis.BaseDistributionByCycleMetrics" @LN_2_FILES@ #elif str($repeat2.type) == "gcbias" #set $pattern = "picard.analysis.GcBias" @LN_2_FILES@ #elif str($repeat2.type) == "hsmetrics" #set $pattern = "picard.analysis.directed.HsMetrics" @LN_2_FILES@ #elif str($repeat2.type) == "insertsize" #set $pattern = "picard.analysis.InsertSizeMetrics" @LN_2_FILES@ #elif str($repeat2.type) == "markdups" #set $pattern = "picard.sam.DuplicationMetrics" @LN_2_FILES@ #elif str($repeat2.type) == "oxogmetrics" #set $pattern = "picard.analysis.CollectOxoGMetrics" @LN_2_FILES@ #elif str($repeat2.type) == "pcr_metrics" #set $pattern = "picard.analysis.directed.TargetedPcrMetrics" @LN_2_FILES@ #elif str($repeat2.type) == "rnaseqmetrics" #set $pattern = "Collect" @LN_2_FILES@ #elif str($repeat2.type) == "rrbs_metrics" #set $pattern = "picard.analysis.RrbsSummaryMetrics" @LN_2_FILES@ #elif str($repeat2.type) == "wgs_metrics" #set $pattern = "picard.analysis.CollectWgsMetrics$WgsMetrics" @LN_2_FILES@ #end if #end for #elif str($repeat.software_cond.software) == "prokka" #set $pattern = "contigs:" @LN_FILES@ #elif str($repeat.software_cond.software) == "quast" #for $k, $file in enumerate($repeat.software_cond.input) #set file_dir = $software_dir + '/file_' + str($k) mkdir '$file_dir' && ln -s '$file' '$file_dir/report.tsv' && #end for #elif str($repeat.software_cond.software) == "rsem" #for $file in $repeat.software_cond.input ln -s '$file' '$software_dir/${file.element_identifier}.cnt' && #end for #elif str($repeat.software_cond.software) == "rseqc" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set repeat_dir = $software_dir + '/' + str($repeat2.type.type) + '_' + str($j) mkdir '$repeat_dir' && #if str($repeat2.type.type) == "bam_stat" #set $pattern = "Proper-paired reads map to different chrom:" @LN_3_FILES@ #elif str($repeat2.type.type) == "gene_body_coverage" #for $k, $file in enumerate($repeat2.type.input) ln -s '$file' '$repeat_dir/file_${k}.geneBodyCoverage.txt' && #end for #elif str($repeat2.type.type) == "inner_distance" #for $k, $file in enumerate($repeat2.type.input) ln -s '${file}' '$repeat_dir/file_${k}.inner_distance_freq.txt' && #end for #elif str($repeat2.type.type) == "junction_annotation" #set $pattern = "Partial Novel Splicing Junctions:" @LN_3_FILES@ #elif str($repeat2.type.type) == "read_gc" #for $k, $file in enumerate($repeat2.type.input) ln -s '$file' '$repeat_dir/file_${k}.GC.xls' && #end for #elif str($repeat2.type.type) == "junction_annotation" #set $pattern = "Group Total_bases Tag_count Tags/Kb" @LN_3_FILES@ #elif str($repeat2.type.type) == "read_duplication_pos" #for $k, $file in enumerate($repeat2.type.input) ln -s '$file' '$repeat_dir/file_${k}.pos.DupRate.xls' && #end for #elif str($repeat2.type.type) == "infer_experiment" #set $pattern = "Fraction of reads explained by" #for $k, $file in enumerate($repeat2.type.input) grep -q "$pattern" $file || die "'$pattern' not found in the file" && ln -s '$file' '$repeat_dir/$file_${k}_infer_experiment.txt' && #end for #end if #end for #elif str($repeat.software_cond.software) == "salmon" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set repeat_dir = $software_dir + '/' + str($repeat2.type.type) + '_' + str($j) mkdir '$repeat_dir' && #if str($repeat2.type.type) == "meta" #for $k, $file in enumerate($repeat2.type.input) #set file_dir = $repeat_dir + '/file_' + str($k) mkdir '$file_dir' && ln -s '$file' '$file_dir/meta_info.json' && #end for #elif str($repeat2.type.type) == "fld" #for $k, $file in enumerate($repeat2.type.input) #set file_dir = $repeat_dir + '/file_' + str($k) mkdir '$file_dir' && ln -s '$file' '$file_dir/flenDist.txt' && #end for #end if #end for #elif str($repeat.software_cond.software) == "samblaster" #set $pattern = "samblaster: Version" @LN_FILES@ #elif str($repeat.software_cond.software) == "samtools" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set repeat_dir = $software_dir + '/' + str($repeat2.type.type) + '_' + str($j) mkdir '$repeat_dir' && #if str($repeat2.type.type) == "stats" #set $pattern = "This file was produced by samtools stats" @LN_3_FILES@ #elif str($repeat2.type.type) == "flagstat" #set $pattern = "in total (QC-passed reads + QC-failed reads)" @LN_3_FILES@ #elif str($repeat2.type.type) == "idxstats" #for $file in $repeat2.type.input ln -s '$file' '$repeat_dir/${file.element_identifier}_idxstat' && #end for #elif str($repeat2.type.type) == "rmdup" #set $pattern = "[bam_rmdup" @LN_3_FILES@ #end if #end for #elif str($repeat.software_cond.software) == "snpeff" #set $pattern = "SnpEff_version" @LN_FILES@ #elif str($repeat.software_cond.software) == "sortmerna" #set $pattern = "Minimal SW score based on E-value" @LN_FILES@ #else if str($repeat.software_cond.software) == "star": #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set repeat_dir = $software_dir + '/' + str($repeat2.type.type) + '_' + str($j) mkdir $repeat_dir && #if str($repeat2.type.type) == "log" #for $file in $repeat2.type.input ln -s '$file' '${repeat_dir}/${file.element_identifier}_Log.final.out' && #end for #elif str($repeat2.type.type) == "genecounts" #for $file in $repeat2.type.input ln -s '$file' '${repeat_dir}/${file.element_identifier}_ReadsPerGene.out.tab' && #end for #end if #end for #elif str($repeat.software_cond.software) == "tophat" #for $file in $repeat.software_cond.input ln -s '$file' '$software_dir/${file.element_identifier}align_summary.txt' && #end for #elif str($repeat.software_cond.software) == "trimmomatic" #set $pattern = "Trimmomatic" @LN_FILES@ #elif str($repeat.software_cond.software) == "vcftools" #for $j, $repeat2 in enumerate( $repeat.software_cond.output ) #set file_dir = $software_dir + '/' + str($repeat2.type.type) + '_' + str($j) mkdir $file_dir && #if str($repeat2.type.type) == "relatedness2" #for $file in $repeat2.type.input ln -s '$file' '${repeat_dir}/${file.element_identifier}.relatedness2' && #end for #elif str($repeat2.type) == "tstv_by_count" #for $file in $repeat2.type.input ln -s '$file' '${repeat_dir}/${file.element_identifier}.TsTv.count' && #end for #elif str($repeat2.type) == "tstv_by_qual" #for $file in $repeat2.type.input ln -s '$file' '${repeat_dir}/${file.element_identifier}.TsTv.qual' && #end for #elif str($repeat2.type) == "tstv_summary" #for $file in $repeat2.type.input ln -s '$file' '${repeat_dir}/${file.element_identifier}.TsTv.summary' && #end for #end if #end for #else if str($repeat.software_cond.software) == "custom_content": #set $configfile = "T" #for $j, $file in enumerate( $repeat.software_cond.input ) ln -s '$file' '${software_dir}/file_${i}_${j}' && more $file && #end for #end if #end for multiqc multiqc_WDir #if $configfile == "T" -c '$multiqc_config' #end if ]]></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> <inputs> <repeat name="results" title="Results" min="1"> <conditional name="software_cond"> <param name="software" type="select" label="Which tool was used generate logs?" help="Software name"> <!--<option value="adapterRemoval">Adapter Removal</option>--> <!--<option value="afterqc">AfterQC</option>--> <option value="bamtools">Bamtools</option> <option value="bcftools">Bcftools</option> <!--<option value="bcl2fastq">bcl2fastq</option>--> <!--<option value="biobloomtools">BioBloom Tools</option>--> <option value="bismark">Bismark</option> <!--<option value="bowtie1">Bowtie 1</option>--> <option value="bowtie2">Bowtie 2</option> <option value="busco">BUSCO</option> <!--<option value="clusterflow">Cluster Flow</option>--> <option value="cutadapt">Cutadapt/Trim Galore!</option> <!--<option value="conpair">Conpair</option>--> <!--<option value="disambiguate">Disambiguate</option>--> <!--<option value="fastq_screen">FastQ Screen</option>--> <option value="fastqc">FastQC</option> <option value="featureCounts">featureCounts</option> <option value="flexbar">Flexbar</option> <option value="gatk">GATK (BaseRecalibrator or VariantEval output)</option> <!--<option value="goleft_indexcov">goleft indexcov</option>--> <!--<option value="hicup">HiCUP</option>--> <option value="hisat2">HISAT2</option> <!--<option value="homer">HOMER</option>--> <option value="htseq">HTSeq</option> <!--<option value="jellyfish">Jellyfish</option>--> <option value="kallisto">Kallisto</option> <!--<option value="leehom">leeHom</option>--> <!--<option value="macs2">MACS2</option>--> <!--<option value="methylQA">methylQA</option>--> <!--<option value="peddy">Peddy</option>--> <option value="picard">Picard</option> <!--<option value="preseq">Preseq</option>--> <option value="prokka">Prokka</option> <!--<option value="qorts">QoRTs</option>--> <!--<option value="qualimap">Qualimap (BamQC or RNASeq output)</option>--> <option value="quast">QUAST</option> <!--<option value="rna_seqc">RNA-SeQC</option>--> <!--<option value="rsem">RSEM (rsem-calculate-regex output)</option>--> <option value="rseqc">RSeQC (bam_stat, gene_body_coverage, infer_experiment, ...)</option> <!--<option value="salmon">Salmon</option>--> <option value="samblaster">Samblaster</option> <option value="samtools">Samtools</option> <!--<option value="skewer">Skewer</option>--> <option value="sortmerna">SortMeRNA</option> <!--<option value="slamdunk">Slamdunk</option>--> <!--<option value="snpeff">SnpEff</option>--> <option value="star">STAR</option> <!--<option value="theta2">THeTA2</option>--> <option value="tophat">TopHat2</option> <option value="trimmomatic">Trimmomatic</option> <option value="vcftools">VCFTools</option> <!--Custom--> <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)'"/> </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'"/> </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> </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:'"/> </when> <when value="busco"> <param name="input" type="data" format="txt" multiple="true" label="Output of BUSCO"/> </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'"/> </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"/> </repeat> </when> <when value="featureCounts"> <param name="input" type="data" format="txt,tabular,tsv,csv" multiple="true" label="Output of FeatureCounts"/> </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'"/> </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> </when> <when value="hisat2"> <param name="input" type="data" format="txt,tabular" multiple="true" label="Output of HISAT2" help="It should contain 'HISAT2 summary stats:'"/> </when> <when value="htseq"> <param name="input" type="data" format="txt,tabular" multiple="true" label="Output of HTSeq" help="It should contain '__too_low_aQual'"/> </when> <when value="kallisto"> <param name="input" type="data" format="txt,tabular,tsv,csv" multiple="true" label="Output of Kallisto" help="It should contain '[quant] finding pseudoalignments for the reads'"/> </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> </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="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_stat</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_pos</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" 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 output"/> </when> <when value="infer_experiment"> <param name="input" type="data" format="txt" multiple="true" label="RSeQC infer_experiment output" help="It should contain 'Fraction of reads explained by'"/> </when> <when value="inner_distance"> <param name="input" type="data" format="txt,xls,tabular" multiple="true" label="RSeQC inner_distance output"/> </when> <when value="junction_annotation"> <param name="input" type="data" format="txt,xls,tabular" multiple="true" label="RSeQC junction_annotation output" 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 output"/> </when> <when value="read_distribution"> <param name="input" type="data" format="txt,xls,tabular" multiple="true" label="RSeQC read_distribution output" help="It should contain 'Group Total_bases Tag_count Tags/Kb'"/> </when> <when value="read_duplication_pos"> <param name="input" type="data" format="csv,xls,tabular" multiple="true" label="RSeQC read_duplication_pos output"/> </when> <when value="read_gc"> <param name="input" type="data" format="csv,xls,tabular" multiple="true" label="RSeQC read_gc output"/> </when> </conditional> </repeat> </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> </when> <when value="sortmerna"> <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> </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'"/> </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> </when> <when value="custom_content"> <param argument="plot_type" label="The plot type to visualise the data with" type="select"> <option value="linegraph">linegraph</option> <option value="bargraph">bargraph</option> <option value="scatter">scatter</option> <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 name="input" type="data" format="tabular,tsv" multiple="true" label="Data files"/> </when> </conditional> </repeat> <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="multiqc_report.html" label="${tool.name} on ${on_string}: Webpage" /> <data name="log" format="txt" from_work_dir="multiqc_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="multiqc_data" /> </collection> </outputs> <tests> <test> <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="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="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="saveLog" value="True"/> <output name="html_report"> <assert_contents> <has_text text="cutadapt_plot" /> <has_text text="fastqc_seq_heatmap_key_t" /> <has_text text="flexbar_plot" /> <has_text text="sortmerna-detailed-plot" /> <has_text text="trimmomatic_plot" /> </assert_contents> </output> <output name="log" file="pre_alignment_soft_log.txt" compare="sim_size"/> <output_collection name="stats" type="list"> <element name="cutadapt" file="cutadapt_stats.tabular" compare="sim_size" delta="10"/> <element name="fastqc" file="fastqc_stats.tabular" compare="sim_size" delta="10"/> <element name="flexbar" file="flexbar_stats.tabular" compare="sim_size" delta="10"/> <element name="general_stats" file="pre_alignment_soft_stats.tabular" compare="sim_size" delta="30"/> <element name="sortmerna" file="sortmerna_stats.tabular" compare="sim_size" delta="30"/> <element name="trimmomatic" file="trimmomatic_stats.tabular" compare="sim_size" delta="0"/> </output_collection> </test> <test> <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="kallisto" /> <param name="input" value="kallisto_1.txt,kallisto_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="star_alignment_plot" /> <has_text text="tophat_alignment" /> </assert_contents> </output> <output_collection name="stats" type="list"> <element name="bismark_alignment" file="bismark_stats.tabular" compare="sim_size" delta="10"/> <element name="bowtie2" file="bowtie2_stats.tabular" compare="sim_size" delta="0"/> <element name="general_stats" file="aligner_soft_stats.tabular" compare="sim_size" delta="50"/> <element name="hisat2" file="hisat2_stats.tabular" compare="sim_size" delta="0"/> <element name="kallisto" file="kallisto_stats.tabular" compare="sim_size" delta="10"/> <element name="star" file="star_stats.tabular" compare="sim_size" delta="10"/> <element name="tophat.txt" file="tophat_stats.tabular" compare="sim_size" delta="10"/> </output_collection> </test> <test> <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="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="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="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="featureCounts_assignment_plot" /> <has_text text="gatk_varianteval_variant_plot" /> <has_text text="htseq_assignment_plot" /> <has_text text="picard_aligned_reads" /> <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="samblaster_duplicates" /> <has_text text="quast-stats" /> <has_text text="samtools-flagstat-dp" /> <has_text text="bamtools-stats" /> </assert_contents> </output> <output_collection name="stats" type="list"> <element name="bamtools_stats" file="bamtools_stats.tabular" compare="sim_size" delta="0"/> <element name="bcftools_stats" file="bcftools_stats.tabular" compare="sim_size" delta="0"/> <element name="busco" file="busco_stats.tabular" compare="sim_size" delta="0"/> <element name="featureCounts" file="featureCounts_stats.tabular" compare="sim_size" delta="25"/> <element name="gatk_varianteval" file="gatk_varianteval_stats.tabular" compare="sim_size" delta="20"/> <element name="general_stats" file="post_aligner_soft_stats.tabular" compare="sim_size" delta="25"/> <element name="htseq" file="htseq_stats.tabular" compare="sim_size" delta="0"/> <element name="picard_AlignmentSummaryMetrics" file="picard_AlignmentSummaryMetrics_stats.tabular" compare="sim_size" delta="0"/> <element name="picard_RnaSeqMetrics" file="picard_RnaSeqMetrics_stats.tabular" compare="sim_size" delta="40"/> <element name="picard_baseContent" file="picard_baseContent_stats.tabular" compare="sim_size" delta="50"/> <element name="picard_dups" file="picard_dups_stats.tabular" compare="sim_size" delta="0"/> <element name="picard_insertSize" file="picard_insertSize_stats.tabular" compare="sim_size" delta="0"/> <element name="prokka" file="prokka_stats.tabular" compare="sim_size" delta="0"/> <element name="quast" file="quast_stats.tabular" compare="sim_size" delta="0"/> <element name="samblaster" file="samblaster_stats.tabular" compare="sim_size" delta="0"/> <element name="samtools_flagstat"> <assert_contents> <has_text text="samtools_flagstat" /> <has_text text="mapped_passed" /> <has_text text="20689039" /> </assert_contents> </element> <element name="samtools_stats" file="samtools_stats_stats.tabular" compare="sim_size" delta="15"/> </output_collection> </test> <test> <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="title" value="Base peak chromatogram" /> <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" file="report_manual_custom_content.html" compare="sim_size"/> </test> </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. **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 ---- The first integration of this tool was made by Cyril Monjeaud and Yvan Le Bras (`Enancio <http://enancio.fr/>`_ and Rennes GenOuest Bio-informatics Core Facility). ]]></help> <citations> <citation type="doi">10.1093/bioinformatics/btw354</citation> </citations> </tool>