changeset 29:3a2aab18a217 draft

Uploaded
author bgruening
date Tue, 16 Sep 2014 13:46:05 -0400
parents f7712a057440
children 5231f398d784
files bamCompare.xml bamCorrelate.xml bamCoverage.xml bamFingerprint.xml bamPEFragmentSize.xml bigwigCompare.xml computeGCBias.xml computeMatrix.xml correctGCBias.xml deepTools_macros.xml heatmapper.xml profiler.xml readme.rst tool_dependencies.xml
diffstat 14 files changed, 436 insertions(+), 233 deletions(-) [+]
line wrap: on
line diff
--- a/bamCompare.xml	Wed Apr 02 09:15:44 2014 -0400
+++ b/bamCompare.xml	Tue Sep 16 13:46:05 2014 -0400
@@ -45,6 +45,8 @@
             #end if
 
           #end if
+      #elif $comparison.type in ['ratio','log2']:
+          --pseudocount $comparison.pseudocount
       #end if
 
       #if str($region).strip() != '':
@@ -117,8 +119,12 @@
                 <option value="ratio">compute the ratio of the number of reads</option>
                 <option value="subtract">compute difference (subtract input from treatment) of the number of reads</option>
             </param>
-            <when value="log2" />
-            <when value="ratio" />
+            <when value="log2">
+                <expand macro="pseudocount" />
+            </when>
+            <when value="ratio">
+                <expand macro="pseudocount" />
+            </when>
             <when value="subtract">
                 <conditional name="normalization">
                     <param name="type" type="select" label="Normalization method" >
@@ -166,9 +172,7 @@
                     label="Minimum mapping quality (e.g. BOWTIE2 measures)"
                     help= "If set, only reads that have a mapping quality score higher than the given value are considered. *Note* Bowtie's Mapping quality is related to uniqueness: the higher the score, the more unique is a read. A mapping quality defined by Bowtie of 10 or less indicates that there is at least a 1 in 10 chance that the read truly originated elsewhere."/>
 
-                <param name="missingDataAsZero" type="boolean" truevalue="yes" falsevalue="no" checked="True"
-                    label ="Treat missing data as zero"
-                    help  ="This parameter determines if missing data should be treated as zeros. If unchecked, missing data will be ignored and not included in the output file. Missing data is defined as those regions for which both BAM files have 0 reads." />
+                <expand macro="missingDataAsZero" />
 
                 <param name="ignoreForNormalization" type="text" value="" size="50"
                     label="regions that should be excluded for calculating the scaling factor"
@@ -222,4 +226,5 @@
 @REFERENCES@
 
     </help>
+    <expand macro="citations" />
 </tool>
--- a/bamCorrelate.xml	Wed Apr 02 09:15:44 2014 -0400
+++ b/bamCorrelate.xml	Tue Sep 16 13:46:05 2014 -0400
@@ -185,4 +185,5 @@
 @REFERENCES@
 
     </help>
+    <expand macro="citations" />
 </tool>
--- a/bamCoverage.xml	Wed Apr 02 09:15:44 2014 -0400
+++ b/bamCoverage.xml	Tue Sep 16 13:46:05 2014 -0400
@@ -47,6 +47,8 @@
                 --minMappingQuality '$advancedOpt.minMappingQuality'
             #end if
 
+            --missingDataAsZero $advancedOpt.missingDataAsZero
+
             ##if str($advancedOpt.ignoreForNormalization).strip() != '':
             ##    --ignoreForNormalization $advancedOpt.ignoreForNormalization
             ##end if
@@ -114,6 +116,8 @@
                     label="Minimum mapping quality"
                     help= "If set, only reads that have a mapping quality score higher than the given value are considered. *Note* Bowtie's Mapping quality is related to uniqueness: the higher the score, the more unique is a read. A mapping quality defined by Bowtie of 10 or less indicates that there is at least a 1 in 10 chance that the read truly originated elsewhere."/>
 
+                <expand macro="missingDataAsZero" />
+
              <!--   <param name="ignoreForNormalization" type="text" value="" size="50"
                     label="regions that should be excluded for calculating the scaling factor"
                     help="Sometimes it makes sense to exclude certain regions when calculating the scaling factor. For example, if you know some regions that you suspect to be present more often in your sample's genome than in the reference genome that will therefore accumulate reads (CNV). Another typical example is the single X chromosome in male samples that should be scaled separately from the diploid autosomes. For example chrX,chrY,chr3. or chr10:12220-128932" />
@@ -158,4 +162,5 @@
 @REFERENCES@
 
     </help>
+    <expand macro="citations" />
 </tool>
--- a/bamFingerprint.xml	Wed Apr 02 09:15:44 2014 -0400
+++ b/bamFingerprint.xml	Tue Sep 16 13:46:05 2014 -0400
@@ -148,4 +148,5 @@
 @REFERENCES@
 
     </help>
+    <expand macro="citations" />
 </tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bamPEFragmentSize.xml	Tue Sep 16 13:46:05 2014 -0400
