diff macros.xml @ 6:740057a5126d draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 1584882716a1d2c598e8485da9d73bcf80d9b29a"
author iuc
date Fri, 01 May 2020 07:28:50 -0400
parents a64dc31ab7f2
children 4b519282a05b
line wrap: on
line diff
--- a/macros.xml	Thu Jan 23 07:27:22 2020 -0500
+++ b/macros.xml	Fri May 01 07:28:50 2020 -0400
@@ -2,7 +2,7 @@
 <macros>
   <token name="@CIRCOS_VERSION@">0.69.8</token>
 
-  <token name="@WRAPPER_VERSION@">@CIRCOS_VERSION@+galaxy4</token>
+  <token name="@WRAPPER_VERSION@">@CIRCOS_VERSION@+galaxy5</token>
 
   <xml name="requirements">
       <requirements>
@@ -12,6 +12,8 @@
         <requirement type="package" version="1.70">biopython</requirement>
         <requirement type="package" version="0.3.13">pybigwig</requirement>
         <requirement type="package" version="0.23">circos-tools</requirement>
+        <requirement type="package" version="3.4">grep</requirement>
+        <requirement type="package" version="5.1.0">gawk</requirement>
         <requirement type="package" version="1.29">tar</requirement>
         <yield />
       </requirements>
@@ -80,6 +82,23 @@
     </param>
   </xml>
 
+  <xml name="chrom_units"
+      token_label="Position"
+      token_help="In bases (e.g. 1000) or chromosome units (e.g. 1u)"
+      token_value="5u"
+      token_name="position"
+      >
+    <param name="@NAME@" type="text" value="@VALUE@" label="@LABEL@" help="@HELP@">
+        <sanitizer>
+            <valid initial="string.digits">
+                <add value="u"/>
+                <add value="b"/>
+                <add value="."/>
+            </valid>
+        </sanitizer>
+    </param>
+  </xml>
+
   <xml name="circos_color_alpha"
       token_label="Color"
       token_name="color"
@@ -93,13 +112,14 @@
         </valid>
       </sanitizer>
     </param>
-    <param name="@NAME@_alpha" type="float" label="Transparency" value="1" min="0" max="1" help="1 = fully opaque, 0 = fully transparent"/>
+    <param name="@NAME@_alpha" type="float" label="@LABEL@ Transparency" value="1" min="0" max="1" help="1 = fully opaque, 0 = fully transparent"/>
   </xml>
 
   <xml name="brewer_scale"
       token_name="color"
-      token_label="Color">
-    <param name="@NAME@" type="select" label="@LABEL@">
+      token_label="Color"
+      token_help="">
+    <param name="@NAME@" type="select" label="@LABEL@" help="@HELP@">
       <option value="purples-13-seq">Sequential: Purples</option>
       <option value="reds-13-seq">Sequential: Reds</option>
       <option value="oranges-13-seq">Sequential: Oranges</option>
@@ -141,9 +161,11 @@
     </param>
   </xml>
 
-  <xml name="zdepth">
-    <param name="zdepth" type="float" value="" optional="true" label="Z-depth"
-        help="Optional. Datasets with a higher z-depth value are drawn on top of data sets with a lower value. Only useful if plotting multiple tracks"/>
+  <xml name="zdepth"
+       token_name="zdepth"
+      >
+    <param name="@NAME@" type="integer" value="0" optional="true" label="Z-index"
+        help="Datasets with a higher z-index value are drawn on top of data sets with a lower value. 0 is the default and plots added lower in the configuration file will be plotted above."/>
   </xml>
 
   <xml name="font_select"
@@ -161,26 +183,69 @@
     </param>
   </xml>
 
