view multiqc.xml @ 2:35c97cd9e35f draft

planemo upload for repository https://github.com/EnginesOn/galaxy_tools/tree/master/tools/multiqc commit 1110117e9b07da7913ea4480566a00d1bb373531-dirty
author engineson
date Fri, 27 May 2016 06:25:21 -0400
parents 8f25feb85166
children ff22ea7aa6bb
line wrap: on
line source

<tool id="multiqc" name="multiqc" version="0.6">
    <description>aggregate results from bioinformatics analyses across many samples into a single report</description>
    <requirements>
       <requirement type="package" version="0.6">multiqc</requirement>
    </requirements>
    <stdio>
        <exit_code range="1:" />
    </stdio>
    <command>
        mkdir multiqc_WDir;
        
        #for $i, $repeat in enumerate( $results )

          mkdir multiqc_WDir/${repeat.software}_${i};

          #if $repeat.software == "fastqc"

              #for $k, $file in enumerate ( $repeat.input_file )
                  ## create a directory for each file because of the unqiue name file parsing
                  mkdir multiqc_WDir/${repeat.software}_${i}/file_${k};
                  ##cat ${file} > multiqc_WDir/${repeat.software}_${i}/file_$k/fastqc_data.txt;
                  ln -s ${file} multiqc_WDir/${repeat.software}_${i}/file_$k/fastqc_data.txt;
              #end for           

          #else if $repeat.software == "tophat"

              #for $file in $repeat.input_file
                  ## test if input file name contains align_summary
                  if [[ '${file.display_name}' =~ align_summary$ ]]; then
                       ##cat ${file} > multiqc_WDir/${repeat.software}_${i}/'${file.display_name}'.txt; else
                       ln -s  ${file} multiqc_WDir/${repeat.software}_${i}/'${file.display_name}'.txt; else
                       ##cat ${file} > multiqc_WDir/${repeat.software}_${i}/'${file.display_name}'_align_summary.txt; 
                       ln -s ${file} multiqc_WDir/${repeat.software}_${i}/'${file.display_name}'_align_summary.txt;
                  fi;
              #end for

          #else if $repeat.software == "cutadapt"

              #for $file in $repeat.input_file
                  cat ${file} > multiqc_WDir/${repeat.software}_${i}/'${file.display_name}'.txt;
                  ## replace header for old cutadapt release
                  sed -i 's/You are running/This is/' multiqc_WDir/${repeat.software}_${i}/'${file.display_name}'.txt;               
              #end for

          #else if $repeat.software == "featurecounts"

              #for $file in $repeat.input_file
                  ## remove spaces and colon to skip multiqc crash
                  cat ${file} > multiqc_WDir/${repeat.software}_${i}/featurecounts_result.summary;
                  ## remove spaces and colon to skip multiqc crash
                  sed -i 's/:/_/g' multiqc_WDir/${repeat.software}_${i}/featurecounts_result.summary;
                  sed -i 's/ /_/g' multiqc_WDir/${repeat.software}_${i}/featurecounts_result.summary;
              #end for

         #else if $repeat.software == "bismark"

               #for $file in $repeat.input_file
                  ##cat ${file} > multiqc_WDir/${repeat.software}_${i}/'${file.display_name}'_SE_report.txt;
                  ln -s ${file} multiqc_WDir/${repeat.software}_${i}/'${file.display_name}'_SE_report.txt;
               #end for

          #else

              #for $file in $repeat.input_file
              cat ${file} > multiqc_WDir/${repeat.software}_${i}/'${file.display_name}';
                  #if $repeat.software == "picard"
		      sed -i 's/picard.sam.markduplicates.MarkDuplicates/picard.sam.MarkDuplicates/' multiqc_WDir/${repeat.software}_${i}/'${file.display_name}';                
		  #end if
              #end for 

         #end if
        #end for

        multiqc multiqc_WDir; 
       
    </command>
    <inputs>
        <!--param name="inputs" type="data" format="txt" multiple="true" label="Tools logs-outputs" /-->
        <repeat name="results" title="Results" min="1">
                <param name="software" type="select" label="Software name">
                     <option value="fastqc">FastQC (RawData file)</option>
                     <option value="cutadapt">Cutadapt (Report file)</option>
                     <option value="tophat">Tophat2 (align_summary file)</option>
                     <option value="featurecounts">FeatureCounts (Summary file)</option>
                     <option value="samtools_stats">Samtools Stats (Stats file)</option>
                     <option value="picard">Picard (MarkDuplicates metrics file, CollectGTBiasMetrics Summary data file, CollectInsertSizeMetrics file)</option>
                     <option value="bismark">Bismark (Report file)</option>
                     <!--option value="bowtie2">Bowtie2</option>
                     <option value="snpeff">SnpEff</option-->
                </param>
                <param name="input_file" type="data" format="txt, tabular" multiple="true" label="Result file" />
        </repeat>
    </inputs>
    <outputs>
        <data format="html" from_work_dir="multiqc_report.html" name="html_file" label="${tool.name} on ${on_string}: Webpage" />
        <data format="txt" name="text_file" from_work_dir="multiqc_data/.multiqc.log" label="${tool.name} on ${on_string}: Log"/>
    </outputs>
    <tests>
      <test>
         <repeat name="results">
            <param name="software" value="fastqc" />
            <param name="input_file" value="fastqc_data.txt" />
         </repeat>
         <output name="html_file" file="report_fastqc.html" compare="sim_size" delta="1000"/>
         <output name="text_file" file="log_fastqc.txt" compare="sim_size" delta="1000"/>     
       </test>
       <test>
         <repeat name="results">
            <param name="software" value="fastqc" />
            <param name="input_file" value="fastqc_data.txt,fastqc_data_2.txt" />
         </repeat>
         <output name="html_file" file="report_fastqc_2.html" compare="sim_size" delta="1000"/>
         <output name="text_file" file="log_fastqc_2.txt" compare="sim_size" delta="1000"/>
      </test>
      <test>
         <repeat name="results">
            <param name="software" value="cutadapt" />
            <param name="input_file" value="cutadapt.txt" />
         </repeat>
         <output name="html_file" file="report_cutadapt.html" compare="sim_size" delta="1000"/>
         <output name="text_file" file="log_cutadapt.txt" compare="sim_size" delta="1000"/>
       </test>
      <test>
         <repeat name="results">
            <param name="software" value="tophat" />
            <param name="input_file" value="tophat_data.txt" />
         </repeat>
         <output name="html_file" file="report_tophat.html" compare="sim_size" delta="1000"/>
         <output name="text_file" file="log_tophat.txt" compare="sim_size" delta="1000"/>
       </test>
       <test>
         <repeat name="results">
            <param name="software" value="featurecounts" />
            <param name="input_file" value="featurecounts_data.txt" />
         </repeat>
         <output name="html_file" file="report_featurecounts.html" compare="sim_size" delta="1000"/>
         <output name="text_file" file="log_featurecounts.txt" compare="sim_size" delta="1000"/>
       </test>
       <test>
         <repeat name="results">
            <param name="software" value="picard" />
            <param name="input_file" value="collectGcBias_data.txt,CollectInsertSizeMetrics.txt,MarkDuplicates_data.txt" />
         </repeat>
         <output name="html_file" file="report_picard.html" compare="sim_size" delta="1000"/>
         <output name="text_file" file="log_picard.txt" compare="sim_size" delta="1000"/>
       </test>
       <test>
         <repeat name="results">
            <param name="software" value="bismark" />
            <param name="input_file" value="bismark_data.txt" />
         </repeat>
         <output name="html_file" file="report_bismark.html" compare="sim_size" delta="1000"/>
         <output name="text_file" file="log_bismark.txt" compare="sim_size" delta="1000"/>
       </test>
       <test>
         <repeat name="results">
            <param name="software" value="samtools_stats" />
            <param name="input_file" value="samtools_data.txt" />
         </repeat>
         <output name="html_file" file="report_samtools.html" compare="sim_size" delta="1000"/>
         <output name="text_file" file="log_samtools.txt" compare="sim_size" delta="1000"/>
       </test>
    <test>
        <repeat name="results">
            <param name="software" value="fastqc" />
            <param name="input_file" value="fastqc_data.txt,fastqc_data_2.txt" />
         </repeat>
         <repeat name="results">
            <param name="software" value="cutadapt" />
            <param name="input_file" value="cutadapt.txt" />
         </repeat>
         <repeat name="results">
            <param name="software" value="tophat" />
            <param name="input_file" value="tophat_data.txt" />
         </repeat>
         <repeat name="results">
            <param name="software" value="featurecounts" />
            <param name="input_file" value="featurecounts_data.txt" />
         </repeat>
         <repeat name="results">
            <param name="software" value="picard" />
            <param name="input_file" value="collectGcBias_data.txt,CollectInsertSizeMetrics.txt,MarkDuplicates_data.txt" />
         </repeat>
         <repeat name="results">
            <param name="software" value="bismark" />
            <param name="input_file" value="bismark_data.txt" />
         </repeat>
         <repeat name="results">
            <param name="software" value="samtools_stats" />
            <param name="input_file" value="samtools_data.txt" />
         </repeat>

         <output name="html_file" file="report_all.html" compare="sim_size" delta="3000"/>
         <output name="text_file" file="log_all.txt" compare="sim_size" delta="3000"/>
       </test>
    </tests>


    <help>
**What it does**

MultiQC aggregates results from bioinformatics analyses across many samples into a single report

----

**Description**

MultiQC searches a given directory for analysis logs and compiles a HTML report. It's a general use tool, perfect for summarising the output from numerous bioinformatics tools.

----

**Inputs**

MultiQC takes software outputs summary in order to create a single report. Below a list of compatible Galaxy tools :

 - Fastqc
 - Cutadapt
 - Tophat2
 - FeatureCounts
 - Samtools stats
 - Picard MarkDuplicates metrics
 - Picard CollectGTBiasMetrics
 - Picard CollectInsertSizeMetrics
 - Bismark

----

**Integrated by:**

Cyril Monjeaud and Yvan Le Bras

`EnginesOn &lt;http://engineson.fr/&gt;`_ and Rennes GenOuest Bio-informatics Core Facility

    </help>

 <citations>
<citation type="bibtex">@proceedings{proceedings,
    author = {Phil Ewels, Måns Magnusson, Max Käller},
    title = {Quality control at scale: MultiQC - Intelligent analysis reporting},
    journal = {Epigenomics of Common Disease},
    year = {2015},
    }
</citation>
  </citations>
</tool>