diff macros.xml @ 97:74074746ccd8 draft

planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit 1c04ea76330d0148a7682b3c26846e5a5df21f99
author fubar
date Sat, 01 Jun 2024 05:37:13 +0000
parents 4c517a0041a8
children b1260bca5fdc
line wrap: on
line diff
--- a/macros.xml	Thu Apr 25 07:25:52 2024 +0000
+++ b/macros.xml	Sat Jun 01 05:37:13 2024 +0000
@@ -1,7 +1,6 @@
-<?xml version="1.0"?>
 <macros>
     <token name="@TOOL_VERSION@">2.11.0</token>
-    <xml name = "edamInc">
+    <xml name="edamInc">
         <edam_topics>
             <edam_topic>topic_3307</edam_topic>
             <edam_topic>topic_0092</edam_topic>
@@ -33,100 +32,65 @@
 maintained by Ross Lazarus and Bjoern Gruening until the IUC complete their own.
 ]]>
     </token>
+    <xml name="creators">
+        <creator>
+            <person givenName="Helena" familyName="Rasche" url="https://github.com/hexylena" />
+            <person givenName="Anthony" familyName="Bretaudeau" url="https://github.com/abretaud" />
+            <person givenName="Ross" familyName="Lazarus" url="https://github.com/fubar2/" />
+        </creator>
+    </xml>
     <xml name="genome_selector"
         token_help=""
         token_label="Fasta sequences"
         token_optional="False" >
         <conditional name="reference_genome">
-            <param help="Built-in references" label="Reference genome to display" name="genome_type_select" type="select">
+            <param name="genome_type_select" type="select" label="Reference genome to display" help="Built-in references">
                 <option selected="True" value="indexed">Use a built-in genome</option>
                 <option value="history">Use a genome from history</option>
             </param>
             <when value="indexed">
-                <param
-                help="@HELP@"
-                label="@LABEL@"
-                name="genomes"
-                type="select"
-                optional="@OPTIONAL@"
-                >
+                <param name="genomes" type="select" optional="@OPTIONAL@" label="@LABEL@" help="@HELP@">
                     <options from_data_table="all_fasta">
-                        <filter column="2" type="sort_by" />
-                        <validator message="No genomes are available for the selected input dataset" type="no_options" />
+                        <filter column="2" type="sort_by"/>
+                        <validator message="No genomes are available for the selected input dataset" type="no_options"/>
                     </options>
                 </param>
             </when>
             <when value="history">
-                <param
-                format="fasta"
-                label="@LABEL@"
-                help="@HELP@"
-                name="genomes"
-                type="data"
-                optional="@OPTIONAL@"
-                multiple="True" />
+                <param name="genomes" type="data" format="fasta" optional="@OPTIONAL@" label="@LABEL@" help="@HELP@" multiple="True"/>
             </when>
         </conditional>
     </xml>
-
-    <xml name="auto_manual_tk"
-        token_cond_label="Color"
-        token_cond_name="color"
-        token_select_label="Color Specification"
-        token_select_name="color_select"
-        token_automatic_label="Automatically selected"
-        token_manual_label="Manual Color Selection">
+    <xml name="auto_manual_tk" token_cond_label="Color" token_cond_name="color" token_select_label="Color Specification" token_select_name="color_select" token_automatic_label="Automatically selected" token_manual_label="Manual Color Selection">
         <conditional name="@COND_NAME@" label="@COND_LABEL@">
-            <param type="select" label="@SELECT_LABEL@" name="@SELECT_NAME@">
+            <param name="@SELECT_NAME@" type="select" label="@SELECT_LABEL@">
                 <option value="automatic" selected="true">@AUTOMATIC_LABEL@</option>
                 <option value="manual">@MANUAL_LABEL@</option>
             </param>
             <when value="automatic">
             </when>
             <when value="manual">
-                <yield />
+                <yield/>
             </when>
         </conditional>
     </xml>
-
-    <xml name="jb_color"
-        token_label="JBrowse style.color"
-        token_name="style_color"
-        token_value="goldenrod"
-        token_help="Basic color of features. Most glyphs interpret this as the fill color of the rectangle they draw. Color syntax is the same as that used for CSS"
-        >
-        <param label="@LABEL@" type="color" name="@NAME@" value="@VALUE@" help="@HELP@">
+    <xml name="jb_color" token_label="JBrowse style.color" token_name="style_color" token_value="goldenrod" token_help="Basic color of features. Most glyphs interpret this as the fill color of the rectangle they draw. Color syntax is the same as that used for CSS">
+        <param name="@NAME@" type="color" value="@VALUE@" label="@LABEL@" help="@HELP@">
             <sanitizer>
                 <valid initial="string.letters,string.digits">
