view make_otu_heatmap.xml @ 8:579f42fea99c draft default tip

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c845cb240f57663cf1e2240c5c506ea0b294872c"
author iuc
date Thu, 05 Dec 2019 07:59:43 -0500
parents dd5418b9a32c
children
line wrap: on
line source

<tool id="qiime_make_otu_heatmap" name="Plot heatmap of OTU table" version="@WRAPPER_VERSION@.0" profile="@PROFILE@">
    <description>(make_otu_heatmap)</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <version_command>make_otu_heatmap.py --version</version_command>
    <command detect_errors="exit_code"><![CDATA[
make_otu_heatmap.py
    --otu_table_fp '$otu_table_fp'

    #if $imagetype == "pdf"
        --output_fp '$pdf_output_fp'
    #else if $imagetype == "png"
        --output_fp '$png_output_fp'
    #else if $imagetype == "svg"
        --output_fp '$svg_output_fp'
    #end if

    #if $otu_tree
        --otu_tree '$otu_tree'
    #end if
    #if $map_fname
        --map_fname '$map_fname'
    #end if
    #if str($category) != ''
        --category '$category'
    #end if
    #if $sample_tree
        --sample_tree '$sample_tree'
    #end if
    --imagetype '$imagetype'
    $no_log_transform
    $suppress_row_clustering
    $suppress_column_clustering
    $absolute_abundance

    #if str($ad.select) == "yes":
        --color_scheme '$ad.color_scheme'
        --width '$ad.width'
        --height '$ad.height'
        --dpi '$ad.dpi'
        --obs_md_category '$ad.obs_md_category'
        #if str($ad.obs_md_level) != ''
            --obs_md_level '$ad.obs_md_level'
        #end if
    #end if
    ]]></command>
    <inputs>
        <param argument="--otu_table_fp" type="data" format="biom1" label="Input OTU table"/>
        <param argument="--otu_tree" type="data" format="txt" optional="true" label="Tree file to be used for sorting OTUs in the heatmap"/>
        <param argument="--map_fname" type="data" format="txt" optional="true" label="Metadata mapping file to be used for sorting"/>
        <param argument="--category" type="text" optional="True" label="Metadata category for sorting samples" help=" Samples will be clustered within each category level using euclidean UPGMA"/>
        <param argument="--sample_tree" type="data" format="txt" optional="true" label="Tree file to be used for sorting samples" help="If both this and the sample mapping file are provided, the mapping file is ignored."/>
        <param argument="--imagetype" type="select" label="Type of image to produce">
            <option value="pdf" selected="true">PDF</option>
            <option value="png">PNG</option>
            <option value="svg">SVG</option>
        </param>
        <param argument="--no_log_transform" type="boolean" truevalue="--no_log_transform" falsevalue="" checked="false" label="Data will not be log-transformed the data?" help="Without this option, all zeros will be set to a small value (default is 1/2 the smallest non-zero entry). Data will be translated to be non-negative after log transform, and num_otu_hits will be set to 0."/>
        <param argument="--suppress_row_clustering" type="boolean" truevalue="--suppress_row_clustering" falsevalue="" checked="false" label="Perform no UPGMA clustering of OTUs (rows)?" help="If --otu_tree is provided, this flag is ignored."/>
        <param argument="--suppress_column_clustering" type="boolean" truevalue="--suppress_column_clustering" falsevalue="" checked="false" label="Perform no UPGMA clustering of Samples (columns)?" help="If --map_fname is provided, this flag is ignored."/>
        <param argument="--absolute_abundance" type="boolean" truevalue="--absolute_abundance" falsevalue="" checked="false" label="Do not normalize samples to sum to 1?"/>
        <conditional name="ad">
            <param name="select" 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 argument="--color_scheme" type="select" label="Color scheme for figure" help="More details in http://matplotlib.org/examples/color/colormaps_reference.html">
                    <option value="viridis">viridis (Perceptually Uniform Sequential)</option>
                    <option value="inferno">inferno (Perceptually Uniform Sequential)</option>
                    <option value="plasma">plasma (Perceptually Uniform Sequential)</option>
                    <option value="magma">magma (Perceptually Uniform Sequential)</option>
                    <option value="Blues">Blues (Sequential)</option>
                    <option value="BuGn">BuGn (Sequential)</option>
                    <option value="BuPu">BuPu (Sequential)</option>
                    <option value="GnBu">GnBu (Sequential)</option>
                    <option value="Greens">Greens (Sequential)</option>
                    <option value="Greys">Greys (Sequential)</option>
                    <option value="Oranges">Oranges (Sequential)</option>
                    <option value="OrRd">OrRd (Sequential)</option>
                    <option value="PuBu">PuBu (Sequential)</option>
                    <option value="PuBuGn">PuBuGn (Sequential)</option>
                    <option value="PuRd">PuRd (Sequential)</option>
                    <option value="Purples">Purples (Sequential)</option>
                    <option value="RdPu">RdPu (Sequential)</option>
                    <option value="Reds">Reds (Sequential)</option>
                    <option value="YlGn" selected="true">YlGn (Sequential)</option>
                    <option value="YlGnBu">YlGnBu (Sequential)</option>
                    <option value="YlOrBr">YlOrBr (Sequential)</option>
                    <option value="YlOrRd">YlOrRd (Sequential)</option>
                    <option value="afmhot">afmhot (Sequential (2))</option>
                    <option value="autumn">autumn (Sequential (2))</option>
                    <option value="bone">bone (Sequential (2))</option>
                    <option value="cool">cool (Sequential (2))</option>
                    <option value="copper">copper (Sequential (2))</option>
                    <option value="gist_heat">gist_heat (Sequential (2))</option>
                    <option value="gray">gray (Sequential (2))</option>
                    <option value="hot">hot (Sequential (2))</option>
                    <option value="pink">pink (Sequential (2))</option>
                    <option value="spring">spring (Sequential (2))</option>
                    <option value="summer">summer (Sequential (2))</option>
                    <option value="winter">winter (Sequential (2))</option>
                    <option value="BrBG">BrBG (Diverging)</option>
                    <option value="bwr">bwr (Diverging)</option>
                    <option value="coolwarm">coolwarm (Diverging)</option>
                    <option value="PiYG">PiYG (Diverging)</option>
                    <option value="PRGn">PRGn (Diverging)</option>
                    <option value="PuOr">PuOr (Diverging)</option>
                    <option value="RdBu">RdBu (Diverging)</option>
                    <option value="RdGy">RdGy (Diverging)</option>
                    <option value="RdYlBu">RdYlBu (Diverging)</option>
                    <option value="RdYlGn">RdYlGn (Diverging)</option>
                    <option value="Spectral">Spectral (Diverging)</option>
                    <option value="seismic">seismic (Diverging)</option>
                    <option value="Accent">Accent (Qualitative)</option>
                    <option value="Dark2">Dark2 (Qualitative)</option>
                    <option value="Paired">Paired (Qualitative)</option>
                    <option value="Pastel1">Pastel1 (Qualitative)</option>
                    <option value="Pastel2">Pastel2 (Qualitative)</option>
                    <option value="Set1">Set1 (Qualitative)</option>
                    <option value="Set2">Set2 (Qualitative)</option>
                    <option value="Set3">Set3 (Qualitative)</option>
                    <option value="Vega10">Vega10 (Qualitative)</option>
                    <option value="Vega20">Vega20 (Qualitative)</option>
                    <option value="Vega20b">Vega20b (Qualitative)</option>
                    <option value="Vega20c">Vega20c (Qualitative)</option>
                    <option value="gist_earth">gist_earth (Miscellaneous)</option>
                    <option value="terrain">terrain (Miscellaneous)</option>
                    <option value="ocean">ocean (Miscellaneous)</option>
                    <option value="gist_stern">gist_stern (Miscellaneous)</option>
                    <option value="brg">brg (Miscellaneous)</option>
                    <option value="CMRmap">CMRmap (Miscellaneous)</option>
                    <option value="cubehelix">cubehelix (Miscellaneous)</option>
                    <option value="gnuplot">gnuplot (Miscellaneous)</option>
                    <option value="gnuplot2">gnuplot2 (Miscellaneous)</option>
                    <option value="gist_ncar">gist_ncar (Miscellaneous)</option>
                    <option value="nipy_spectral">nipy_spectral (Miscellaneous)</option>
                    <option value="jet">jet (Miscellaneous)</option>
                    <option value="rainbow">rainbow (Miscellaneous)</option>
                    <option value="gist_rainbow">gist_rainbow (Miscellaneous)</option>
                    <option value="hsv">hsv (Miscellaneous)</option>
                    <option value="flag">flag (Miscellaneous)</option>
                    <option value="prism">prism (Miscellaneous)</option>
                </param>
                <param argument="--width" type="float" value="5" label="Width of the figure in inches"/>
                <param argument="--height" type="float" value="5" label="Height of the figure in inches"/>
                <param argument="--dpi" type="integer" value="" label="Resolution of the figure in dots per inch"/>
                <param argument="--obs_md_category" type="text" value="taxonomy" label="Observation metadata category to plot"/>
                <param argument="--obs_md_level" type="text" value="" label="The level of observation metadata to plot for hierarchical metadata" optional="true"/>
            </when>
        </conditional>
    </inputs>
    <outputs>
        <data name="pdf_output_fp" format="pdf" label="${tool.name} on ${on_string}: OTU Heatmap">
            <filter>imagetype == 'pdf'</filter>
        </data>
        <data name="png_output_fp" format="png" label="${tool.name} on ${on_string}: OTU Heatmap">
            <filter>imagetype == 'png'</filter>
        </data>
        <data name="svg_output_fp" format="svg" label="${tool.name} on ${on_string}: OTU Heatmap">
            <filter>imagetype == 'svg'</filter>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="otu_table_fp" value="make_otu_heatmap/otu_table.biom"/>
            <param name="imagetype" value="pdf"/>
            <param name="no_log_transform" value=""/>
            <param name="suppress_row_clustering" value=""/>
            <param name="suppress_column_clustering" value=""/>
            <param name="absolute_abundance" value=""/>
            <param name="select" value="yes"/>
            <param name="color_scheme" value="YlGn"/>
            <param name="width" value="5"/>
            <param name="height" value="5"/>
            <param name="dpi" value="200"/>
            <param name="obs_md_category" value="taxonomy"/>
            <output name="pdf_output_fp" file="make_otu_heatmap/basic_heatmap.pdf" compare="sim_size" />
        </test>
        <test>
            <param name="otu_table_fp" value="make_otu_heatmap/otu_table.biom"/>
            <param name="imagetype" value="png"/>
            <param name="no_log_transform" value=""/>
            <param name="suppress_row_clustering" value=""/>
            <param name="suppress_column_clustering" value=""/>
            <param name="absolute_abundance" value=""/>
            <param name="select" value="yes"/>
            <param name="color_scheme" value="YlGn"/>
            <param name="width" value="5"/>
            <param name="height" value="5"/>
            <param name="dpi" value="200"/>
            <param name="obs_md_category" value="taxonomy"/>
            <output name="png_output_fp" file="make_otu_heatmap/basic_heatmap.png" compare="sim_size" />
        </test>
        <test>
            <param name="otu_table_fp" value="make_otu_heatmap/otu_table.biom"/>
            <param name="imagetype" value="svg"/>
            <param name="no_log_transform" value=""/>
            <param name="suppress_row_clustering" value=""/>
            <param name="suppress_column_clustering" value=""/>
            <param name="absolute_abundance" value=""/>
            <param name="select" value="yes"/>
            <param name="color_scheme" value="YlGn"/>
            <param name="width" value="5"/>
            <param name="height" value="5"/>
            <param name="dpi" value="200"/>
            <param name="obs_md_category" value="taxonomy"/>
            <output name="svg_output_fp" file="make_otu_heatmap/basic_heatmap.svg" compare="sim_size" delta="40000" />
        </test>
        <test>
            <param name="otu_table_fp" value="make_otu_heatmap/otu_table.biom"/>
            <param name="map_fname" value="make_otu_heatmap/mapping_file.txt"/>
            <param name="imagetype" value="pdf"/>
            <param name="no_log_transform" value=""/>
            <param name="suppress_row_clustering" value=""/>
            <param name="suppress_column_clustering" value=""/>
            <param name="absolute_abundance" value=""/>
            <param name="select" value="yes"/>
            <param name="color_scheme" value="YlGn"/>
            <param name="width" value="5"/>
            <param name="height" value="5"/>
            <param name="dpi" value="200"/>
            <param name="obs_md_category" value="taxonomy"/>
            <output name="pdf_output_fp" value="make_otu_heatmap/sample_sorted_heatmap.pdf" compare="sim_size" />
        </test>
        <test>
            <param name="otu_table_fp" value="make_otu_heatmap/otu_table.biom"/>
            <param name="map_fname" value="make_otu_heatmap/mapping_file.txt"/>
            <param name="otu_tree" value="make_otu_heatmap/rep_set.tre"/>
            <param name="imagetype" value="pdf"/>
            <param name="no_log_transform" value=""/>
            <param name="suppress_row_clustering" value=""/>
            <param name="suppress_column_clustering" value=""/>
            <param name="absolute_abundance" value=""/>
            <param name="select" value="yes"/>
            <param name="color_scheme" value="YlGn"/>
            <param name="width" value="5"/>
            <param name="height" value="5"/>
            <param name="dpi" value="200"/>
            <param name="obs_md_category" value="taxonomy"/>
            <output name="pdf_output_fp" value="make_otu_heatmap/sample_otu_sorted_heatmap.pdf" compare="sim_size" />
        </test>
        <test>
            <param name="otu_table_fp" value="make_otu_heatmap/otu_table.biom"/>
            <param name="map_fname" value="make_otu_heatmap/mapping_file.txt"/>
            <param name="category" value="Treatment"/>
            <param name="imagetype" value="pdf"/>
            <param name="no_log_transform" value=""/>
            <param name="suppress_row_clustering" value=""/>
            <param name="suppress_column_clustering" value=""/>
            <param name="absolute_abundance" value=""/>
            <param name="select" value="yes"/>
            <param name="color_scheme" value="YlGn"/>
            <param name="width" value="5"/>
            <param name="height" value="5"/>
            <param name="dpi" value="200"/>
            <param name="obs_md_category" value="taxonomy"/>
            <output name="pdf_output_fp" value="make_otu_heatmap/treatment_sample_sorted_heatmap.pdf" compare="sim_size" />
        </test>
    </tests>
    <help><![CDATA[
**What it does**

This script visualizes an OTU table as a heatmap where each row corresponds to an OTU and each column corresponds to a sample. The higher the relative abundance of an OTU in a sample, the more intense the color at the corresponsing position in the heatmap. By default, the OTUs (rows) will be clustered by UPGMA hierarchical clustering, and the samples (columns) will be presented in the order in which they appear in the OTU table. Alternatively, the user may supply a tree to sort the OTUs (rows) or samples (columns), or both. The user may also pass in a mapping file for sorting samples. If the user passes in a mapping file and a metadata category, samples (columns) will be grouped by category value and subsequently clustered within each group. 

A single output file is created containing the heatmap of the OTU table (a PDF file by default).
    ]]></help>
    <citations>
        <expand macro="citations"/>
    </citations>
</tool>