+  <xml name="radial_position">
+    <conditional name="radial_position">
+        <param name="select" type="select" label="Radial Position">
+            <option value="plot">Relative position</option>
+            <option value="data" selected="True">Absolute position (values match data values)</option>
+        </param>
+        <when value="plot">
+            <param name="y0" type="float" value="0" label="y0" help="Values are relative (0=inside of track, 1=outside of track)"/>
+            <param name="y1" type="float" value="1" label="y1" help="Values are relative (0=inside of track, 1=outside of track)"/>
+        </when>
+        <when value="data">
+            <param name="y0" type="float" value="0" label="y0" help="Values are according to minimum and maximum values of dataset. E.g. if your dataset goes from -10 to 10, y0 should be -10."/>
+            <param name="y1" type="float" value="1" label="y1" help="Values are according to minimum and maximum values of dataset. E.g. if your dataset goes from -10 to 10, y1 should be 10."/>
+        </when>
+    </conditional>
+  </xml>
+
+  <xml name="radial_position_axes">
+    <conditional name="radial_position">
+        <param name="select" type="select" label="Radial Position">
+            <option value="plot">Relative position</option>
+            <option value="data" selected="True">Absolute position (values match data values)</option>
+        </param>
+        <when value="plot">
+            <param name="spacing" type="float" value="0.1" min="0" max="1" label="Spacing" help="This many % of the distance between axis lines, set between the data minimum/maximum. If data goes from -1 to 1, and this is set to 0.33, and y0/y1 radius are 0/1, this produces two bands [0.33, 1]. If the y0/y1 radius are set to -1/1, this produces 4 bands: [-1, -0.33, 0.33, 1]. The y0/y1 radius act as clipping."/>
+        </when>
+        <when value="data">
+            <param name="spacing" type="float" value="0.1" label="Spacing" help="Equal to data value difference. E.g. 0.25 here when data goes from -1 to 1 and y0/y1 are 0/1 produces 5 bands at [0, 0.25, 0.5, 0.75, 1]. If y0/y1 and radius are -1/1 produces 9 bands at [-1, -0.75, -0.5, -0.25, 0, 0.25, 0.5, 0.75, 1]. The y0/y1 radius act as clipping."/>
+        </when>
+    </conditional>
+    <param name="y0" type="float" value="0" label="y0" help="Values are according to minimum and maximum values of dataset. E.g. if your dataset goes from -10 to 10, y0 should be -10. These clip the axes, any axes which would be drawn on the data outside of these bounds will not be drawn."/>
+    <param name="y1" type="float" value="1" label="y1" help="Values are according to minimum and maximum values of dataset. E.g. if your dataset goes from -10 to 10, y1 should be 10. These clip the axes, any axes which would be drawn on the data outside of these bounds will not be drawn."/>
+  </xml>
+
+  <xml name="minsize">
+    <param name="minsize" type="float" value="0" label="Minimum size (in chromosome units)" min="0"/>
+  </xml>
+
+  <xml name="only_if_data">
+    <param name="only_if_data" type="select" label="When to show">
+        <option value="always" selected="True">Always</option>
+        <option value="data">Only when data is present on the ideogram</option>
+    </param>
+  </xml>
+
   <xml name="axes">
     <section name="sec_axes" title="Axes">
         <repeat name="axes" title="Axis">
-            <param name="y0" type="float" value="0" label="Inside Radius" help="Values are according to minimum and maximum values of dataset. E.g. if your dataset goes from -10 to 10, y0 should be -10"/>
-            <param name="y1" type="float" value="1" label="Outside Radius" help="Values are according to minimum and maximum values of dataset. E.g. if your dataset goes from -10 to 10, y1 should be 10"/>
-
-            <expand macro="circos_color"/>
+            <expand macro="radial_position_axes" />
+            <expand macro="circos_color_alpha"/>
             <param name="thickness" type="integer" value="1" label="Thickness"/>
-            <param name="spacing" type="float" value="0.1" label="Spacing" help="Relative spacing between each concentric arc"/>
         </repeat>
+        <expand macro="only_if_data" />
     </section>
   </xml>
 
   <xml name="backgrounds">
     <section name="sec_bkgs" title="Backgrounds">
         <repeat name="backgrounds" title="Background">
-            <param name="y0" type="float" value="0" min="0" max="1" label="Inside Radius" help="Value must be between 1 (outer edge of track) and 0 (inner edge of the track)"/>
-            <param name="y1" type="float" value="1" min="0" max="1" label="Outside Radius" help="Value must be between 1 (outer edge of track) and 0 (inner edge of the track)"/>
-            <expand macro="circos_color"/>
+            <expand macro="radial_position" />
+            <expand macro="circos_color_alpha"/>
         </repeat>
+        <expand macro="only_if_data" />
     </section>
   </xml>
 
@@ -190,20 +255,22 @@
             <repeat name="conditions" title="Conditions to Apply">
                 <conditional name="application">
                     <param name="application_select" type="select" label="Condition">
-                        <option value="1">Apply to Every Point</option>
-                        <option value="on">Check for presence/absence per chromosome</option>
-                        <option value="pos">Based on numerical position</option>
+                        <option value="always">Apply to Every Point</option>
                         <option value="random">Randomly</option>
-                        <option value="value">Apply based on point value</option>
-                        <option value="var">Apply based on qualifier value (when available)</option>
+                        <option value="on">Check for presence/absence per chromosome</option>
+                        <option value="pos">Based on position on chromosome</option>
+                        <option value="value">Based on position value (ONLY for scatter/histogram/heatmap/line)</option>
+                        <option value="var">Based on qualifier value (when available)</option>
                     </param>