-                    <add value="#" />
+                    <add value="#"/>
                 </valid>
             </sanitizer>
         </param>
     </xml>
-
-    <xml name="auto_color"
-        token_cond_label="Color"
-        token_cond_name="color"
-        token_select_label="Color Selection"
-        token_select_name="color_select"
-        token_automatic_label="Automatically selected"
-        token_manual_label="Manual Color Selection">
-        <expand macro="auto_manual_tk"
-                cond_label="@COND_LABEL@"
-                cond_name="@COND_NAME@"
-                select_label="@SELECT_LABEL@"
-                select_name="@SELECT_NAME@"
-                automatic_label="@AUTOMATIC_LABEL@"
-                manual_label="@MANUAL_LABEL@">
-            <expand macro="jb_color" />
-            <yield />
+    <xml name="auto_color" token_cond_label="Color" token_cond_name="color" token_select_label="Color Selection" token_select_name="color_select" token_automatic_label="Automatically selected" token_manual_label="Manual Color Selection">
+        <expand macro="auto_manual_tk" cond_label="@COND_LABEL@" cond_name="@COND_NAME@" select_label="@SELECT_LABEL@" select_name="@SELECT_NAME@" automatic_label="@AUTOMATIC_LABEL@" manual_label="@MANUAL_LABEL@">
+            <expand macro="jb_color"/>
+            <yield/>
         </expand>
     </xml>
-
-
-
     <xml name="brewer_scheme">
-        <param type="select" label="Brewer color Scheme" name="brewer_scheme">
+        <param name="brewer_scheme" type="select" label="Brewer color Scheme">
             <option value="BrBg">BrBg: Brown - Blue Green</option>
             <option value="PiYg">PiYg: Pink - Yellow Green</option>
             <option value="PRGn">PRGn: Purple Red - Green</option>
@@ -138,247 +102,203 @@
             <option value="Spectral">Spectral</option>
         </param>
     </xml>
-
-
     <xml name="general_options">
         <section name="jbgen" title="General JBrowse Options [Advanced]" expanded="false">
             <conditional name="ucol">
-                <param name="formcoll" type="select" label="Convert a collection of track files rather than filling in the tool form"
-                    help="A collection of bam/vcf and other track types will be converted into a JBrowse2 automatically">
+                <param name="formcoll" type="select" label="Convert a collection of track files rather than filling in the tool form" help="A collection of bam/vcf and other track types will be converted into a JBrowse2 automatically">
                     <option value="form" selected="true">Fill in the tool form to specify tracks for the output JBrowse2</option>
                     <option value="collect">Convert a collection of suitable track files</option>
                 </param>
                 <when value="collect">
-                       <param label="Collection of bed, bam and other track files" name="autoCollection" type="data_collection" />
+                    <param name="autoCollection" type="data_collection" label="Collection of bed, bam and other track files"/>
                 </when>
                 <when value="form">
                 </when>
             </conditional>
-
-            <param label="Create a zip archive for downloading rather than viewing " name="zipOut" help="Default is to make an interactive browser appear when the 'eye' icon is activated"
-            type="boolean" checked="false" truevalue="true" falsevalue="false" />
-            <param label="Subset to display to new users" type="text" name="defaultLocation" value="" help="Initial subset to be shown for users who have never visited the browser before. Example: 'ctgA:1234..5678'"/>
-            <param label="Session name" type="text" name="session_name" value="New JB2 session" help="Displayed at the top of the window"/>
-            <param label="Enable analytics" help="Will send usage data to Google Analytics, see https://github.com/GMOD/jbrowse-components/issues/1166" name="enableAnalytics" type="boolean" checked="false" truevalue="true" falsevalue="false" />
-
-            <param name="primary_color" type="color" label="Primary color" value="#0D233F">
+            <param name="zipOut" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Create a zip archive for downloading rather than viewing " help="Default is to make an interactive browser appear when the 'eye' icon is activated"/>
+            <param name="defaultLocation" type="text" value="" label="Subset to display to new users" help="Initial subset to be shown for users who have never visited the browser before. Example: 'ctgA:1234..5678"/>
+            <param name="session_name" type="text" value="New JB2 session" label="Session name" help="Displayed at the top of the window"/>
+            <param name="enableAnalytics" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Enable analytics" help="Will send usage data to Google Analytics, see https://github.com/GMOD/jbrowse-components/issues/1166"/>
+            <param name="primary_color" type="color" value="#0D233F" label="Primary color">
                 <sanitizer>
                     <valid initial="string.ascii_letters,string.digits">
