diff macros.xml @ 0:1f6c780a2635 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/spatialdata commit 87bff76d897c5a4277d9987cf26432a18e0458cd-dirty
author iuc
date Sat, 14 Mar 2026 15:16:08 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Sat Mar 14 15:16:08 2026 +0000
@@ -0,0 +1,442 @@
+<macros>
+    <token name="@TOOL_VERSION@">0.7.2</token>
+    <token name="@VERSION_SUFFIX@">0</token>
+    <token name="@PROFILE@">25.0</token>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="@TOOL_VERSION@">spatialdata</requirement>
+            <requirement type="package" version="0.6.0">spatialdata-io</requirement>
+            <requirement type="package" version="0.2.14">spatialdata-plot</requirement>
+            <!-- spatialdata is not compatible with ome-zarr > 0.13.0 check here: https://github.com/conda-forge/spatialdata-feedstock/pull/33-->
+            <requirement type="package" version="0.13.0">ome-zarr</requirement>
+            <!-- The zarr writer in Previous anndata doesn't support serializing ArrowStringArray. pining anndata and pandas -->
+            <requirement type="package" version="0.12.10">anndata</requirement>
+            <requirement type="package" version="2.3.3">pandas</requirement>
+            <requirement type="package" version="0.20.0">rioxarray</requirement>
+            <requirement type="package" version="3.0">zip</requirement>
+        </requirements>
+    </xml>
+    <xml name="creator">
+        <creator>
+            <person givenName="Amirhossein" familyName="Naghsh Nilchi" email="nilchia@informatik.uni-freiburg.de"/>
+            <person givenName="Pavan" familyName="Videm" email="videmp@informatik.uni-freiburg.de"/>
+            <person givenName="Björn" familyName="Grüning" email="gruening@informatik.uni-freiburg.de"/>
+            <organization name="European Galaxy Team" url="https://usegalaxy-eu.github.io/people"/>
+        </creator>
+    </xml>
+    <xml name="sanitize_digits">
+        <sanitizer invalid_char="">
+            <valid initial="string.digits">
+                <add value=","/>
+                <add value="."/>
+                <yield/>
+            </valid>
+       </sanitizer>
+    </xml>
+    <xml name="sanitize_query" token_validinitial="string.printable">
+        <sanitizer>
+            <valid initial="@VALIDINITIAL@">
+                <remove value="&apos;"/>
+            </valid>
+       </sanitizer>
+    </xml>
+    <xml name="matplotlib_color">
+        <option value="AliceBlue">AliceBlue</option>
+        <option value="AntiqueWhite">AntiqueWhite</option>
+        <option value="Aqua">Aqua</option>
+        <option value="Aquamarine">Aquamarine</option>
+        <option value="Azure">Azure</option>
+        <option value="Beige">Beige</option>
+        <option value="Bisque">Bisque</option>
+        <option value="Black">Black</option>
+        <option value="BlanchedAlmond">BlanchedAlmond</option>
+        <option value="Blue">Blue</option>
+        <option value="BlueViolet">BlueViolet</option>
+        <option value="Brown">Brown</option>
+        <option value="BurlyWood">BurlyWood</option>
+        <option value="CadetBlue">CadetBlue</option>
+        <option value="Chartreuse">Chartreuse</option>
+        <option value="Chocolate">Chocolate</option>
+        <option value="Coral">Coral</option>
+        <option value="CornflowerBlue">CornflowerBlue</option>
+        <option value="Cornsilk">Cornsilk</option>
+        <option value="Crimson">Crimson</option>
+        <option value="Cyan">Cyan</option>
+        <option value="DarkBlue">DarkBlue</option>
+        <option value="DarkCyan">DarkCyan</option>
+        <option value="DarkGoldenRod">DarkGoldenRod</option>
+        <option value="DarkGray">DarkGray</option>
+        <option value="DarkGrey">DarkGrey</option>
+        <option value="DarkGreen">DarkGreen</option>
+        <option value="DarkKhaki">DarkKhaki</option>
+        <option value="DarkMagenta">DarkMagenta</option>
+        <option value="DarkOliveGreen">DarkOliveGreen</option>
+        <option value="DarkOrange">DarkOrange</option>
+        <option value="DarkOrchid">DarkOrchid</option>
+        <option value="DarkRed">DarkRed</option>
+        <option value="DarkSalmon">DarkSalmon</option>
+        <option value="DarkSeaGreen">DarkSeaGreen</option>
+        <option value="DarkSlateBlue">DarkSlateBlue</option>
+        <option value="DarkSlateGray">DarkSlateGray</option>
+        <option value="DarkSlateGrey">DarkSlateGrey</option>
+        <option value="DarkTurquoise">DarkTurquoise</option>
+        <option value="DarkViolet">DarkViolet</option>
+        <option value="DeepPink">DeepPink</option>
+        <option value="DeepSkyBlue">DeepSkyBlue</option>
+        <option value="DimGray">DimGray</option>
+        <option value="DimGrey">DimGrey</option>
+        <option value="DodgerBlue">DodgerBlue</option>
+        <option value="FireBrick">FireBrick</option>
+        <option value="FloralWhite">FloralWhite</option>
+        <option value="ForestGreen">ForestGreen</option>
+        <option value="Fuchsia">Fuchsia</option>
+        <option value="Gainsboro">Gainsboro</option>
+        <option value="GhostWhite">GhostWhite</option>
+        <option value="Gold">Gold</option>
+        <option value="GoldenRod">GoldenRod</option>
+        <option value="Gray">Gray</option>
+        <option value="Grey">Grey</option>
+        <option value="Green">Green</option>
+        <option value="GreenYellow">GreenYellow</option>
+        <option value="HoneyDew">HoneyDew</option>
+        <option value="HotPink">HotPink</option>
+        <option value="IndianRed">IndianRed</option>
+        <option value="Indigo">Indigo</option>
+        <option value="Ivory">Ivory</option>
+        <option value="Khaki">Khaki</option>
+        <option value="Lavender">Lavender</option>
+        <option value="LavenderBlush">LavenderBlush</option>
+        <option value="LawnGreen">LawnGreen</option>
+        <option value="LemonChiffon">LemonChiffon</option>
+        <option value="LightBlue">LightBlue</option>
+        <option value="LightCoral">LightCoral</option>
+        <option value="LightCyan">LightCyan</option>
+        <option value="LightGoldenRodYellow">LightGoldenRodYellow</option>
+        <option value="LightGray">LightGray</option>
+        <option value="LightGrey">LightGrey</option>
+        <option value="LightGreen">LightGreen</option>
+        <option value="LightPink">LightPink</option>
+        <option value="LightSalmon">LightSalmon</option>
+        <option value="LightSeaGreen">LightSeaGreen</option>
+        <option value="LightSkyBlue">LightSkyBlue</option>
+        <option value="LightSlateGray">LightSlateGray</option>
+        <option value="LightSlateGrey">LightSlateGrey</option>
+        <option value="LightSteelBlue">LightSteelBlue</option>
+        <option value="LightYellow">LightYellow</option>
+        <option value="Lime">Lime</option>
+        <option value="LimeGreen">LimeGreen</option>
+        <option value="Linen">Linen</option>
+        <option value="Magenta">Magenta</option>
+        <option value="Maroon">Maroon</option>
+        <option value="MediumAquaMarine">MediumAquaMarine</option>
+        <option value="MediumBlue">MediumBlue</option>
+        <option value="MediumOrchid">MediumOrchid</option>
+        <option value="MediumPurple">MediumPurple</option>
+        <option value="MediumSeaGreen">MediumSeaGreen</option>
+        <option value="MediumSlateBlue">MediumSlateBlue</option>
+        <option value="MediumSpringGreen">MediumSpringGreen</option>
+        <option value="MediumTurquoise">MediumTurquoise</option>
+        <option value="MediumVioletRed">MediumVioletRed</option>
+        <option value="MidnightBlue">MidnightBlue</option>
+        <option value="MintCream">MintCream</option>
+        <option value="MistyRose">MistyRose</option>
+        <option value="Moccasin">Moccasin</option>
+        <option value="NavajoWhite">NavajoWhite</option>
+        <option value="Navy">Navy</option>
+        <option value="OldLace">OldLace</option>
+        <option value="Olive">Olive</option>
+        <option value="OliveDrab">OliveDrab</option>
+        <option value="Orange">Orange</option>
+        <option value="OrangeRed">OrangeRed</option>
+        <option value="Orchid">Orchid</option>
+        <option value="PaleGoldenRod">PaleGoldenRod</option>
+        <option value="PaleGreen">PaleGreen</option>
+        <option value="PaleTurquoise">PaleTurquoise</option>
+        <option value="PaleVioletRed">PaleVioletRed</option>
+        <option value="PapayaWhip">PapayaWhip</option>
+        <option value="PeachPuff">PeachPuff</option>
+        <option value="Peru">Peru</option>
+        <option value="Pink">Pink</option>
+        <option value="Plum">Plum</option>
+        <option value="PowderBlue">PowderBlue</option>
+        <option value="Purple">Purple</option>
+        <option value="RebeccaPurple">RebeccaPurple</option>
+        <option value="Red">Red</option>
+        <option value="RosyBrown">RosyBrown</option>
+        <option value="RoyalBlue">RoyalBlue</option>
+        <option value="SaddleBrown">SaddleBrown</option>
+        <option value="Salmon">Salmon</option>
+        <option value="SandyBrown">SandyBrown</option>
+        <option value="SeaGreen">SeaGreen</option>
+        <option value="SeaShell">SeaShell</option>
+        <option value="Sienna">Sienna</option>
+        <option value="Silver">Silver</option>
+        <option value="SkyBlue">SkyBlue</option>
+        <option value="SlateBlue">SlateBlue</option>
+        <option value="SlateGray">SlateGray</option>
+        <option value="SlateGrey">SlateGrey</option>
+        <option value="Snow">Snow</option>
+        <option value="SpringGreen">SpringGreen</option>
+        <option value="SteelBlue">SteelBlue</option>
+        <option value="Tan">Tan</option>
+        <option value="Teal">Teal</option>
+        <option value="Thistle">Thistle</option>
+        <option value="Tomato">Tomato</option>
+        <option value="Turquoise">Turquoise</option>
+        <option value="Violet">Violet</option>
+        <option value="Wheat">Wheat</option>
+        <option value="White">White</option>
+        <option value="WhiteSmoke">WhiteSmoke</option>
+        <option value="Yellow">Yellow</option>
+        <option value="YellowGreen">YellowGreen</option>
+    </xml>
+    <xml name="matplotlib_pyplot_colormap">
+        <option value="viridis">viridis (Perceptually Uniform Sequential)</option>
+        <option value="plasma">plasma (Perceptually Uniform Sequential)</option>
+        <option value="inferno">inferno (Perceptually Uniform Sequential)</option>
+        <option value="magma">magma (Perceptually Uniform Sequential)</option>
+        <option value="cividis">cividis (Perceptually Uniform Sequential)</option>
+        <option value="Greys">Greys (Sequential)</option>
+        <option value="Purples">Purples (Sequential)</option>
+        <option value="Blues">Blues (Sequential)</option>
+        <option value="Greens">Greens (Sequential)</option>
+        <option value="Oranges">Oranges (Sequential)</option>
+        <option value="Reds">Reds (Sequential)</option>
+        <option value="YlOrBr">YlOrBr (Sequential)</option>
+        <option value="YlOrRd">YlOrRd (Sequential)</option>
+        <option value="OrRd">OrRd (Sequential)</option>
+        <option value="PuRd">PuRd (Sequential)</option>
+        <option value="RdPu">RdPu (Sequential)</option>
+        <option value="BuPu">BuPu (Sequential)</option>
+        <option value="GnBu">GnBu (Sequential)</option>
+        <option value="PuBu">PuBu (Sequential)</option>
+        <option value="YlGnBu">YlGnBu (Sequential)</option>
+        <option value="PuBuGn">PuBuGn (Sequential)</option>
+        <option value="BuGn">BuGn (Sequential)</option>
+        <option value="YlGn">YlGn (Sequential)</option>
+        <option value="binary">binary (Sequential 2)</option>
+        <option value="gist_yarg">gist_yarg (Sequential 2)</option>
+        <option value="gist_gray">gist_gray (Sequential 2)</option>
+        <option value="gray">gray (Sequential 2)</option>
+        <option value="bone">bone (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="autumn">autumn (Sequential 2)</option>
+        <option value="winter">winter (Sequential 2)</option>
+        <option value="cool">cool (Sequential 2)</option>
+        <option value="Wistia">Wistia (Sequential 2)</option>
+        <option value="hot">hot (Sequential 2)</option>
+        <option value="afmhot">afmhot (Sequential 2)</option>
+        <option value="gist_heat">gist_heat (Sequential 2)</option>
+        <option value="copper">copper (Sequential 2)</option>
+        <option value="PiYG">PiYG (Diverging)</option>
+        <option value="PRGn">PRGn (Diverging)</option>
+        <option value="BrBG">BrBG (Diverging)</option>
+        <option value="PuOr">PuOr (Diverging)</option>
+        <option value="RdGy">RdGy (Diverging)</option>
+        <option value="RdBu">RdBu (Diverging)</option>
+        <option value="RdYlBu">RdYlBu (Diverging)</option>
+        <option value="RdYlGn">RdYlGn (Diverging)</option>
+        <option value="Spectral">Spectral (Diverging)</option>
+        <option value="coolwarm">coolwarm (Diverging)</option>
+        <option value="bwr">bwr (Diverging)</option>
+        <option value="seismic">seismic (Diverging)</option>
+        <option value="twilight">twilight (Cyclic)</option>
+        <option value="twilight_shifted">twilight_shifted (Cyclic)</option>
+        <option value="hsv">hsv (Cyclic)</option>
+        <option value="Pastel1">Pastel1 (Qualitative)</option>
+        <option value="Pastel2">Pastel2 (Qualitative)</option>
+        <option value="Paired">Paired (Qualitative)</option>
+        <option value="Accent">Accent (Qualitative)</option>
+        <option value="Dark2">Dark2 (Qualitative)</option>
+        <option value="Set1">Set1 (Qualitative)</option>
+        <option value="Set2">Set2 (Qualitative)</option>
+        <option value="Set3">Set3 (Qualitative)</option>
+        <option value="tab10">tab10 (Qualitative)</option>
+        <option value="tab20">tab20 (Qualitative)</option>
+        <option value="tab20b">tab20b (Qualitative)</option>
+        <option value="tab20c">tab20c (Qualitative)</option>
+        <option value="flag">flag (Miscellaneous)</option>
+        <option value="prism">prism (Miscellaneous)</option>
+        <option value="ocean">ocean (Miscellaneous)</option>
+        <option value="gist_earth">gist_earth (Miscellaneous)</option>
+        <option value="terrain">terrain (Miscellaneous)</option>
+        <option value="gist_stern">gist_stern (Miscellaneous)</option>
+        <option value="gnuplot">gnuplot (Miscellaneous)</option>
+        <option value="gnuplot2">gnuplot2 (Miscellaneous)</option>
+        <option value="CMRmap">CMRmap (Miscellaneous)</option>
+        <option value="cubehelix">cubehelix (Miscellaneous)</option>
+        <option value="brg">brg (Miscellaneous)</option>
+        <option value="gist_rainbow">gist_rainbow (Miscellaneous)</option>
+        <option value="rainbow">rainbow (Miscellaneous)</option>
+        <option value="jet">jet (Miscellaneous)</option>
+        <option value="nipy_spectral">nipy_spectral (Miscellaneous)</option>
+        <option value="gist_ncar">gist_ncar (Miscellaneous)</option>
+    </xml>
+
+    <xml name="cmap_param">
+        <param argument="cmap" type="select" multiple="true" label="Matplotlib colormap name">
+            <expand macro="matplotlib_pyplot_colormap"/>
+        </param>
+    </xml>
+    <xml name="palette_param">
+        <param name="palette" type="select" multiple="true" label="Palette for discrete annotations" help="Must match the number of groups. The list can contain multiple palettes (one per group) to be visualized. If groups is provided but not palette, palette is set to default lightgray">
+            <expand macro="matplotlib_color"/>
+        </param>
+    </xml>
+    <xml name="normalize_condi">
+        <conditional name="normalize_condi">
+            <param name="normalize" type="select" label="Apply matplotlib colormap normalization for continuous annotations?">
+                <option value="no">No</option>
+                <option value="yes">Yes</option>
+            </param>
+            <when value="no"/>
+            <when value="yes">
+                <param name="vmin" type="float" optional="true" label="Min value" help="Values within the range [vmin, vmax] from the input data will be linearly mapped to [0, 1]. If either vmin or vmax is not provided, they default to the minimum and maximum values of the input, respectively." />
+                <param name="vmax" type="float" optional="true" label="Max value" help="Values within the range [vmin, vmax] from the input data will be linearly mapped to [0, 1]. If either vmin or vmax is not provided, they default to the minimum and maximum values of the input, respectively." />
+                <param name="clip" type="boolean" truevalue="True" falsevalue="False" checked="false" label="Clip" help="If clipping is on, values below vmin are mapped to 0 and values above vmax are mapped to 1" />
+            </when>
+        </conditional>
+    </xml>
+    <xml name="cmap_or_palette_condi">
+        <conditional name="cmap_or_palette_condi">
+            <param name="color_map_type" type="select" label="Color mapping type">
+                <option value="none">None</option>
+                <option value="cmap">Colormap (for continuous data)</option>
+                <option value="palette">Palette (for discrete/categorical data)</option>
+            </param>
+            <when value="none"/>
+            <when value="cmap">
+                <expand macro="cmap_param"/>
+            </when>
+            <when value="palette">
+                <expand macro="palette_param"/>
+            </when>
+        </conditional>
+    </xml>
+
+    <!-- Input/Output macros -->
+    <xml name="input_spatialdata">
+        <param name="input_spatialdata" type="data" format="spatialdata.zip" label="SpatialData object"/>
+    </xml>
+
+    <!-- Common parameter macros -->
+    <xml name="param_element_name" token_label="Element name" token_help="" token_optional="false">
+        <param name="element_name" type="text" label="@LABEL@" help="@HELP@" optional="@OPTIONAL@">
+            <expand macro="sanitize_query"/>
+            <yield/>
+        </param>
+    </xml>
+
+    <xml name="param_output_element_name" token_value="transformed_element" token_label="Output element name" token_help="">
+        <param name="output_element_name" type="text" value="@VALUE@" label="@LABEL@" help="@HELP@">
+            <expand macro="sanitize_query"/>
+        </param>
+    </xml>
+
+    <xml name="param_table_name" token_value="table" token_optional="false" token_label="Table name" token_help="">
+        <param name="table_name" type="text" value="@VALUE@" optional="@OPTIONAL@" label="@LABEL@" help="@HELP@">
+            <expand macro="sanitize_query"/>
+        </param>
+    </xml>
+
+    <xml name="param_coordinate_system" token_value="global" token_label="Coordinate system" token_help="">
+        <param name="coordinate_system" type="text" value="@VALUE@" label="@LABEL@" help="@HELP@">
+            <expand macro="sanitize_query"/>
+        </param>
+    </xml>
+
+    <xml name="param_target_coordinate_system" token_value="global" token_label="Target coordinate system" token_help="">
+        <param name="target_coordinate_system" type="text" value="@VALUE@" label="@LABEL@" help="@HELP@">
+            <expand macro="sanitize_query"/>
+        </param>
+    </xml>
+
+    <xml name="param_axes" token_value="x,y" token_label="Axes" token_help="Comma-separated list of axes (e.g., 'x,y' or 'x,y,z')">
+        <param name="axes" type="text" value="@VALUE@" label="@LABEL@" help="@HELP@">
+            <expand macro="sanitize_query"/>
+        </param>
+    </xml>
+
+    <xml name="param_region_key" token_value="region" token_optional="false" token_label="Region key" token_help="">
+        <param name="region_key" type="text" value="@VALUE@" optional="@OPTIONAL@" label="@LABEL@" help="@HELP@">
+            <expand macro="sanitize_query"/>
+        </param>
+    </xml>
+
+    <xml name="param_instance_key" token_value="instance_id" token_optional="false" token_label="Instance key" token_help="">
+        <param name="instance_key" type="text" value="@VALUE@" optional="@OPTIONAL@" label="@LABEL@" help="@HELP@">
+            <expand macro="sanitize_query"/>
+        </param>
+    </xml>
+
+    <xml name="param_value_key" token_optional="false" token_label="Value key" token_help="">
+        <param name="value_key" type="text" optional="@OPTIONAL@" label="@LABEL@" help="@HELP@">
+            <expand macro="sanitize_query"/>
+        </param>
+    </xml>
+
+    <xml name="coordinate_bounds_params">
+        <param name="min_coordinate" type="text" label="Minimum coordinates" help="Comma-separated (e.g., '0,0')">
+            <expand macro="sanitize_digits"/>
+        </param>
+        <param name="max_coordinate" type="text" label="Maximum coordinates" help="Comma-separated (e.g., '100,100')">
+            <expand macro="sanitize_digits"/>
+        </param>
+    </xml>
+
+    <!-- Option group macros -->
+    <xml name="join_type_options">
+        <option value="left_exclusive">Left Exclusive</option>
+        <option value="inner">Inner</option>
+        <option value="right">Right</option>
+        <option value="right_exclusive">Right Exclusive</option>
+    </xml>
+
+    <xml name="param_join_type" token_selected="left">
+        <param name="how" type="select" label="Join type">
+            <option value="@SELECTED@" selected="true">@SELECTED@</option>
+            <expand macro="join_type_options"/>
+        </param>
+    </xml>
+
+    <xml name="agg_func_options">
+        <option value="sum">Sum</option>
+        <option value="mean">Mean</option>
+        <option value="count">Count</option>
+    </xml>
+
+    <xml name="param_agg_func" token_optional="false" token_selected="sum" token_help="">
+        <param name="agg_func" type="select" optional="@OPTIONAL@" label="Aggregation function">
+            <option value="@SELECTED@" selected="true">@SELECTED@</option>
+            <expand macro="agg_func_options"/>
+        </param>
+    </xml>
+
+    <xml name="param_table_layer" token_optional="true" token_label="Layer of the AnnData table to use for coloring if color is in table.var" token_help="If None, sdata.table.X of the default table is used for coloring.">
+        <param name="table_layer" type="text" optional="@OPTIONAL@" label="@LABEL@" help="@HELP@">
+            <expand macro="sanitize_query"/>
+        </param>
+    </xml>
+
+    <xml name="param_color" token_label="Color column" token_help="Column name from table.obs or table.var to use for coloring. Use comma to separate multiple keys. It can also be a color name.">
+        <param name="color" type="text" optional="true" label="@LABEL@" help="@HELP@">
+            <expand macro="sanitize_query"/>
+        </param>
+    </xml>
+
+    <xml name="param_rendering_method" token_optional="true" token_label="Rendering method" token_help="When None, the method is chosen based on the size of the data.">
+        <param name="method" type="select" optional="@OPTIONAL@" label="@LABEL@" help="@HELP@">
+            <yield/>
+            <option value="matplotlib">Matplotlib</option>
+            <option value="datashader">Datashader</option>
+        </param>
+    </xml>
+
+    <xml name="citations">
+        <citations>
+            <citation type="doi">10.1038/s41592-024-02212-x</citation>
+        </citations>
+    </xml>
+</macros>
\ No newline at end of file