-                    <when value="1">
+                    <when value="always">
                     </when>
                     <when value="on">
-                        <param name="on_genomes" type="text" label="Contig IDs" help="Pipe | separated list of contig IDs">
+                        <param name="on_genomes" type="text" label="Chromosome IDs" help="Pipe | separated list of chromosome IDs">
                             <sanitizer>
                                 <valid initial="string.letters,string.digits">
                                   <add value="|" />
+                                  <add value="-" />
+                                  <add value="." />
                                 </valid>
                             </sanitizer>
                         </param>
@@ -256,14 +323,24 @@
                 <conditional name="action">
                     <param name="action_select" type="select" label="Action">
                         <option value="show">Change Visibility</option>
+                        <option value="z">Change Z-index</option>
                         <option value="fill_color">Change Fill Color for all points</option>
                         <option value="fill_color_value">Change Fill Color based on Value</option>
                         <option value="stroke_color">Change Stroke Color</option>
                         <option value="color_value">Change Stroke Color based on Value</option>
+                        <option value="value_from_attr">Change value of point based on attribute</option>
                     </param>
                     <when value="show">
                         <param name="action_value" type="boolean" truevalue="yes" falsevalue="no" label="Show"/>
                     </when>
+                    <when value="value_from_attr">
+                        <param name="action_value" type="text" label="Attribute to pull value from" help="From the optional x1=y1;x2=y2... formatted attributes in the last column">
+                            <sanitizer>
+                                <valid initial="string.letters,string.digits">
+                                </valid>
+                            </sanitizer>
+                        </param>
+                    </when>
                     <when value="fill_color">
                         <expand macro="circos_color" name="action_value" label="Fill Color"/>
                     </when>
@@ -271,17 +348,33 @@
                         <expand macro="circos_color" name="action_value" label="Stroke Color"/>
                     </when>
                     <when value="fill_color_value">
-                        <expand macro="brewer_scale" name="action_value" label="Fill Color"/>
-                        <param name="min_value" type="float" value="-1" label="Expected minimum value of dataset"/>
-                        <param name="max_value" type="float" value="1" label="Expected maximum value of dataset"/>
+                        <expand macro="brewer_scale" name="action_value" label="Fill Color" help="Fill will be changed based on a mapping of dataset values to colours, but to do this the mapping needs to be defined. Minimum and maximum values are defined below, and will map to the minimum and maximum values of this brewer scale."/>
+                        <param name="min_value" type="float" value="-1" label="Minimum value of dataset"/>
+                        <param name="max_value" type="float" value="1" label="Maximum value of dataset"/>
                         <param name="invert" type="boolean" truevalue="True" falsevalue="False" label="Invert Color Scale" />
                     </when>
                     <when value="color_value">
-                        <expand macro="brewer_scale" name="action_value" label="Stroke Color"/>
-                        <param name="min_value" type="float" value="-1" label="Expected minimum value of dataset"/>
-                        <param name="max_value" type="float" value="1" label="Expected maximum value of dataset"/>
+                        <expand macro="brewer_scale" name="action_value" label="Stroke Color" help="Stroke will be changed based on a mapping of dataset values to colours, but to do this the mapping needs to be defined. Minimum and maximum values are defined below, and will map to the minimum and maximum values of this brewer scale."/>
+                        <param name="min_value" type="float" value="-1" label="Minimum value of dataset"/>
+                        <param name="max_value" type="float" value="1" label="Maximum value of dataset"/>
                         <param name="invert" type="boolean" truevalue="True" falsevalue="False" label="Invert Color Scale" />
                     </when>
+                    <when value="z">
+                        <conditional name="dynamic">
+                            <param name="dynamic_select" type="select" label="Static or Dynamic Z-Index">
+                                <option value="static">Static</option>
+                                <option value="dynamic">Dynamic (based on value)</option>
+                            </param>
+                            <when value="static">
+                                <expand macro="zdepth" name="action_value"/>
+                            </when>
+                            <when value="dynamic">
+                                <param name="min_value" type="float" value="-1" label="Expected minimum value of dataset"/>
+                                <param name="max_value" type="float" value="1" label="Expected maximum value of dataset"/>
+                                <param name="invert" type="boolean" truevalue="True" falsevalue="False" label="Invert Z-Index Mapping" />
+                            </when>
+                        </conditional>
+                    </when>
                 </conditional>
             </repeat>
             <param name="continue_flow" type="boolean" truevalue="flow = continue" falsevalue="" label="Continue flow"