@@ -0,0 +1,50 @@
+<tool id="deeptools_bamPEFragmentSize" name="bamPEFragmentSize" version="@WRAPPER_VERSION@.0">
+    <description>Given a BAM file it samples several regions to estimate the paird-end fragment length</description>
+    <expand macro="requirements" />
+    <expand macro="stdio" />
+    <macros>
+        <token name="@BINARY@">bamPEFragmentSize</token>
+        <import>deepTools_macros.xml</import>
+    </macros>
+    <command>
+<![CDATA[
+        bamPEFragmentSize
+
+        @THREADS@
+
+        --bam '$bamInput'
+        --bamIndex ${bamInput.metadata.bam_index}
+        #if $histogram:
+            --histogram $histogram_outfile
+        #end if
+        > $outfile
+
+]]>
+    </command>
+
+    <inputs>
+        <param name="bamInput" format="bam" type="data" label="BAM file"
+            help="The BAM file must be sorted."/>
+        <param name="histogram" type="boolean" truevalue="--histogram" falsevalue=""
+            label="Get the distribion of fragment length as histogram"
+            help="(--histogram)"/>
+    </inputs>
+    <outputs>
+        <data format="txt" name="outfile" label="${tool.name} on ${on_string}" />
+        <data name="histogram_outfile" format="tabular" from_work_dir="quant_bias_corrected.sf" label="${tool.name} on ${on_string} (Bias corrected Quantification)">
+            <filter>histogram == '--histogram'</filter>
+        </data>
+    </outputs>
+    <help>
+
+**What it does**
+
+Given a BAM file it samples several regions to estimate the paird-end fragment length.
+
+-----
+
+@REFERENCES@
+
+    </help>
+    <expand macro="citations" />
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bigwigCompare.xml	Tue Sep 16 13:46:05 2014 -0400
@@ -0,0 +1,116 @@
+<tool id="deeptools_bigwigCompare" name="bigwigCompare" version="@WRAPPER_VERSION@.0">
+    <description>normalizes and compares two bigWig files to obtain the ratio, log2ratio or difference</description>
+    <expand macro="requirements"/>
+    <expand macro="stdio" />
+    <macros>
+        <token name="@BINARY@">bigwigCompare</token>
+        <import>deepTools_macros.xml</import>
+    </macros>
+    <command>
+        bigwigCompare
+
+        @THREADS@
+
+        --bigwig1 '$bigwigFile1'
+        --bigwig2 '$bigwigFile2'
+
+        --outFileName '$outFileName'
+        --outFileFormat '$outFileFormat'
+
+        --ratio $comparison.type
+
+        #if $comparison.type in ['ratio','log2']:
+            --pseudocount $comparison.pseudocount
+        #end if
+
+        #if str($region).strip() != '':
+            --region '$region'
+        #end if
+
+        #if $advancedOpt.showAdvancedOpt == "yes":
+
+          --missingDataAsZero $advancedOpt.missingDataAsZero
+          --scaleFactors '$advancedOpt.scaleFactor1:$advancedOpt.scaleFactor2'
+          --binSize $advancedOpt.binSize
+
+        #end if
+    </command>
+    <inputs>
+        <param name="bigwigFile1" format="bigwig" type="data" label="Treatment bigwig file" />
+        <param name="bigwigFile2" format="bigwig" type="data" label="bigWig file" />
+
+
+        <conditional name="comparison">
+            <param name="type" type="select" 
+                label="How to compare the two files">
+                <option value="log2" selected="true">compute log2 of the number of reads ratio</option>
+                <option value="ratio">compute the ratio of the number of reads</option>
+                <option value="subtract">compute difference (subtract input from treatment) of the number of reads</option>
+                <option value="add">compute the sum over all reads</option>
+                <option value="reciprocal_ratio">compute the reciprocal ratio of the number of reads</option>
+            </param>
+            <when value="log2">
+                <expand macro="pseudocount" />
+            </when>
+            <when value="ratio">
+                <expand macro="pseudocount" />
+            </when>
+            <when value="subtract" />
+            <when value="add" />
+            <when value="reciprocal_ratio" />
+        </conditional>
+
+        <param name="outFileFormat" type="select" label="Coverage file format">
+            <option value="bigwig" selected="true">bigwig</option>
+            <option value="bedgraph">bedgraph</option>
+        </param>
+
+        <expand macro="region_limit_operation" />
+
+        <conditional name="advancedOpt">
+            <param name="showAdvancedOpt" type="select" label="Show advanced options" >
+                <option value="no" selected="true">no</option>
+                <option value="yes">yes</option>
+            </param>
+            <when value="no" />
+            <when value="yes">
+                <param name="binSize" type="integer" value="50" min="1" 
+                    label="Bin size in bp"
+                    help="Size of the bins in bp for the output of the bigwig/bedgraph file "/>
+
+                <param name="missingDataAsZero" type="boolean" truevalue="yes" falsevalue="no" checked="True"
+                    label ="Treat missing data as zero"
+                    help  ="This parameter determines if missing data should be replaced with a zero. If set to &quot;no&quot;, missing data will be ignored and will not be included in the output file at all. Missing data is defined as those regions for which no value exists in *any* of the bigwig files. The decision to include or exclude missing data depends on the interpretation of the data. Missing data in a bigwig file may mean that there is no information available for certain regions, for example a repetitive region that is not being considered. In the same file regions with low coverage may get zero read counts. If missing data is replaced by zero, this would convert the excluded repetitive regions into regions of low coverage." />
+
+                <param name="scaleFactor1" type="float" value="1" label="Scale factor for treatment"/>
+                <param name="scaleFactor2" type="float" value="1" label="Scale factor for input"/>
+            </when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data format="bigwig" name="outFileName">
+        <change_format>
+            <when input="outFileFormat" value="bigwig" format="bigwig" />
+            <when input="outFileFormat" value="bedgraph" format="bedgraph" />
+        </change_format>
+        </data>
+    </outputs>
+
+  <help>
+
+**What it does**
+
+This tool compares two bigwig files based on the number of mapped reads. To
+compare the bigwig files the genome is partitioned into bins of equal size,
+then the number of reads found in each BAM file are counted for such bins and
+finally a summarizing value is reported. This value can be the ratio of the
+number of reads per bin, the log2 of the ratio, the sum or the difference.
+
+
+-----
+
+@REFERENCES@
+
+    </help>
+    <expand macro="citations" />
+</tool>
--- a/computeGCBias.xml	Wed Apr 02 09:15:44 2014 -0400
+++ b/computeGCBias.xml	Tue Sep 16 13:46:05 2014 -0400
@@ -152,4 +152,5 @@
 @REFERENCES@
 
     </help>
