diff macros.xml @ 0:f84ec808bee3 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ampvis2 commit 7c0ecbffdb5e993f5af7e3b52c424c2761fb91d3"
author iuc
date Mon, 04 Apr 2022 10:16:44 +0000
parents
children be1918c80d9f
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Mon Apr 04 10:16:44 2022 +0000
@@ -0,0 +1,271 @@
+<macros>
+    <token name="@TOOL_VERSION@">2.7.17</token>
+    <token name="@VERSION_SUFFIX@">0</token>
+    <token name="@PROFILE@">22.01</token>
+    <xml name="header">
+        <xrefs>
+            <xref type="bio.tools">ampvis</xref>
+        </xrefs>
+        <requirements>
+            <requirement type="package" version="@TOOL_VERSION@">r-ampvis2</requirement>
+            <requirement type="package" version="2.1.1">r-readr</requirement>
+        </requirements>
+        <version_command><![CDATA[
+echo $(R --version | grep "R version")", ampvis2 version" $(R --vanilla --slave -e "library(ampvis2, quietly = TRUE); sessionInfo()\$otherPkgs\$ampvis2\$Version" 2> /dev/null | grep -v -i "WARNING: ")
+        ]]></version_command>
+
+    </xml>
+    <xml name="citations">
+        <citations>
+            <citation type="doi">10.1101/299537</citation>
+            <yield/>
+        </citations>
+    </xml>
+
+    <xml name="rds_input_macro">
+        <param argument="data" type="data" format="ampvis2" label="Ampvis2 RDS dataset" help="Generated with ampvis2: load"/>
+    </xml>
+    
+    <xml name="rds_metadata_input_macro" token_metadata_optional="true">
+        <expand macro="rds_input_macro"/>
+        <param name="metadata_list" type="data" optional="@METADATA_OPTIONAL@" format="tabular" label="Metadata list">
+            <validator type="expression" message="The metadatalist file must have 3 columns"><![CDATA[value.metadata.columns == 4]]></validator>
+        </param>
+    </xml>
+
+    <token name="@SAVE_TAX_LIST@"><![CDATA[
+                for(level in colnames(data\$tax)){
+                    for(u in unique(data\$tax[level])){
+                        write(u, file="$taxonomy_list_out", append=T)
+                    }
+                }
+    ]]></token>
+
+    <token name="@SAVE_METADATA_LIST@"><![CDATA[
+                classes <- sapply(data\$metadata, class)
+                for(name in names(data\$metadata)){
+                    ## check if it is the column containing the sample names
+                    ## the additional column in the ist file can the be used
+                    ## to filter SampleIDs from select inputs
+                    ## (check for character columns only .. since data in the column is otherwise converted to the corresponding type .. which fails)
+                    if(classes[[name]] == "character" && all(data\$metadata[[name]] == rownames(data\$metadata))){
+                        sample_names <- TRUE;
+                    }else{
+                        sample_names <- FALSE;
+                    }
+                    for(m in unique(data\$metadata[[name]])){
+                        write(paste(name, m, sample_names, classes[[name]], sep="\t"), file="$metadata_list_out", append=T);
+                    }
+                }
+    ]]></token>
+
+    <!-- defaults can be set by redefining an on option with selected="true" -->
+    <xml name="taxlevel_macro" token_argument="" token_multiple="false" token_optional="false" token_label="" token_help="">
+        <param argument="@ARGUMENT@" type="select" optional="@OPTIONAL@" multiple="@MULTIPLE@" label="@LABEL@" help="@HELP@">
+            <option value="OTU">OTU/ASV</option>
+            <option value="Species">Species</option>
+            <option value="Genus">Genus</option>
+            <option value="Family">Family</option>
+            <option value="Order">Order</option>
+            <option value="Class">Class</option>
+            <option value="Phylum">Phylum</option>
+            <option value="Kingdom">Kingdom</option>
+            <yield/>
+        </param>
+    </xml>
+
+    <xml name="tax_empty_macro">
+        <param argument="tax_empty" type="select" label="How to show OTUs without taxonomic information">
+            <option value="remove">Remove OTUs without taxonomic information</option>
+            <option value="best" selected="true">Use the best classification possible</option>
+            <option value="OTU">Display the OTU name</option>
+        </param>
+    </xml>
+
+    <token name="@TAX_SHOW@"><![CDATA[
+                #if $tax_show_cond.tax_show_sel == "number"
+                    tax_show = $tax_show_cond.tax_show,
+                #else
+                    #set tax_show_list='c("' + '", "'.join(str($tax_show_cond.tax_show).split(",")) + '")'
+                    tax_show = $tax_show_list
+                #end if
+    ]]></token> 
+    <xml name="tax_show_macro" token_value="">
+        <conditional name="tax_show_cond">
+            <param name="tax_show_sel" type="select" label="Limit the number of shown taxa">
+                <option value="number">Select a number of taxa to show</option>
+                <option value="explicit">Manually select taxa to show</option>
+            </param>
+            <when value="number">
+                <param argument="tax_show" type="integer" value="@VALUE@" min="1" label="Number of taxa to show"/>
+            </when>
+            <when value="explicit">
+                <param name="taxonomy_list" format="tabular" type="data" optional="false" label="Taxonomy list" help="Generated with ampvis2: load"/>
+                <param argument="tax_show" type="select" multiple="true" optional="false" label="Taxa to show">
+                    <options from_dataset="taxonomy_list">
+                        <column name="name" index="0"/>
+                        <column name="value" index="0"/>
+                        <!-- TODO filter by tax_aggregate level? -->
+                    </options>
+                </param>
+            </when>
+        </conditional>
+    </xml>
+
+    <xml name="metadata_select" token_quote="__" tokens="argument,label" token_an="argument" token_optional="true" token_multiple="false" token_help="">
+        <param __AN__="__ARGUMENT__" type="select" optional="__OPTIONAL__" multiple="__MULTIPLE__" label="__LABEL__" help="In order to select values a metadata list needs to be selected first. __HELP__">
+            <options from_dataset="metadata_list">
+                <column name="name" index="0"/>
+                <column name="value" index="0"/>
+                <filter type="unique_value" column="0"/>
+                <yield name="options"/>
+            </options>
+            <yield/>
+        </param>
+    </xml>
+
+    <xml name="metadata_select_discrete" tokens="argument,label" token_optional="true" token_multiple="false" token_help="">
+        <expand macro="metadata_select" argument="@ARGUMENT@" optional="@OPTIONAL@" multiple="@MULTIPLE@" label="@LABEL@" help="@HELP@">
+            <token name="options">
+                <filter type="static_value" column="3" value="numeric" keep="false"/>
+            </token>
+            <yield/>
+        </expand>
+    </xml>
+
+    <xml name="metadata_select_numeric" tokens="argument,label" token_optional="true" token_multiple="false" token_help="">
+        <expand macro="metadata_select" argument="@ARGUMENT@" optional="@OPTIONAL@" multiple="@MULTIPLE@" label="@LABEL@" help="@HELP@">
+            <token name="options">
+                <filter type="static_value" column="3" value="character" keep="false"/>
+                <filter type="static_value" column="3" value="Date" keep="false"/>
+            </token>
+            <yield/>
+        </expand>
+    </xml>
+
+    <xml name="metadata_select_date" tokens="argument,label" token_optional="true" token_multiple="false" token_help="">
+        <expand macro="metadata_select" argument="@ARGUMENT@" optional="@OPTIONAL@" multiple="@MULTIPLE@" label="@LABEL@" help="@HELP@">
+            <token name="options">
+                <filter type="static_value" column="3" value="Date" keep="true"/>
+            </token>
+            <yield/>
+        </expand>
+    </xml>
+
+    <xml name="metadata_sample_select" token_argument="">
+        <conditional name="@ARGUMENT@_cond">
+            <param name="@ARGUMENT@_sel" type="select">
+                <option value="no">No</option>
+                <option value="variable">Metadata variable</option>
+                <option value="sample">Specific sample</option>
+            </param>
+            <when value="no"/>
+            <when value="variable">
+                <expand macro="metadata_select" argument="@ARGUMENT@" label="Metadata variable"/>
+            </when>
+            <when value="sample">
+                <param argument="@ARGUMENT@" type="select" optional="true">
+                    <options from_dataset="metadata_list">
+                        <column name="name" index="1"/>
+                        <column name="value" index="1"/>
+                        <filter type="static_value" value="TRUE" column="2"/> <!-- filter samples -->
+                        <filter type="unique_value" column="1"/>
+                    </options>
+                </param>
+            </when>
+        </conditional>
+    </xml>
+
+    <xml name="taxonomy_select_macro" token_argument="" token_optional="false" token_multiple="true">
+        <param argument="@ARGUMENT@" type="select" optional="@OPTIONAL@" multiple="@MULTIPLE@">
+            <options from_dataset="taxonomy_list">
+                <column name="name" index="0"/>
+                <column name="value" index="0"/>
+                <filter type="unique_value" column="0"/>
+            </options>
+            <yield/>
+        </param>
+    </xml>
+
+    <xml name="facet_scales_macro" token_argument="" token_label="Scales of the facets" token_help="">
+        <param argument="@ARGUMENT@" type="select" optional="true" label="@LABEL@" help="@HELP@">
+            <option value="fixed">Same scale</option>
+            <option value="free">Free scale</option>
+            <option value="free_x">Free x-scale</option>
+            <option value="free_y">Free y-scale</option>
+        </param>
+    </xml>
+
+    <token name="@OUTPUT_TOKEN@">
+            ggsave("$plot", 
+                print(plot),
+                device="$output_options.out_format"
+                #if str($output_options.plot_width) != ''
+                    , width = $output_options.plot_width
+                #end if
+                #if str($output_options.plot_height) != ''
+                    , height = $output_options.plot_height
+                #end if
+                )
+    </token>
+    <xml name="out_macro" token_name="plot" token_label="">
+        <data name="@NAME@" format="pdf" label="${tool.name} on ${on_string}@LABEL@">
+            <yield/>
+            <change_format>
+                <when input="output_options.out_format" value="png" format="png" />
+                <when input="output_options.out_format" value="svg" format="svg" />
+            </change_format>
+        </data>
+    </xml>
+    <xml name="out_format_macro">
+        <section name="output_options" title="Output options" expanded="false">
+            <param name="out_format" type="select" label="Output format">
+                <option value="pdf" selected="true">PDF</option>
+                <option value="png">PNG</option>
+                <option value="svg">SVG</option>
+                <yield/>
+            </param>
+            <param name="plot_width" type="float" value="" min="1" optional="true" label="Plot width in cm"/>
+            <param name="plot_height" type="float" value="" min="1" optional="true" label="Plot height in cm"/>
+        </section>
+    </xml>
+
+    <token name="@RAREFY_TOKEN@">
+            #if str($rarefy) != ""
+                , rarefy = $rarefy
+            #end if
+    </token>
+    <xml name="rarefy_macro" token_help="">
+        <param argument="rarefy" type="integer" optional="true" value="" min="0" label="Rarefy species richness to this value" help="@HELP@"/>
+    </xml>
+
+    <xml name="normalise_macro" token_checked="false">
+        <param argument="normalise" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="@CHECKED@" label="Normalise read counts" help="Transform the OTU read counts to be in percent per sample."/>
+    </xml>
+
+    <token name="@HELP_RDS_INPUT@">
+        An ampvis2 RDS dataset obtained by the ``ampvis2: load`` tool (or ``ampvis2: mergereplicates`` or one of the
+        ``ampvis2: subset ...`` tools).
+    </token>
+    <token name="@HELP_METADATA_LIST_INPUT@">
+        The metadata list output of the ``ampvis2: load`` tool (or ``ampvis2: mergereplicates`` or the
+        ``ampvis2: subset sample`` tool).  This input is only used for providing
+        values to the parameters alowing to select metadata variables or values.
+    </token>
+
+    <token name="@HELP_RELATIVE_ABUNDANCES@">
+Preserving relative abundances in a subset of larger data
+=========================================================
+
+By default the raw read counts in the abundance matrix are normalised
+(transformed to percentages) by some ampvis2 plotting tools (for
+example ``ampvis2: heatmap``, ``ampvis2: timeseries``, and more). 
+If this is applied to data generated by one of the ``ampvis2: subset ...`` tools
+this means that the relative
+abundances shown will be calculated based on the remaining taxa after the
+subset, not including the removed taxa, if any. To circumvent this, enable
+``normalise`` when subsetting with the ``ampvis2: subset ...``` tools,
+and then disable ``normalise`` in the plotting tool. This will
+transform the OTU counts to relative abundances BEFORE the subset.
+    </token>
+</macros>
\ No newline at end of file