-                        <add value="#" />
+                        <add value="#"/>
                     </valid>
                 </sanitizer>
             </param>
-            <param name="secondary_color" type="color" label="Secondary color" value="#721E63">
-                <sanitizer>
-                <valid initial="string.ascii_letters,string.digits">
-                    <add value="#" />
-                </valid>
-                </sanitizer>
-            </param>
-            <param name="tertiary_color" type="color" label="Tertiary color" value="#135560">
+            <param name="secondary_color" type="color" value="#721E63" label="Secondary color">
                 <sanitizer>
                     <valid initial="string.ascii_letters,string.digits">
-                        <add value="#" />
+                        <add value="#"/>
                     </valid>
                 </sanitizer>
             </param>
-            <param name="quaternary_color" type="color" label="Quaternary color" value="#FFB11D">
+            <param name="tertiary_color" type="color" value="#135560" label="Tertiary color">
                 <sanitizer>
                     <valid initial="string.ascii_letters,string.digits">
-                        <add value="#" />
+                        <add value="#"/>
+                    </valid>
+                </sanitizer>
+            </param>
+            <param name="quaternary_color" type="color" value="#FFB11D" label="Quaternary color">
+                <sanitizer>
+                    <valid initial="string.ascii_letters,string.digits">
+                        <add value="#"/>
                     </valid>
                 </sanitizer>
             </param>
-
-            <param label="Font size" name="font_size" type="integer" value="10" />
+            <param name="font_size" type="integer" value="10" label="Font size"/>
         </section>
     </xml>
-
     <xml name="color_selection_minmax">
         <section name="jbcolor" title="JBrowse Color Options [Advanced]" expanded="false">
-        <!-- Abuse auto/manual for bicolor pivot. Means we'll have to handle the
+            <!-- Abuse auto/manual for bicolor pivot. Means we'll have to handle the
             auto case as well, but may be safe to just say "brewer colors? Pff,
             red/blue" -->
-        <expand macro="auto_manual_tk"
-                token_cond_label="Color"
-                token_cond_name="color"
-                token_select_label="Color Selection"
-                token_select_name="color_select"
-                token_automatic_label="Automatically selected"
-                token_manual_label="Manual Color Selection">
-            <expand macro="jb_color"
-                    label="JBrowse style.pos_color"
-                    name="style_pos_color"
-                    value="blue"
-                    help="CSS color, default 'blue'. When drawing bicolor plots, the fill color to use for values that are above the pivot point." />
-            <expand macro="jb_color"
-                    label="JBrowse style.neg_color"
-                    name="style_neg_color"
-                    value="red"
-                    help=" CSS color, default 'red'. When drawing bicolor plots, the fill color to use for values that are below the pivot point." />
-        </expand>
-
-        <conditional name="bicolor_pivot" label="Bicolor Pivot">
-            <param type="select" label="Bicolor Pivot" name="bicolor_pivot_select">
-                <option value="zero" selected="true">Zero</option>
-                <option value="mean">Mean</option>
-                <option value="custom">Custom Value</option>
-            </param>
-            <when value="zero" />
-            <when value="mean" />
-            <when value="custom">
-                <param label="JBrowse style.bicolor_pivot" type="float" name="pivot_point" value="0.0" help="Where to change from pos_color to neg_color when drawing bicolor plots." />
-            </when>
-        </conditional>
+            <expand macro="auto_manual_tk" token_cond_label="Color" token_cond_name="color" token_select_label="Color Selection" token_select_name="color_select" token_automatic_label="Automatically selected" token_manual_label="Manual Color Selection">
+                <expand macro="jb_color" label="JBrowse style.pos_color" name="style_pos_color" value="blue" help="CSS color, default 'blue'. When drawing bicolor plots, the fill color to use for values that are above the pivot point."/>
+                <expand macro="jb_color" label="JBrowse style.neg_color" name="style_neg_color" value="red" help=" CSS color, default 'red'. When drawing bicolor plots, the fill color to use for values that are below the pivot point."/>
+            </expand>
+            <conditional name="bicolor_pivot" label="Bicolor Pivot">
+                <param name="bicolor_pivot_select" type="select" label="Bicolor Pivot">
+                    <option value="zero" selected="true">Zero</option>
+                    <option value="mean">Mean</option>
+                    <option value="custom">Custom Value</option>
+                </param>
+                <when value="zero"/>
+                <when value="mean"/>
+                <when value="custom">
+                    <param name="pivot_point" type="float" value="0.0" label="JBrowse style.bicolor_pivot" help="Where to change from pos_color to neg_color when drawing bicolor plots."/>
+                </when>
+            </conditional>
         </section>
     </xml>
