view heatmapper.xml @ 17:ef65d6b68ccc draft

Uploaded
author bgruening
date Sat, 21 Dec 2013 14:26:06 -0500
parents b4c5dd45778a
children 5ea8782d650c
line wrap: on
line source

<tool id="deeptools_heatmapper" name="heatmapper" version="1.0.2">
    <description>creates a heatmap for a score associated to genomic regions</description>
    <expand macro="requirements"/>
    <expand macro="stdio" />
    <macros>
        <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

            #if $advancedOpt.used_multiple_regions.used_multiple_regions_options == 'yes':
                #if $advancedOpt.used_multiple_regions.clustering.clustering_options == 'kmeans':
                    #if int($advancedOpt.used_multiple_regions.clustering.k_kmeans) > 0:
                        --kmeans $advancedOpt.used_multiple_regions.clustering.k_kmeans
                    #end if
                #end if
            #end if

        #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 only">summary plot only</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."/>

                <conditional name="used_multiple_regions">
                    <param name="used_multiple_regions_options" type="select" 
                        label="Did you used multiple regions in ComputeMatrix?"
                        help="That option is only relevant if you want to cluster the results. Clustering is only available with one selected region in ComputeMatrix.">
                        <option value="no">No, I used only one region.</option>
                        <option value="yes">Yes, I used multiple regions.</option>
                    </param>
                    <when value="yes">
                        <conditional name="clustering">
                            <param name="clustering_options" type="select" label="Clustering algorithm">
                                <option value="none">No clustering</option>
                                <option value="kmeans">Kmeans clustering</option>
                            </param>
                            <when value="kmeans">
                                <param name="k_kmeans" type="integer" value="0" label="Number of clusters to compute" 
                                    help="When this option is set, then the matrix is split into clusters using the kmeans algorithm. Only works for data that is not grouped, otherwise only the first group will be clustered. If more specific clustering methods are required it is advisable to save the underlying matrix and run the clustering using other software. The plotting of the clustering may fail (Error: Segmentation fault) if a cluster has very few members compared to the total number or regions. (default: None)."/>
                            </when>
                            <when value="none" />
                        </conditional>
                    </when>
                    <when value="no" />
                </conditional>
            </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. 
Those values can be visualized individually along each of the regions provided by the user in INTERVAL or BED format. 
In addition to the heatmap, an average profile plot is plotted on top of the heatmap (can be turned off by the user; 
it can also be generated separately by the tool profiler). 
We implemented vast optional parameters and we encourage you to play around with the min/max values displayed in the heatmap as well as 
with the different coloring options. If you would like to plot heatmaps for different groups of genomic regions individually, 
e.g. one plot per chromosome, simply supply each group as an individual BED file.


.. image:: $PATH_TO_IMAGES/visual_hm_DmelPolII.png
   :alt: Heatmap of RNA Polymerase II ChIP-seq


-----

.. class:: infomark

@REFERENCES@

    </help>
</tool>