+    <expand macro="citations" />
 </tool>
--- a/computeMatrix.xml	Wed Apr 02 09:15:44 2014 -0400
+++ b/computeMatrix.xml	Tue Sep 16 13:46:05 2014 -0400
@@ -219,4 +219,5 @@
 @REFERENCES@
 
     </help>
+    <expand macro="citations" />
 </tool>
--- a/correctGCBias.xml	Wed Apr 02 09:15:44 2014 -0400
+++ b/correctGCBias.xml	Tue Sep 16 13:46:05 2014 -0400
@@ -105,4 +105,5 @@
 @REFERENCES@
 
     </help>
+    <expand macro="citations" />
 </tool>
--- a/deepTools_macros.xml	Wed Apr 02 09:15:44 2014 -0400
+++ b/deepTools_macros.xml	Tue Sep 16 13:46:05 2014 -0400
@@ -36,7 +36,7 @@
             </when>
         </conditional>
     </xml>
-    
+
     <xml name="region_limit_operation">
         <param name="region" type="text" value=""
             label="Region of the genome to limit the operation to"
@@ -44,14 +44,14 @@
     </xml>
     
     <token name="@THREADS@">--numberOfProcessors "\${GALAXY_SLOTS:-4}"</token>
-    <token name="@WRAPPER_VERSION@">1.1</token>
+    <token name="@WRAPPER_VERSION@">1.5.9.1</token>
     <xml name="requirements">
         <requirements>
             <requirement type="binary">@BINARY@</requirement>
             <requirement type="package" >samtools</requirement>
             <requirement type="package" >deepTools</requirement>
             <requirement type="package" >ucsc_tools</requirement>
-            <requirement type="package" version="1.5.8_09023018b96c23f922aa2ea553090e9df8ecf41e">deepTools</requirement>
+            <requirement type="package" version="1.5.9.1">deepTools</requirement>
             <requirement type="package" version="0.1">ucsc_tools</requirement>
             <requirement type="package" version="1.7.1">numpy</requirement>
             <requirement type="package" version="0.7.7">pysam</requirement>
@@ -109,6 +109,9 @@
             <regex match="Traceback" />
         </stdio>
     </xml>
+    <xml name="pseudocount">
+        <param name="pseudocount" type="float" value="1" label="Pseudocount" help="Small number to avoid dividing by zero."/>
+    </xml>
     <token name="@REFERENCES@">
 
 .. class:: infomark
@@ -119,12 +122,22 @@
 
 This tool is developed by the `Bioinformatics and Deep-Sequencing Unit`_ at the `Max Planck Institute for Immunobiology and Epigenetics`_.
 
-
 .. _Bioinformatics and Deep-Sequencing Unit: http://www3.ie-freiburg.mpg.de/facilities/research-facilities/bioinformatics-and-deep-sequencing-unit/
 .. _Max Planck Institute for Immunobiology and Epigenetics: http://www3.ie-freiburg.mpg.de
 .. _help site: https://github.com/fidelram/deepTools/wiki/
 
+**References**
+
+If you use this Galaxy tool in work leading to a scientific publication please
+cite the following paper:
+
     </token>
+    <xml name="citations">
+        <citations>
+            <citation type="doi">10.1093/nar/gku365</citation>
+            <yield />
+        </citations>
+    </xml>
 
     <xml name="multiple_input_bams">
         <repeat name="input_files" title="BAM files" min="2">
@@ -219,6 +232,12 @@
         </param>
     </xml>
 
+    <xml name="missingDataAsZero">
+                <param name="missingDataAsZero" type="boolean" truevalue="yes" falsevalue="no" checked="True"
+                    label ="Treat missing data as zero"
+                    help  ="This parameter determines if missing data should be treated as zeros. If unchecked, missing data will be ignored and not included in the output file. Missing data is defined as those regions for which both BAM files have 0 reads." />
+    </xml>
+
     <xml name="input_save_matrix_values">
         <param name="saveMatrix" type="boolean" label="Save the matrix of values underlying the heatmap"/>
     </xml>