-
-    <xml name="color_selection"
-        token_scaling_lin_select="true"
-        token_scaling_log_select="false"
-        >
+    <xml name="color_selection" token_scaling_lin_select="true" token_scaling_log_select="false">
         <section name="jbcolor_scale" title="JBrowse Feature Score Scaling &amp; Coloring Options [Advanced]" expanded="false">
-        <conditional name="color_score" label="JBrowse style.color &amp; Score relationship">
-            <param type="select" label="Color Score Algorithm" name="color_score_select" help="How to color the features. If it is based on score, then features with a score attribute anywhere in their hierachy will have their color affected by the score. If you choose to ignore the score, then you'll be able to select a single solid color for every feature in the track">
-                <option value="score">Based on score</option>
-                <option value="none" selected="true">Ignore score</option>
-            </param>
-            <when value="none">
-                <!-- When no scaling is done, no scores available, then just let the
-                    user choose a base color for the track -->
-                <expand macro="auto_color" />
-            </when>
-            <when value="score">
-                <!-- Scaling -->
-                <param type="select" label="JBrowse style.color function's score scaling" name="score_scaling"
-                    help="How should the colors be distributed across the values? For blast results which distributes scores on the scale of approximately [1e-500, 10], it makes sense to request a logarithmic scaling of the color values. Logarithmic is indeed the default for blast. However other analysis methods may produce scores on ranges such as [0, 100] where a linear scale would be more appropriate for color distribution.">
-                    <option value="linear" selected="@SCALING_LIN_SELECT@">Linear scaling</option>
-                    <option value="logarithmic" selected="false">Logarithmic scaling</option>
-                    <option value="blast" selected="@SCALING_LOG_SELECT@">Blast scaling</option>
+            <conditional name="color_score" label="JBrowse style.color &amp; Score relationship">
+                <param name="color_score_select" type="select" label="Color Score Algorithm" help="How to color the features. If it is based on score, then features with a score attribute anywhere in their hierachy will have their color affected by the score. If you choose to ignore the score, then you'll be able to select a single solid color for every feature in the track">
+                    <option value="score">Based on score</option>
+                    <option value="none" selected="true">Ignore score</option>
                 </param>
-
-                <!-- Scaling Bounds -->
-                <conditional name="score_scales" label="Minimum/Maximum values for track scores">
-                    <param type="select" label="How should minimum and maximum values be determined for the scores of the features" name="scale_select">
-                        <option value="automatic" selected="true">Automatically determined</option>
-                        <option value="manual">Manually specify minimum and maximum expected scores for the feature track</option>
+                <when value="none">
+                    <!-- When no scaling is done, no scores available, then just let the
+                    user choose a base color for the track -->
+                    <expand macro="auto_color"/>
+                </when>
+                <when value="score">
+                    <!-- Scaling -->
+                    <param name="score_scaling" type="select" label="JBrowse style.color function's score scaling" help="How should the colors be distributed across the values? For blast results which distributes scores on the scale of approximately [1e-500, 10], it makes sense to request a logarithmic scaling of the color values. Logarithmic is indeed the default for blast. However other analysis methods may produce scores on ranges such as [0, 100] where a linear scale would be more appropriate for color distribution.">
+                        <option value="linear" selected="@SCALING_LIN_SELECT@">Linear scaling</option>
+                        <option value="logarithmic" selected="false">Logarithmic scaling</option>
+                        <option value="blast" selected="@SCALING_LOG_SELECT@">Blast scaling</option>
                     </param>