@@ -290,6 +383,32 @@
     </section>
   </xml>
 
+  <xml name="link_color_action_options"
+      token_section="ERROR">
+
+    <conditional name="dynamic">
+        <param name="dynamic_select" type="select" label="Static / Dynamic Change">
+            <option value="static">Color is always applied</option>
+            <option value="dynamic">Color is applied based on value</option>
+            <option value="source">Color based on source chromosome color</option>
+            <option value="dest">Color based on destination chromosome color</option>
+        </param>
+        <when value="static">
+            <expand macro="circos_color_alpha" label="@SECTION@ Color" name="action_value"/>
+        </when>
+        <when value="dynamic">
+            <expand macro="brewer_scale" name="action_value" label="@SECTION@ Color" help="@SECTION@ will be changed based on a mapping of dataset values to colours, but to do this the mapping needs to be defined. Minimum and maximum values are defined below, and will map to the minimum and maximum values of this brewer scale."/>
+            <param name="min_value" type="float" value="-1" label="Minimum value of dataset"/>
+            <param name="max_value" type="float" value="1" label="Maximum value of dataset"/>
+            <param name="invert" type="boolean" truevalue="True" falsevalue="False" label="Invert Color Scale" />
+        </when>
+        <when value="source">
+        </when>
+        <when value="dest">
+        </when>
+    </conditional>
+  </xml>
+
   <xml name="linkrules">
     <section name="sec_link_rule" title="Rules">
         <repeat name="rules" title="Rule">
@@ -359,46 +478,36 @@
                 <conditional name="action">
                     <param name="action_select" type="select" label="Action">
                         <option value="show">Change Visibility</option>
-                        <option value="color">Change Link Color</option>
+                        <option value="z">Change Z-index</option>
+                        <option value="color">Change Fill Color</option>
+                        <option value="stroke_color">Change Stroke Color (Ribbons Only)</option>
                         <option value="thickness">Change Thickness</option>
-                        <option value="z">Change Z-depth</option>
                     </param>
                     <when value="show">
                         <param name="action_value" type="boolean" label="Show" truevalue="yes" falsevalue="no"/>
                     </when>
+                    <when value="stroke_color">
+                        <expand macro="link_color_action_options" section="Stroke"/>
+                    </when>
                     <when value="color">
-                        <conditional name="dynamic">
-                            <param name="dynamic_select" type="select" label="Static / Dynamic Change">
-                                <option value="static">Static: Change is always applied</option>
-                                <option value="dynamic">Dynamic: Change is sometimes applied</option>
-                            </param>
-                            <when value="static">
-                                <expand macro="circos_color_alpha" label="Link Color" name="action_value"/>
-                            </when>
-                            <when value="dynamic">
-                                <expand macro="brewer_scale" label="Fill Color" name="action_value"/>
-                                <param name="min_value" type="float" value="-1" label="Expected minimum value of dataset"/>
-                                <param name="max_value" type="float" value="1" label="Expected maximum value of dataset"/>
-                                <param name="invert" type="boolean" truevalue="True" falsevalue="False" label="Invert Color Scale" />
-                            </when>
-                        </conditional>
+                        <expand macro="link_color_action_options" section="Fill"/>
                     </when>
                     <when value="thickness">
                         <param name="action_value" type="integer" value="1" label="Thickness"/>
                     </when>
                     <when value="z">
                         <conditional name="dynamic">
-                            <param name="dynamic_select" type="select" label="Static or Dynamic Z-Depth">
+                            <param name="dynamic_select" type="select" label="Static or Dynamic Z-Index">
                                 <option value="static">Static</option>
                                 <option value="dynamic">Dynamic (based on value)</option>
                             </param>
                             <when value="static">
-                                <param name="action_value" type="float" value="1" label="Z-depth" help="Datasets with a higher z-depth value are drawn on top of datasets with lower z value"/>
+                                <expand macro="zdepth" name="action_value"/>
                             </when>
                             <when value="dynamic">
                                 <param name="min_value" type="float" value="-1" label="Expected minimum value of dataset"/>
                                 <param name="max_value" type="float" value="1" label="Expected maximum value of dataset"/>
-                                <param name="invert" type="boolean" truevalue="True" falsevalue="False" label="Invert Z-Depth Mapping" />
+                                <param name="invert" type="boolean" truevalue="True" falsevalue="False" label="Invert Z-Index Mapping" />
                             </when>
                         </conditional>
                     </when>