--- a/heatmapper.xml	Wed Apr 02 09:15:44 2014 -0400
+++ b/heatmapper.xml	Tue Sep 16 13:46:05 2014 -0400
@@ -1,210 +1,211 @@
-<tool id="deeptools_heatmapper" name="heatmapper" version="@WRAPPER_VERSION@.0">
-    <description>creates a heatmap for a score associated to genomic regions</description>
-    <expand macro="requirements"/>
-    <expand macro="stdio" />
-    <macros>
-        <token name="@BINARY@">heatmapper</token>
-        <import>deepTools_macros.xml</import>
-    </macros>
-    <command>
-        heatmapper
-
-        --matrixFile $matrixFile
-        --outFileName $outFileName
-
-        #if $output.showOutputSettings == "yes"
-            --plotFileFormat $output.outFileFormat
-            #if $outFileNameData:
-                --outFileNameData '$outFileNameData'
-            #end if
-
-            #if $outFileNameMatrix:
-                --outFileNameMatrix '$outFileNameMatrix'
-            #end if
-
-            #if $outFileSortedRegions:
-                --outFileSortedRegions '$outFileSortedRegions'
-            #end if
-        #else
-            --plotFileFormat 'png'
-        #end if
-
-        #if $advancedOpt.showAdvancedOpt == "yes"
-            #if $advancedOpt.sortRegions:
-                --sortRegions '$advancedOpt.sortRegions'
-            #end if
-      
-            #if $advancedOpt.sortUsing:
-                --sortUsing '$advancedOpt.sortUsing'
-            #end if
-
-            #if $advancedOpt.averageTypeSummaryPlot:
-                --averageTypeSummaryPlot '$advancedOpt.averageTypeSummaryPlot'
-            #end if
-
-            #if str($advancedOpt.missingDataColor.value) != "None":
-                --missingDataColor '$advancedOpt.missingDataColor'
-            #end if
-
-            --colorMap '$advancedOpt.colorMap'
-
-            #if $advancedOpt.zMin:
-                --zMin $advancedOpt.zMin
-            #end if
-            #if $advancedOpt.zMax:
-                --zMax $advancedOpt.zMax
-            #end if
-
-            #if $advancedOpt.yMin:
-                --yMin $advancedOpt.yMin
-            #end if
-            #if $advancedOpt.yMax:
-                --yMax $advancedOpt.yMax
-            #end if
-
-            --xAxisLabel '$advancedOpt.xAxisLabel'
-            --yAxisLabel '$advancedOpt.yAxisLabel'
-
-            --heatmapWidth $advancedOpt.heatmapWidth
-            --heatmapHeight $advancedOpt.heatmapHeight
-
-            --whatToShow '$advancedOpt.whatToShow'
-
-            --startLabel '$advancedOpt.startLabel' 
-            --endLabel '$advancedOpt.endLabel'
-            --refPointLabel '$advancedOpt.referencePointLabel'
-            --regionsLabel '$advancedOpt.regionsLabel'
-
-            #if str($advancedOpt.plotTitle.value) != "None":
-                --plotTitle '$advancedOpt.plotTitle'
-            #end if
-
-            $advancedOpt.onePlotPerGroup
-
-            @kmeans_clusterin@
-
-        #end if
-    </command>
-    <inputs>
-        <param name="matrixFile" format="bgzip" type="data" label="Matrix file from the computeMatrix tool"/>
-
-        <expand macro="input_graphic_output_settings">
-            <expand macro="input_image_file_format" />
-            <expand macro="input_save_matrix_values" />
-        </expand>
-
-        <conditional name="advancedOpt" >
-            <param name="showAdvancedOpt" type="select" label="Show advanced options" >
-                <option value="no" selected="true">no</option>
-                <option value="yes">yes</option>
-            </param>
-            <when value="no" />
-            <when value="yes">
-                <param name="sortRegions" type="select" label="Sort regions"
-                    help="Whether the heatmap should present the regions sorted. The default is to sort in descending order based on the mean value per region.">
-                    <option value="no">no ordering</option>
-                    <option value="descend" selected="true">descending order</option>
-                    <option value="ascend">ascending order</option>
-                </param>
-
-                <param name="sortUsing" type="select" label="Method used for sorting" help="For each row the method is computed." >
-                    <option value="mean" selected="true">mean</option>
-                    <option value="median">median</option>
-                    <option value="min">min</option>
-                    <option value="max">max</option>
-                    <option value="sum">sum</option>
-                    <option value="region_length">region length</option>
-                </param>
-
-                <param name="averageTypeSummaryPlot" type="select" label="Type of statistic that should be plotted in the summary image above the heatmap">
-                    <option value="mean" selected="true">mean</option>
-                    <option value="median">median</option>
-                    <option value="min">min</option>
-                    <option value="max">max</option>
-                    <option value="sum">sum</option>
-                    <option value="std">std</option>
-                </param>
-
-                <param name="missingDataColor" type="text" label="Missing data color" value="black" optional="true" help="If 'Represent missing data as zero' is not set, such cases will be colored in black by default. By using this parameter a different color can be set. A value between 0 and 1 will be used for a gray scale (black is 0). Also color names can be used, see a list here: http://packages.python.org/ete2/reference/reference_svgcolors.html. Alternatively colors can be specified using the #rrggbb notation." />
-
-                <expand macro="colormap" />
-
-                <param name="zMin" type="float" value="" size="3" label="Minimum value for the heatmap intensities. Leave empty for automatic values" optional="true"/>
-                <param name="zMax" type="float" value="" size="3" label="Maximum value for the heatmap intensities. Leave empty for automatic values" optional="true"/>
-                <param name="yMin" type="float" value="" size="3" label="Minimum value for the Y-axis of the summary plot. Leave empty for automatic values" optional="true"/>
-                <param name="yMax" type="float" value="" size="3" label="Maximum value for Y-axis of the summary plot. Leave empty for automatic values" optional="true"/>
-
-                <param name="xAxisLabel" type="text" value="distance from TSS (bp)" size="200" label="Description for the x-axis label" />
-                <param name="yAxisLabel" type="text" value="genes" size="30" label="Description for the y-axis label for the top panel" />
-
-                <param name="heatmapWidth" type="float" value="7.5" min="1" max="100" label="Heatmap width in cm" help="The minimum value is 1 and the maximum is 100."/>
-                <param name="heatmapHeight" type="float" value="25" min="3" max="100" label="Heatmap height in cm" help="The minimum value is 3 and the maximum is 100."/>
-
-                <param name="whatToShow" type="select" label="What to show" help ="The default is to include a summary or profile plot on top of the heatmap and a heatmap colorbar.">
-                    <option value="plot, heatmap and colorbar" selected="true">summary plot, heatmap and colorbar</option>
-                    <option value="plot and heatmap">summary plot and heatmap (no colorbar)</option>
-                    <option value="heatmap only">heatmap only</option>
-                    <option value="heatmap and colorbar">heatmap and colorbar</option>
-                    <option value="colorbar only">colorbar only</option>
-                </param>
-
-                <param name="startLabel" type="text" value="TSS" size="10" label="Label for the region start" help ="[only for scale-regions mode] Label shown in the plot for the start of the region. Default is TSS (transcription start site), but could be changed to anything, e.g. &quot;peak start&quot;." />
-                <param name="endLabel" type="text" value="TES" size="10" label="Label for the region end" help="[only for scale-regions mode] Label shown in the plot for the region end. Default is TES (transcription end site)."/>
-
-                <param name="referencePointLabel" type="text" value="TSS" size="10" label="Reference point label" help ="[only for scale-regions mode] Label shown in the plot for the reference-point. Default is the same as the reference point selected (e.g. TSS), but could be anything, e.g. &quot;peak start&quot; etc." />
-                <param name="regionsLabel" type="text" value="genes" size="30" 
-                    label="Labels for the regions plotted in the heatmap" 
-                    help="If more than one region is being plotted a list of labels separated by comma and limited by quotes, is required. For example, label1, label2.">
-                    <sanitizer>
-                        <valid initial="string.printable">
-                        </valid>
-                    </sanitizer>
-                </param>
-                <param name="plotTitle" type="text" value="" size="30" label="Title of the plot" help="Title of the plot, to be printed on top of the generated image. Leave blank for no title." />
-                <param name="onePlotPerGroup" type="boolean" truevalue="--onePlotPerGroup" falsevalue="" 
-                    label="Do one plot per group" 
-                    help="When computeMatrix was used on more than one group of genes, the average plots for all the groups will be drawn in one panel by default. If this option is set, each group will get its own plot, stacked on top of each other."/>
-
-                <expand macro="kmeans_clustering" />
-
-            </when>
-        </conditional>
-    </inputs>
-    <outputs>
-        <expand macro="output_image_file_format" />
-        <expand macro="output_graphic_outputs" />
-        <expand macro="output_save_matrix_values" />
-    </outputs>
-    <tests>
-        <test>
-            <param name="matrixFile" value="master.mat.gz" ftype="bgzip" />
-            <output name="outFileName" file="master.png" ftype="png" compare="sim_size" delta="100" />
-        </test>
-    </tests>
-    <help>
-
-**What it does**
-
-The heatmapper visualizes scores associated with genomic regions, for example ChIP enrichment values around the TSS of genes.
-Like profiler, it requires that computeMatrix was run first to calculate the values.
- 
-We implemented vast optional parameters to optimize the visual output and we encourage you to play around with the min/max values displayed in the heatmap as well as 
-with the different coloring options. The most powerful option is the k-means clustering where you simply need to indicate the number of 
-groups with similar read distributions that you expect and the algorithm will do the sorting for you.
-
-Do check the examples on our help page with step-by-step protocols: https://github.com/fidelram/deepTools/wiki/Example-workflows
-
-
-.. image:: $PATH_TO_IMAGES/visual_hm_DmelPolII.png
-   :alt: Heatmap of RNA Polymerase II ChIP-seq
-
-
-You can find more details on the tool itself on the heatmapper wiki page: https://github.com/fidelram/deepTools/wiki/Visualizations#wiki-heatmapper
-
-
------
-
-@REFERENCES@
-
-    </help>
-</tool>
+<tool id="deeptools_heatmapper" name="heatmapper" version="@WRAPPER_VERSION@.0">
+    <description>creates a heatmap for a score associated to genomic regions</description>
+    <expand macro="requirements"/>
+    <expand macro="stdio" />
+    <macros>
+        <token name="@BINARY@">heatmapper</token>
+        <import>deepTools_macros.xml</import>
+    </macros>
+    <command>
+        heatmapper
+
+        --matrixFile $matrixFile
+        --outFileName $outFileName
+
+        #if $output.showOutputSettings == "yes"
+            --plotFileFormat $output.outFileFormat
+            #if $outFileNameData:
+                --outFileNameData '$outFileNameData'
+            #end if
+
+            #if $outFileNameMatrix:
+                --outFileNameMatrix '$outFileNameMatrix'
+            #end if
+
+            #if $outFileSortedRegions:
+                --outFileSortedRegions '$outFileSortedRegions'
+            #end if
+        #else
+            --plotFileFormat 'png'
+        #end if
+
+        #if $advancedOpt.showAdvancedOpt == "yes"
+            #if $advancedOpt.sortRegions:
+                --sortRegions '$advancedOpt.sortRegions'
+            #end if
+      
+            #if $advancedOpt.sortUsing:
+                --sortUsing '$advancedOpt.sortUsing'
+            #end if
+
+            #if $advancedOpt.averageTypeSummaryPlot:
+                --averageTypeSummaryPlot '$advancedOpt.averageTypeSummaryPlot'
+            #end if
+
+            #if str($advancedOpt.missingDataColor.value) != "None":
+                --missingDataColor '$advancedOpt.missingDataColor'
+            #end if
+
+            --colorMap '$advancedOpt.colorMap'
+
+            #if str($advancedOpt.zMin).strip() != "":
+                --zMin $advancedOpt.zMin
+            #end if
+            #if $advancedOpt.zMax:
+                --zMax $advancedOpt.zMax
+            #end if
+
+            #if str($advancedOpt.yMin).strip() != "":
+                --yMin $advancedOpt.yMin
+            #end if
+            #if $advancedOpt.yMax:
+                --yMax $advancedOpt.yMax
+            #end if
+
+            --xAxisLabel '$advancedOpt.xAxisLabel'
+            --yAxisLabel '$advancedOpt.yAxisLabel'
+
+            --heatmapWidth $advancedOpt.heatmapWidth
+            --heatmapHeight $advancedOpt.heatmapHeight
+
+            --whatToShow '$advancedOpt.whatToShow'
+
+            --startLabel '$advancedOpt.startLabel' 
+            --endLabel '$advancedOpt.endLabel'
+            --refPointLabel '$advancedOpt.referencePointLabel'
+            --regionsLabel '$advancedOpt.regionsLabel'
+
+            #if str($advancedOpt.plotTitle.value) != "None":
+                --plotTitle '$advancedOpt.plotTitle'
+            #end if
+
+            $advancedOpt.onePlotPerGroup
+
+            @kmeans_clusterin@
+
+        #end if
+    </command>
+    <inputs>
+        <param name="matrixFile" format="bgzip" type="data" label="Matrix file from the computeMatrix tool"/>
+
+        <expand macro="input_graphic_output_settings">
+            <expand macro="input_image_file_format" />
+            <expand macro="input_save_matrix_values" />
+        </expand>
+
+        <conditional name="advancedOpt" >
+            <param name="showAdvancedOpt" type="select" label="Show advanced options" >
+                <option value="no" selected="true">no</option>
+                <option value="yes">yes</option>
+            </param>
+            <when value="no" />
+            <when value="yes">
+                <param name="sortRegions" type="select" label="Sort regions"
+                    help="Whether the heatmap should present the regions sorted. The default is to sort in descending order based on the mean value per region.">
+                    <option value="no">no ordering</option>
+                    <option value="descend" selected="true">descending order</option>
+                    <option value="ascend">ascending order</option>
+                </param>
+
+                <param name="sortUsing" type="select" label="Method used for sorting" help="For each row the method is computed." >
+                    <option value="mean" selected="true">mean</option>
+                    <option value="median">median</option>
+                    <option value="min">min</option>
+                    <option value="max">max</option>
+                    <option value="sum">sum</option>
+                    <option value="region_length">region length</option>
+                </param>
+
+                <param name="averageTypeSummaryPlot" type="select" label="Type of statistic that should be plotted in the summary image above the heatmap">
+                    <option value="mean" selected="true">mean</option>
+                    <option value="median">median</option>
+                    <option value="min">min</option>
+                    <option value="max">max</option>
+                    <option value="sum">sum</option>
+                    <option value="std">std</option>
+                </param>
+
+                <param name="missingDataColor" type="text" label="Missing data color" value="black" optional="true" help="If 'Represent missing data as zero' is not set, such cases will be colored in black by default. By using this parameter a different color can be set. A value between 0 and 1 will be used for a gray scale (black is 0). Also color names can be used, see a list here: http://packages.python.org/ete2/reference/reference_svgcolors.html. Alternatively colors can be specified using the #rrggbb notation." />
+
+                <expand macro="colormap" />
+
+                <param name="zMin" type="float" value="" size="3" label="Minimum value for the heatmap intensities. Leave empty for automatic values" optional="true"/>
+                <param name="zMax" type="float" value="" size="3" label="Maximum value for the heatmap intensities. Leave empty for automatic values" optional="true"/>
+                <param name="yMin" type="float" value="" size="3" label="Minimum value for the Y-axis of the summary plot. Leave empty for automatic values" optional="true"/>
+                <param name="yMax" type="float" value="" size="3" label="Maximum value for Y-axis of the summary plot. Leave empty for automatic values" optional="true"/>
+
+                <param name="xAxisLabel" type="text" value="distance from TSS (bp)" size="200" label="Description for the x-axis label" />
+                <param name="yAxisLabel" type="text" value="genes" size="30" label="Description for the y-axis label for the top panel" />
+
+                <param name="heatmapWidth" type="float" value="7.5" min="1" max="100" label="Heatmap width in cm" help="The minimum value is 1 and the maximum is 100."/>
+                <param name="heatmapHeight" type="float" value="25" min="3" max="100" label="Heatmap height in cm" help="The minimum value is 3 and the maximum is 100."/>
+
+                <param name="whatToShow" type="select" label="What to show" help ="The default is to include a summary or profile plot on top of the heatmap and a heatmap colorbar.">
+                    <option value="plot, heatmap and colorbar" selected="true">summary plot, heatmap and colorbar</option>
+                    <option value="plot and heatmap">summary plot and heatmap (no colorbar)</option>
+                    <option value="heatmap only">heatmap only</option>
+                    <option value="heatmap and colorbar">heatmap and colorbar</option>
+                    <option value="colorbar only">colorbar only</option>
+                </param>
+
+                <param name="startLabel" type="text" value="TSS" size="10" label="Label for the region start" help ="[only for scale-regions mode] Label shown in the plot for the start of the region. Default is TSS (transcription start site), but could be changed to anything, e.g. &quot;peak start&quot;." />
+                <param name="endLabel" type="text" value="TES" size="10" label="Label for the region end" help="[only for scale-regions mode] Label shown in the plot for the region end. Default is TES (transcription end site)."/>
+
+                <param name="referencePointLabel" type="text" value="TSS" size="10" label="Reference point label" help ="[only for scale-regions mode] Label shown in the plot for the reference-point. Default is the same as the reference point selected (e.g. TSS), but could be anything, e.g. &quot;peak start&quot; etc." />
+                <param name="regionsLabel" type="text" value="genes" size="30" 
+                    label="Labels for the regions plotted in the heatmap" 
+                    help="If more than one region is being plotted a list of labels separated by comma and limited by quotes, is required. For example, label1, label2.">
+                    <sanitizer>
+                        <valid initial="string.printable">
+                        </valid>
+                    </sanitizer>
+                </param>
+                <param name="plotTitle" type="text" value="" size="30" label="Title of the plot" help="Title of the plot, to be printed on top of the generated image. Leave blank for no title." />
+                <param name="onePlotPerGroup" type="boolean" truevalue="--onePlotPerGroup" falsevalue="" 
+                    label="Do one plot per group" 
+                    help="When computeMatrix was used on more than one group of genes, the average plots for all the groups will be drawn in one panel by default. If this option is set, each group will get its own plot, stacked on top of each other."/>
+
+                <expand macro="kmeans_clustering" />
+
+            </when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <expand macro="output_image_file_format" />
+        <expand macro="output_graphic_outputs" />
+        <expand macro="output_save_matrix_values" />
+    </outputs>
+    <tests>
+        <test>
+            <param name="matrixFile" value="master.mat.gz" ftype="bgzip" />
+            <output name="outFileName" file="master.png" ftype="png" compare="sim_size" delta="100" />
+        </test>
+    </tests>
+    <help>
+
+**What it does**
+
+The heatmapper visualizes scores associated with genomic regions, for example ChIP enrichment values around the TSS of genes.
+Like profiler, it requires that computeMatrix was run first to calculate the values.
+ 
+We implemented vast optional parameters to optimize the visual output and we encourage you to play around with the min/max values displayed in the heatmap as well as 
+with the different coloring options. The most powerful option is the k-means clustering where you simply need to indicate the number of 
+groups with similar read distributions that you expect and the algorithm will do the sorting for you.
+
+Do check the examples on our help page with step-by-step protocols: https://github.com/fidelram/deepTools/wiki/Example-workflows
+
+
+.. image:: $PATH_TO_IMAGES/visual_hm_DmelPolII.png
+   :alt: Heatmap of RNA Polymerase II ChIP-seq
+
+
+You can find more details on the tool itself on the heatmapper wiki page: https://github.com/fidelram/deepTools/wiki/Visualizations#wiki-heatmapper
+
+
+-----
+
+@REFERENCES@
+
+    </help>
+    <expand macro="citations" />
+</tool>
--- a/profiler.xml	Wed Apr 02 09:15:44 2014 -0400
+++ b/profiler.xml	Tue Sep 16 13:46:05 2014 -0400
@@ -160,4 +160,5 @@
 @REFERENCES@
 
     </help>