-                    <when value="automatic" />
-                    <when value="manual">
-                        <param label="Minimum expected score" name="minimum" type="integer" value="0" />
-                        <param label="Maximum expected score" name="maximum" type="integer" value="100" />
-                    </when>
-                </conditional>
-
-                <!-- Scale color -->
-                <conditional name="color_scheme" label="Color Scheme for scored features">
-                    <param type="select" label="JBrowse style.color function's color scheme for scored values" name="score_scheme">
-                        <option value="opacity">Opacity (high scores = 1.0 opacity)</option>
-                        <!--<option value="brewer">Brewer Color Schemes</option>-->
-                    </param>
-                    <when value="opacity">
-                        <!-- Single color selection mode -->
-                        <expand macro="auto_color" />
-                    </when>
-                    <!--<when value="brewer">-->
+                    <!-- Scaling Bounds -->
+                    <conditional name="score_scales" label="Minimum/Maximum values for track scores">
+                        <param name="scale_select" type="select" label="How should minimum and maximum values be determined for the scores of the features">
+                            <option value="automatic" selected="true">Automatically determined</option>
+                            <option value="manual">Manually specify minimum and maximum expected scores for the feature track</option>
+                        </param>
+                        <when value="automatic"/>
+                        <when value="manual">
+                            <param name="minimum" type="integer" value="0" label="Minimum expected score"/>
+                            <param name="maximum" type="integer" value="100" label="Maximum expected score"/>
+                        </when>
+                    </conditional>
+                    <!-- Scale color -->
+                    <conditional name="color_scheme" label="Color Scheme for scored features">
+                        <param name="score_scheme" type="select" label="JBrowse style.color function's color scheme for scored values">
+                            <option value="opacity">Opacity (high scores = 1.0 opacity)</option>
+                            <!--<option value="brewer">Brewer Color Schemes</option>-->
+                        </param>
+                        <when value="opacity">
+                            <!-- Single color selection mode -->
+                            <expand macro="auto_color"/>
+                        </when>
+                        <!--<when value="brewer">-->
                         <!--[> Brewer continuum selection <]-->
                         <!--<expand macro="brewer_scheme" />-->
-                    <!--</when>-->
-                </conditional>
-            </when>
-        </conditional>
+                        <!--</when>-->
+                    </conditional>
+                </when>
+            </conditional>
         </section>
     </xml>
-
     <xml name="track_visibility">
-        <param type="select" label="Track Visibility" name="track_visibility">
+        <param name="track_visibility" type="select" label="Track Visibility">
             <option value="default_off">Off when browser opens</option>
             <option value="default_on" selected="true">On when browser opens</option>
         </param>
     </xml>
-
     <xml name="track_styling_linear">
-        <param label="Show labels" name="show_labels" type="boolean" checked="false" truevalue="true" falsevalue="false" />
-        <param label="Show descriptions" name="show_descriptions" type="boolean" checked="false" truevalue="true" falsevalue="false" />
+        <param name="show_labels" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Show labels"/>
+        <param name="show_descriptions" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Show descriptions"/>
         <param name="display_mode" type="select" label="Display mode">
             <option value="normal" selected="true">normal</option>
             <option value="compact">compact</option>
             <option value="reducedRepresentation">reducedRepresentation</option>
             <option value="collapse">collapse</option>
         </param>
-        <param label="Max height" name="max_height" type="integer" value="600" help="Maximum height that the track is permitted to reach in pixels."/>
+        <param name="max_height" type="integer" value="600" label="Max height" help="Maximum height that the track is permitted to reach in pixels."/>
     </xml>
-
     <xml name="track_styling_vgp">
-         <section name="jbstyle" title="JBrowse Styling Options [Advanced]" expanded="false">
-        <param label="Show labels" name="show_labels" type="boolean" checked="false" truevalue="true" falsevalue="false" />
-        <param label="Show descriptions" name="show_descriptions" type="boolean" checked="false" truevalue="true" falsevalue="false" />
-        <param name="display" type="select" label="Display style" help="How the track will be displayed by default">
-            <option value="LinearBasicDisplay" selected="true">LinearBasicDisplay</option>
-            <option value="LinearPileupDisplay">LinearPileupDisplay - good for dense tracks at scale</option>
-            <option value="LinearArcDisplay">LinearArcDisplay</option>
-        </param>
-        </section>
-    </xml>
-
-    <xml name="track_styling_feature">
         <section name="jbstyle" title="JBrowse Styling Options [Advanced]" expanded="false">
-        <conditional name="track_style">
+            <param name="show_labels" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Show labels"/>
+            <param name="show_descriptions" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Show descriptions"/>
             <param name="display" type="select" label="Display style" help="How the track will be displayed by default">
                 <option value="LinearBasicDisplay" selected="true">LinearBasicDisplay</option>
                 <option value="LinearPileupDisplay">LinearPileupDisplay - good for dense tracks at scale</option>
                 <option value="LinearArcDisplay">LinearArcDisplay</option>
             </param>
