view make_otu_heatmap.xml @ 6:a3b69e0b9246 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit a4b0969b33a68a0ea9ba12291f6694aec24f13ed
author iuc
date Tue, 30 Oct 2018 19:54:15 -0400
parents 06cb29d26718
children dd5418b9a32c
line wrap: on
line source

<tool id="qiime_make_otu_heatmap" name="Plot heatmap of OTU table" version="@WRAPPER_VERSION@.0">
    <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" />
        </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>