+    <expand macro="citations" />
 </tool>
--- a/readme.rst	Wed Apr 02 09:15:44 2014 -0400
+++ b/readme.rst	Tue Sep 16 13:46:05 2014 -0400
@@ -48,7 +48,8 @@
 History
 =======
 
-- v1.0: Initial public release
+ * v1.0:        Initial public release
+ * v1.5.8.2:    Include new citation tag, update version to 1.5.8.2 and change wrapper version
 
 
 Licence (MIT)
--- a/tool_dependencies.xml	Wed Apr 02 09:15:44 2014 -0400
+++ b/tool_dependencies.xml	Tue Sep 16 13:46:05 2014 -0400
@@ -1,22 +1,22 @@
 <?xml version="1.0"?>
 <tool_dependency>
     <package name="samtools" version="0.1.19">
-        <repository changeset_revision="00e17a794a2e" name="package_samtools_0_1_19" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" />
+        <repository changeset_revision="923adc89c666" name="package_samtools_0_1_19" owner="iuc" prior_installation_required="True" toolshed="https://toolshed.g2.bx.psu.edu" />
     </package>
     <package name="numpy" version="1.7.1">
-        <repository changeset_revision="ef12a3a11d5b" name="package_numpy_1_7" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" />
+        <repository changeset_revision="ef12a3a11d5b" name="package_numpy_1_7" owner="iuc" prior_installation_required="True" toolshed="https://toolshed.g2.bx.psu.edu" />
     </package>
     <package name="matplotlib" version="1.2.1">