-            <when value="LinearPileupDisplay">
-                <expand macro="track_styling_linear"/>
-            </when>
-            <when value="LinearBasicDisplay">
-                <expand macro="track_styling_linear"/>
-
-                <!-- examples: https://github.com/GMOD/jbrowse-components/discussions/2729
-                        and https://github.com/GMOD/jbrowse-components/blob/main/plugins/svg/src/SvgFeatureRenderer/configSchema.ts#L41  -->
-                <param label="Features label"
-                        type="text"
-                        name="label"
-                        value="jexl:get(feature,'name') || get(feature,'id')"
-                        help="See https://jbrowse.org/jb2/docs/config_guide/#configuration-callbacks for syntax">
-                    <sanitizer>
-                        <valid initial="default">
-                            <add value="|" />
-                            <add value="{"/>
-                            <add value="}"/>
-                            <add value="!"/>
-                            <add value="?"/>
-                            <add value="+"/>
-                            <add value="="/>
-                            <add value="'"/>
-                        </valid>
-                    </sanitizer>
-                </param>
-                <param label="Features description"
-                        type="text"
-                        name="description"
-                        value="jexl:get(feature,'note') || get(feature,'description')"
-                        help="See https://jbrowse.org/jb2/docs/config_guide/#configuration-callbacks for syntax">
-                    <sanitizer>
-                        <valid initial="default">
-                            <add value="|" />
-                            <add value="{"/>
-                            <add value="}"/>
-                            <add value="!"/>
-                            <add value="?"/>
-                            <add value="+"/>
-                            <add value="="/>
-                            <add value="'"/>
-                        </valid>
-                    </sanitizer>
-                </param>
-            </when>
-            <when value="LinearArcDisplay"/>
-        </conditional>
         </section>
     </xml>
-
+    <xml name="track_styling_feature">
+        <section name="jbstyle" title="JBrowse Styling Options [Advanced]" expanded="false">
+            <conditional name="track_style">
+                <param name="display" type="select" label="Display style" help="How the track will be displayed by default">
+                    <option value="LinearBasicDisplay" selected="true">LinearBasicDisplay</option>
+                    <option value="LinearPileupDisplay">LinearPileupDisplay - good for dense tracks at scale</option>
+                    <option value="LinearArcDisplay">LinearArcDisplay</option>
+                </param>
+                <when value="LinearPileupDisplay">
+                    <expand macro="track_styling_linear"/>
+                </when>
+                <when value="LinearBasicDisplay">
+                    <expand macro="track_styling_linear"/>
+                    <!-- examples: https://github.com/GMOD/jbrowse-components/discussions/2729
+                        and https://github.com/GMOD/jbrowse-components/blob/main/plugins/svg/src/SvgFeatureRenderer/configSchema.ts#L41  -->
+                    <param name="label" type="text" value="jexl:get(feature,'name') || get(feature,'id')" label="Features label" help="See https://jbrowse.org/jb2/docs/config_guide/#configuration-callbacks for syntax">
+                        <sanitizer>
+                            <valid initial="default">
+                                <add value="|"/>
+                                <add value="{"/>
+                                <add value="}"/>
+                                <add value="!"/>
+                                <add value="?"/>
+                                <add value="+"/>
+                                <add value="="/>
+                                <add value="'"/>
+                            </valid>
+                        </sanitizer>
+                    </param>
+                    <param name="description" type="text" value="jexl:get(feature,'note') || get(feature,'description')" label="Features description" help="See https://jbrowse.org/jb2/docs/config_guide/#configuration-callbacks for syntax">
+                        <sanitizer>
+                            <valid initial="default">
+                                <add value="|"/>
+                                <add value="{"/>
+                                <add value="}"/>
+                                <add value="!"/>
+                                <add value="?"/>
+                                <add value="+"/>
+                                <add value="="/>
+                                <add value="'"/>
+                            </valid>
+                        </sanitizer>
+                    </param>
+                </when>
+                <when value="LinearArcDisplay"/>
+            </conditional>
+        </section>
+    </xml>
     <xml name="track_styling_xam">
         <section name="jbstyle" title="JBrowse Styling Options [Advanced]" expanded="false">
             <conditional name="track_style">
@@ -393,16 +313,15 @@
                 <when value="LinearAlignmentsDisplay"/>
                 <when value="LinearPileupDisplay"/>
                 <when value="LinearSNPCoverageDisplay">
-                    <param name="displayCrossHatches" label="Draw cross hatches" type="boolean" checked="true" truevalue="true" falsevalue="false" />
-                    <param name="minScore" label="Min score" type="integer" value="" optional="true"/>
-                    <param name="maxScore" label="Max score" type="integer" value="" optional="true"/>
+                    <param name="displayCrossHatches" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Draw cross hatches"/>
+                    <param name="minScore" type="integer" value="" optional="true" label="Min score"/>
+                    <param name="maxScore" type="integer" value="" optional="true" label="Max score"/>
                 </when>
                 <when value="LinearReadArcsDisplay"/>
                 <when value="LinearReadCloudDisplay"/>
             </conditional>
         </section>
     </xml>
-
     <xml name="track_styling_vcf">
         <section name="jbstyle" title="JBrowse Styling Options [Advanced]" expanded="false">
             <conditional name="track_style">
@@ -417,7 +336,6 @@
             </conditional>
         </section>
     </xml>
-
     <xml name="track_styling_bigwig">
         <section name="jbstyle" title="JBrowse Styling Options [Advanced]" expanded="false">
             <conditional name="track_style">
@@ -431,59 +349,43 @@
                         <option value="globalsd">Global ± 3σ</option>
                         <option value="localsd">Local ± 3σ</option>
                     </param>
-                    <param name="resolution" label="Resolution" type="integer" value="1"/>
+                    <param name="resolution" type="integer" value="1" label="Resolution"/>
                     <param name="summaryScoreMode" type="select" label="Autoscale type">
                         <option value="max">Max</option>
                         <option value="min">Min</option>
                         <option value="avg">Avg</option>
                         <option value="whiskers" selected="true">Whiskers (combines all three)</option>
                     </param>
-                    <param name="filled" label="Fill in histogram" type="boolean" checked="true" truevalue="true" falsevalue="false" />
+                    <param name="filled" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Fill in histogram"/>
                     <param name="scaleType" type="select" label="Autoscale type">
                         <option value="linear" selected="true">Linear</option>
                         <option value="log">Log</option>
                     </param>
-                    <param name="displayCrossHatches" label="Draw cross hatches" type="boolean" checked="true" truevalue="true" falsevalue="false" />
-                    <param name="minScore" label="Min score" type="integer" value="" optional="true"/>
-                    <param name="maxScore" label="Max score" type="integer" value="" optional="true"/>
+                    <param name="displayCrossHatches" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Draw cross hatches"/>
+                    <param name="minScore" type="integer" value="" optional="true" label="Min score"/>
+                    <param name="maxScore" type="integer" value="" optional="true" label="Max score"/>
                 </when>
             </conditional>
         </section>
     </xml>
-
     <xml name="track_menu">
         <section name="jbmenu" title="JBrowse Contextual Menu options [Advanced]" expanded="false">
             <repeat name="track_menu" title="Track Menu">
-                <param label="Menu action"
-                        type="select"
-                        name="menu_action"
-                        help="Action performed when user clicks on the menu">
+                <param name="menu_action" type="select" label="Menu action" help="Action performed when user clicks on the menu">
                     <option value="iframeDialog" selected="true">iframeDialog: causes the given url to be opened in a popup dialog box within JBrowse, in an iframe element.</option>
                     <option value="newWindow">newWindow: causes the given url to be opened in a new browser window.</option>
                     <option value="navigateTo">navigateTo: opens the given url in the same browser window, navigating the user away from JBrowse.</option>
                 </param>
-                <param label="Menu label"
-                        type="text"
-                        name="menu_label"
-                        help="Will be displayed in the contextual menu on each feature ({name}, {id}, {type}, {start}, {end}, {strand} variables will be interpreted)">
-                    <expand macro="menu_sanitize" />
+                <param name="menu_label" type="text" label="Menu label" help="Will be displayed in the contextual menu on each feature ({name}, {id}, {type}, {start}, {end}, {strand} variables will be interpreted)">
+                    <expand macro="menu_sanitize"/>
                 </param>
-                <param label="Menu title"
-                        type="text"
-                        name="menu_title"
-                        help="Will be displayed in the popup title bar if displayed ({id}, {type}, {start}, {end}, {strand} variables will be interpreted)">
-                    <expand macro="menu_sanitize" />
+                <param name="menu_title" type="text" label="Menu title" help="Will be displayed in the popup title bar if displayed ({id}, {type}, {start}, {end}, {strand} variables will be interpreted)">
+                    <expand macro="menu_sanitize"/>
                 </param>
-                <param label="Menu url"
-                        type="text"
-                        name="menu_url"
-                        help="Destination URL ({name}, {id}, {type}, {start}, {end}, {strand} variables will be interpreted)">
-                    <expand macro="menu_sanitize" />
+                <param name="menu_url" type="text" label="Menu url" help="Destination URL ({name}, {id}, {type}, {start}, {end}, {strand} variables will be interpreted)">
+                    <expand macro="menu_sanitize"/>
                 </param>