-        <repository changeset_revision="d639ff3d6b6e" name="package_matplotlib_1_2" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" />
+        <repository changeset_revision="fe60617380df" name="package_matplotlib_1_2" owner="iuc" prior_installation_required="True" toolshed="https://toolshed.g2.bx.psu.edu" />
     </package>
     <package name="scipy" version="0.12.0">
-        <repository changeset_revision="984d208b0808" name="package_scipy_0_12" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" />
+        <repository changeset_revision="984d208b0808" name="package_scipy_0_12" owner="iuc" prior_installation_required="True" toolshed="https://toolshed.g2.bx.psu.edu" />
     </package>
     <package name="pysam" version="0.7.7">
-        <repository changeset_revision="b62538c8c664" name="package_pysam_0_7_7" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" />
+        <repository changeset_revision="b62538c8c664" name="package_pysam_0_7_7" owner="iuc" prior_installation_required="True" toolshed="https://toolshed.g2.bx.psu.edu" />
     </package>
     <package name="bx-python" version="12-2013">
-        <repository changeset_revision="f938170835cc" name="package_bx_python_12_2013" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" />
+        <repository changeset_revision="55bd96a1c3b3" name="package_bx_python_12_2013" owner="iuc" prior_installation_required="True" toolshed="https://toolshed.g2.bx.psu.edu" />
     </package>
 
     <package name="ucsc_tools" version="0.1">