-                <param label="Menu icon"
-                        type="select"
-                        name="menu_icon"
-                        help="Icon to display next to menu label">
+                <param name="menu_icon" type="select" label="Menu icon" help="Icon to display next to menu label">
                     <option value="dijitIconBookmark" selected="true">Bookmark</option>
                     <option value="dijitIconSave">Save</option>
                     <option value="dijitIconPrint">Print</option>
@@ -521,7 +423,6 @@
             </repeat>
         </section>
     </xml>
-
     <xml name="menu_sanitize">
         <sanitizer>
             <valid>
@@ -533,28 +434,26 @@
                 <add value="+"/>
                 <add value="="/>
                 <add value="'"/>
-                <add value='"'/>
+                <add value="&quot;"/>
             </valid>
         </sanitizer>
     </xml>
-
     <xml name="input_conditional" token_label="Track Data" token_format="data">
         <conditional name="useuri">
-            <param name="insource" type="select" label="Define track data as a history file or an internet URI"
-                help="A public URI implies that all the associated tabix files are also in place. They are created for history files">
+            <param name="insource" type="select" label="Define track data as a history file or an internet URI" help="A public URI implies that all the associated tabix files are also in place. They are created for history files">
                 <option value="history" selected="true">Track data from a history file</option>
-                <option value="uri" >Tabix data URI - index files must be available at corresponding URI</option>
+                <option value="uri">Tabix data URI - index files must be available at corresponding URI</option>
             </param>
             <when value="history">
-                <param label="@LABEL@" format="@FORMAT@" name="annotation" multiple="True" optional="true" type="data" />
+                <param name="annotation" type="data" format="@FORMAT@" optional="true" label="@LABEL@" multiple="True"/>
             </when>
             <when value="uri">
-                <param label="@LABEL@" name="annouri"  type="text" />
-                <param label="Short name for track display" name="annoname" type="text" >
+                <param name="annouri" type="text" label="@LABEL@"/>
+                <param name="annoname" type="text" label="Short name for track display">
                     <sanitizer invalid_char="_">
-                    <valid initial="string.printable" >
-                        <remove value="'" />
-                    </valid>
+                        <valid initial="string.printable">
+                            <remove value="'"/>
+                        </valid>
                     </sanitizer>
                 </param>
             </when>
@@ -562,24 +461,22 @@
     </xml>
     <xml name="pafref_conditional" token_label="Track Data" token_format="data">
         <conditional name="pafuseuri">
-            <param name="insource" type="select" label="PAF reference data from a history file or an internet URI?"
-                help="Multiple references can be used for mashmap PAF. A URI source requires all the associated tabix index files to be in place.">
+            <param name="insource" type="select" label="PAF reference data from a history file or an internet URI?" help="Multiple references can be used for mashmap PAF. A URI source requires all the associated tabix index files to be in place.">
                 <option value="history" selected="true">PAF reference comparison genome from a history file</option>
                 <option value="uri">PAF reference comparison genome tabix .gz URI with index files at the corresponding URIs</option>
             </param>
             <when value="history">
-                    <param label="@LABEL@" format="@FORMAT@" name="annotation"  type="data"
-                        help="Add all PAF reference comparison genomes used to make the PAF" multiple="true" />
+                <param name="annotation" type="data" format="@FORMAT@" label="@LABEL@" help="Add all PAF reference comparison genomes used to make the PAF" multiple="true"/>
             </when>
             <when value="uri">
                 <repeat name="refuri" title="PAF reference comparison genome URI" min="1">
-                    <param label="@LABEL@" name="annotation"  type="text" />
-                    <param label="Short name for this reference" name="annoname" type="text" help="Short names take less track space">
-                            <sanitizer invalid_char="_">
-                                <valid initial="string.printable" >
-                                    <remove value="'" />
-                                </valid>
-                            </sanitizer>
+                    <param name="annotation" type="text" label="@LABEL@"/>
+                    <param name="annoname" type="text" label="Short name for this reference" help="Short names take less track space">
+                        <sanitizer invalid_char="_">
+                            <valid initial="string.printable">
+                                <remove value="'"/>
+                            </valid>
+                        </sanitizer>
                     </param>
                 </repeat>
             </when>
@@ -587,8 +484,8 @@
     </xml>
     <xml name="citations">
         <citations>
-        <citation type="doi">10.1186/s13059-016-0924-1</citation>
-        <citation type="doi">10.1101/gr.094607.109</citation>
+            <citation type="doi">10.1186/s13059-016-0924-1</citation>
+            <citation type="doi">10.1101/gr.094607.109</citation>
         </citations>
     </xml>
 </macros>