@@ -57,29 +57,29 @@
          <readme>The tools downloaded by this dependency definition are free for academic use. TODO: UCSC tools are only available with their latest version. That is not good for reproducibility.</readme>
      </package>
 
-    <package name="deepTools" version="1.5.8_09023018b96c23f922aa2ea553090e9df8ecf41e">
+    <package name="deepTools" version="1.5.9.1">
         <install version="1.0">
             <actions>
                 <action type="shell_command">git clone --recursive https://github.com/fidelram/deepTools.git</action>
                 <!-- populate the environment variables from the dependend repos -->
                 <action type="set_environment_for_install">
-                    <repository changeset_revision="b62538c8c664" name="package_pysam_0_7_7" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu">
+                    <repository changeset_revision="b62538c8c664" name="package_pysam_0_7_7" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu">
                         <package name="pysam" version="0.7.7" />
                     </repository>
-                    <repository changeset_revision="f938170835cc" name="package_bx_python_12_2013" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu">
+                    <repository changeset_revision="55bd96a1c3b3" name="package_bx_python_12_2013" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu">
                         <package name="bx-python" version="12-2013" />
                     </repository>
-                    <repository changeset_revision="ef12a3a11d5b" name="package_numpy_1_7" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu">
+                    <repository changeset_revision="ef12a3a11d5b" name="package_numpy_1_7" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu">
                         <package name="numpy" version="1.7.1" />
                     </repository>
-                    <repository changeset_revision="d639ff3d6b6e" name="package_matplotlib_1_2" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu">
+                    <repository changeset_revision="fe60617380df" name="package_matplotlib_1_2" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu">
                         <package name="matplotlib" version="1.2.1" />
                     </repository>
-                    <repository changeset_revision="984d208b0808" name="package_scipy_0_12" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu">
+                    <repository changeset_revision="984d208b0808" name="package_scipy_0_12" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu">
                         <package name="scipy" version="0.12.0" />
                     </repository>
                 </action>
-                <action type="shell_command">git reset --hard 09023018b96c23f922aa2ea553090e9df8ecf41e</action>
+                <action type="shell_command">git reset --hard 351890e3db9a443484c5c349791b7247163cc94f</action>
                 <action type="make_directory">$INSTALL_DIR/lib/python</action>
                 <action type="shell_command">
                     export PYTHONPATH=$PYTHONPATH:$INSTALL_DIR/lib/python &amp;&amp;