diff pyGenomeTracks.xml @ 15:c7af51147b55 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/pygenometracks commit 9fdf4ad9c2a9c026720e2b01460b7ac85056b068
author iuc
date Wed, 01 Oct 2025 19:34:28 +0000
parents d640aa8a24ab
children
line wrap: on
line diff
--- a/pyGenomeTracks.xml	Fri May 26 07:54:18 2023 +0000
+++ b/pyGenomeTracks.xml	Wed Oct 01 19:34:28 2025 +0000
@@ -4,6 +4,7 @@
         <token name="@BINARY@">pyGenomeTracks</token>
         <import>macros.xml</import>
     </macros>
+    <expand macro="xrefs" />
     <expand macro="requirements" />
     <command detect_errors="exit_code">
 <![CDATA[
@@ -218,15 +219,17 @@
 
   ## Gene/gtf track
   #if $track.track_file_style_conditional.track_file_style_selector == "gene_track_option":
-    #for $counter_bed, $data_bed in enumerate($track.track_file_style_conditional.track_input_bed):
+    #for $counter_bed, $data_bed in enumerate($track.track_file_style_conditional.bed_gtf.track_input_bed):
 [genes_${counter}_${counter_bed}]
-      #set ext = $data_bed.extension
 file = $data_bed
-      #if $ext == 'gtf':
-prefered_name = $track.track_file_style_conditional.bed_style.bed_advanced.gtf.prefered_name
-        #if $track.track_file_style_conditional.bed_style.bed_advanced.gtf.merge_transcripts.merge_transcripts_select == 'true':
+      #if $track.track_file_style_conditional.bed_gtf.input_bed_or_gtf == "bed":
+file_type = bed
+      #else:
+file_type = gtf
+prefered_name = $track.track_file_style_conditional.bed_gtf.prefered_name
+        #if $track.track_file_style_conditional.bed_gtf.merge_transcripts.merge_transcripts_select == 'true':
 merge_transcripts = true
-merge_overlapping_exons = $track.track_file_style_conditional.bed_style.bed_advanced.gtf.merge_transcripts.merge_overlapping_exons
+merge_overlapping_exons = $track.track_file_style_conditional.bed_gtf.merge_transcripts.merge_overlapping_exons
         #end if
       #end if
       #if $track.track_file_style_conditional.title:
@@ -247,66 +250,109 @@
           #end if
         #end if
       #end if
-      #if $track.track_file_style_conditional.border_color_bed.border_color_bed_select == 'manually':
-border_color = $track.track_file_style_conditional.border_color_bed.color
-      #else
-border_color = $track.track_file_style_conditional.border_color_bed.border_color_bed_select
-      #end if
-style = $track.track_file_style_conditional.bed_style.bed_style_select
-      #if $track.track_file_style_conditional.bed_style.bed_style_select == 'UCSC':
-arrow_interval = $track.track_file_style_conditional.bed_style.bed_advanced.arrow_interval
-        #if $track.track_file_style_conditional.bed_style.bed_advanced.backbone_color_bed.backbone_color_bed_select == 'manually':
-color_backbone = $track.track_file_style_conditional.bed_style.bed_advanced.backbone_color_bed.color
-        #else
-color_backbone = $track.track_file_style_conditional.bed_style.bed_advanced.backbone_color_bed.backbone_color_bed_select
+display = $track.track_file_style_conditional.display_cond.display
+      #if $track.track_file_style_conditional.display_cond.display in ['stacked', 'interleaved', 'collapsed']:
+style = $track.track_file_style_conditional.display_cond.bed_style.bed_style_select
+        #if $track.track_file_style_conditional.display_cond.bed_style.bed_style_select in ['UCSC', 'exonarrows', 'flybase']:
+          #if $track.track_file_style_conditional.display_cond.bed_style.border_color_bed.border_color_bed_select == 'manually':
+border_color = $track.track_file_style_conditional.display_cond.bed_style.border_color_bed.color
+          #else
+border_color = $track.track_file_style_conditional.display_cond.bed_style.border_color_bed.border_color_bed_select
+          #end if
         #end if
-      #else:
-height_utr = $track.track_file_style_conditional.bed_style.bed_advanced.height_utr
-        #if $track.track_file_style_conditional.bed_style.bed_advanced.color_utr.color_utr_select == 'manually':
-color_utr = $track.track_file_style_conditional.bed_style.bed_advanced.color_utr.color
-        #elif $track.track_file_style_conditional.bed_style.bed_advanced.color_utr.color_utr_select == 'bed_rgb':
-color_utr = bed_rgb
+        #if $track.track_file_style_conditional.display_cond.bed_style.bed_style_select in ['UCSC', 'exonarrows']:
+arrow_interval = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.arrow_interval
+          #if $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.color_arrow.color_arrow_select == "manually":
+color_arrow = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.color_arrow.color
+          #else
+color_arrow = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.color_arrow.color_arrow_select
+          #end if
+        #end if
+        #if $track.track_file_style_conditional.display_cond.bed_style.bed_style_select == 'UCSC':
+          #if $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.backbone_color_bed.backbone_color_bed_select == 'manually':
+color_backbone = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.backbone_color_bed.color
+          #else
+color_backbone = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.backbone_color_bed.backbone_color_bed_select
+          #end if
         #else:
-        ## This is 'like'
-          #if $track.track_file_style_conditional.color_bed.color_bed_select == "bed_rgb":
+          #if $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.color_utr.color_utr_select == 'manually':
+color_utr = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.color_utr.color
+          #elif $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.color_utr.color_utr_select == 'bed_rgb':
 color_utr = bed_rgb
           #else:
+          ## This is 'like'
+            #if $track.track_file_style_conditional.color_bed.color_bed_select == "bed_rgb":
+color_utr = bed_rgb
+            #else:
 color_utr = $track.track_file_style_conditional.color_bed.color
+            #end if
+          #end if
+          #if $track.track_file_style_conditional.display_cond.bed_style.bed_style_select in ['flybase', 'tssarrow']:        
+height_utr = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.height_utr
+          #end if
+          #if $track.track_file_style_conditional.display_cond.bed_style.bed_style_select == 'exonarrows':        
+height_intron = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.height_intron
+          #end if
+          #if $track.track_file_style_conditional.display_cond.bed_style.bed_style_select == 'tssarrow' and $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.arrow_length != '':
+arrow_length = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.arrow_length
+          #end if
+          #if $track.track_file_style_conditional.display_cond.bed_style.bed_style_select == 'flybase':
+arrowhead_included = $track.track_file_style_conditional.display_cond.bed_style.arrowhead_included
+arrowhead_fraction = $track.track_file_style_conditional.display_cond.bed_style.arrowhead_fraction
+            #if $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.backbone_color_bed.backbone_color_bed_select == 'manually':
+color_backbone = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.backbone_color_bed.color
+            #else
+color_backbone = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.backbone_color_bed.backbone_color_bed_select
+            #end if
           #end if
         #end if
-        #if $track.track_file_style_conditional.bed_style.bed_style_select == 'tssarrow' and $track.track_file_style_conditional.bed_style.bed_advanced.arrow_length != '':
-arrow_length = $track.track_file_style_conditional.bed_style.bed_advanced.arrow_length
+        #if $track.track_file_style_conditional.display_cond.bed_style.bed_style_select in ['UCSC', 'exonarrows', 'tssarrow']:
+arrowhead_fraction = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.arrowhead_fraction
+        #end if
+        #if $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.gene_rows:
+gene_rows = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.gene_rows
         #end if
-        #if $track.track_file_style_conditional.bed_style.bed_style_select == 'flybase':
-arrowhead_included = $track.track_file_style_conditional.bed_style.arrowhead_included
-arrowhead_fraction = $track.track_file_style_conditional.bed_style.arrowhead_fraction
-          #if $track.track_file_style_conditional.bed_style.bed_advanced.backbone_color_bed.backbone_color_bed_select == 'manually':
-color_backbone = $track.track_file_style_conditional.bed_style.bed_advanced.backbone_color_bed.color
-          #else
-color_backbone = $track.track_file_style_conditional.bed_style.bed_advanced.backbone_color_bed.backbone_color_bed_select
+global_max_row = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.global_max_row
+max_labels = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.max_labels
+line_width = $track.track_file_style_conditional.display_cond.bed_style.bed_advanced.line_width
+labels = $track.track_file_style_conditional.display_cond.labels.plot_labels
+        #if $track.track_file_style_conditional.display_cond.labels.plot_labels == 'true':
+all_labels_inside = $track.track_file_style_conditional.display_cond.labels.all_labels_inside
+labels_in_margin = $track.track_file_style_conditional.display_cond.labels.labels_in_margin
+fontstyle = $track.track_file_style_conditional.display_cond.labels.fontstyle
+          #if $track.track_file_style_conditional.display_cond.labels.fontsize:
+fontsize = $track.track_file_style_conditional.display_cond.labels.fontsize
           #end if
         #end if
       #end if
-display = $track.track_file_style_conditional.display
+      #if $track.track_file_style_conditional.display_cond.display in ['triangle', 'squares']:
+        #if $track.track_file_style_conditional.display_cond.border_color_bed.border_color_bed_select == 'manually':
+border_color = $track.track_file_style_conditional.display_cond.border_color_bed.color
+        #else
+border_color = $track.track_file_style_conditional.display_cond.border_color_bed.border_color_bed_select
+        #end if
+      #end if
+      #if $track.track_file_style_conditional.display_cond.display in ['inversions', 'deletions', 'triangles', 'squares']:
+line_width = $track.track_file_style_conditional.display_cond.line_width
+      #end if
+      #if $track.track_file_style_conditional.display_cond.display in ['inversions', 'deletions']:
+labels = $track.track_file_style_conditional.display_cond.labels.plot_labels
+        #if $track.track_file_style_conditional.display_cond.labels.plot_labels == 'true':
+fontstyle = $track.track_file_style_conditional.display_cond.labels.fontstyle
+          #if $track.track_file_style_conditional.display_cond.labels.fontsize:
+fontsize = $track.track_file_style_conditional.display_cond.labels.fontsize
+          #end if
+        #end if
+      #end if
+      #if $track.track_file_style_conditional.display_cond.display == 'deletions':
+backbone_color = $track.track_file_style_conditional.display_cond.backbone_color
+      #end if
+      #if $track.track_file_style_conditional.display_cond.display == 'inversions':
+arrowhead_fraction = $track.track_file_style_conditional.display_cond.arrowhead_fraction
+      #end if
       #if $track.track_file_style_conditional.height_bed:
 height = $track.track_file_style_conditional.height_bed
       #end if
-labels = $track.track_file_style_conditional.labels.plot_labels
-      #if $track.track_file_style_conditional.labels.plot_labels == 'true':
-all_labels_inside = $track.track_file_style_conditional.labels.all_labels_inside
-labels_in_margin = $track.track_file_style_conditional.labels.labels_in_margin
-fontstyle = $track.track_file_style_conditional.labels.fontstyle
-        #if $track.track_file_style_conditional.labels.fontsize:
-fontsize = $track.track_file_style_conditional.labels.fontsize
-        #end if
-      #end if
-file_type = $ext
-      #if $track.track_file_style_conditional.bed_style.bed_advanced.gene_rows:
-gene_rows = $track.track_file_style_conditional.bed_style.bed_advanced.gene_rows
-      #end if
-global_max_row = $track.track_file_style_conditional.bed_style.bed_advanced.global_max_row
-max_labels = $track.track_file_style_conditional.bed_style.bed_advanced.max_labels
-line_width = $track.track_file_style_conditional.bed_style.bed_advanced.line_width
       #if $track.track_file_style_conditional.invert_orientation:
 orientation = inverted
       #end if
@@ -769,6 +815,7 @@
 species_order_only = $track.track_file_style_conditional.species_order_only
     #end if
 display_ref_seq = $track.track_file_style_conditional.display_ref_seq
+rasterize = $track.track_file_style_conditional.rasterize
 file_type = maf
     ## If spacer is asked a new section is created:
     #if $track.track_file_style_conditional.spacer_height != "":
@@ -920,8 +967,32 @@
                 </when>
                 <when value="gene_track_option">
                     <expand macro="plot_title" />
-
-                    <expand macro="track_input_bed_gtf_macro" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" type="select" label="Use bed or gtf input:">
+                            <option value="bed" selected="True">bed</option>
+                            <option value="gtf">gtf</option>
+                        </param>
+                        <when value="bed">
+                            <expand macro="track_input_bed_macro" />
+                        </when>
+                        <when value="gtf">
+                            <!-- I call it track_input_bed to make it the same name as the bed input -->
+                            <param name="track_input_bed" type="data" format="gtf" label="Track file(s) gtf format" multiple="True"/>
+                            <param name="prefered_name" type="text" value="transcript_name" label="attribute to use as label"
+                                help="Usually transcript_name or gene_name"/>
+                            <conditional name="merge_transcripts">
+                                <param name="merge_transcripts_select" type="select" label="Merge all transcripts of each gene in a single entry">
+                                    <option value="false" selected="True">No</option>
+                                    <option value="true">Yes</option>
+                                </param>
+                                <when value="true">
+                                    <param name="merge_overlapping_exons" type="boolean" truevalue="true" falsevalue="false" checked="true"
+                                        label="Merge overlapping exons" help="Usually it makes prettier plots" />
+                                </when>
+                                <when value="false" />
+                            </conditional>
+                        </when>
+                    </conditional>
                     <conditional name="color_bed">
                         <param name="color_bed_select" type="select" label="Define color:">
                             <option value="manually" selected="True">manually</option>
@@ -941,74 +1012,49 @@
                             <expand macro="minmax_macro" />
                         </when>
                     </conditional>
-                    <expand macro="border_color_bed_macro" />
                     <param name="height_bed" type="float" value="1.5" optional="True" label="height"/>
-                    <conditional name="labels">
-                        <param name="plot_labels" type="select" label="Plot labels">
-                            <option value="true" selected="True">yes</option>
-                            <option value="false">no</option>
+                    <conditional name="display_cond">
+                        <param name="display" type="select" label="display to use">
+                            <option value="stacked" selected="True">stacked (no overlap even with the label)</option>
+                            <option value="interleaved">interleaved (everything on 2 lines)</option>
+                            <option value="collapsed">collapsed (everything on 1 line)</option>
+                            <option value="triangles">triangles (plot triangles between start and end)</option>
+                            <option value="squares">squares (plot squares on the diagonal)</option>
+                            <option value="deletions">deletions (plot a horizontal line with V for each region of your bed)</option>
+                            <option value="inversions">inversions (plot arrows around each region of your bed)</option>
                         </param>
-                        <when value="true">
-                            <param name="all_labels_inside" type="boolean" truevalue="true" falsevalue="false" checked="false"
-                                label="Put all labels inside the plotted region"
-                                help="Put labels on the left of the region if the region ends after the plotted region."/>
-                            <param name="labels_in_margin" type="boolean" truevalue="true" falsevalue="false" checked="false"
-                                label="Allow to put labels in the right margin"
-                                help="Put labels in the margin if the region ends after the plotted region."/>
-                            <param name="fontsize" type="integer" value="" optional="True" label="Fontsize" />
-                            <param name="fontstyle" type="select" label="Fontstyle">
-                                <option value="normal" selected="True">normal</option>
-                                <option value="italic">italic</option>
-                                <option value="oblique">oblique</option>
-                            </param>
+                        <when value="stacked">
+                            <expand macro="bed_style_macro" />
+                        </when>
+                        <when value="interleaved">
+                            <expand macro="bed_style_macro" />
                         </when>
-                        <when value="false"/>
-                    </conditional>
-                    <param name="display" type="select" label="display to use">
-                        <option value="stacked" selected="True">stacked (no overlap even with the label)</option>
-                        <option value="interleaved">interleaved (everything on 2 lines)</option>
-                        <option value="collapsed">collapsed (everything on 1 line)</option>
-                        <option value="triangles">triangles (plot triangles between start and end)</option>
-                        <option value="squares">squares (plot squares on the diagonal)</option>
-                    </param>
-                    <conditional name="bed_style">
-                        <param name="bed_style_select" type="select" label="Bed style">
-                            <option value="flybase" selected="True">flybase (blocks with arrow at extremities)</option>
-                            <option value="UCSC">UCSC (blocks with arrows in introns)</option>
-                            <option value="tssarrow">tssarrow (blocks with arrow above at beginning)</option>
-                        </param>
-                        <when value="flybase">
-                            <param name="arrowhead_included" type="boolean" truevalue="true" falsevalue="false" checked="false"
-                                label="Include the arrowhead in the bed interval:"
-                                help="When set to False, the arrow indicating the orientation of the interval is plotted outside of the interval."/>
+                        <when value="collapsed">
+                            <expand macro="bed_style_macro" />
+                        </when>
+                        <when value="triangles">
+                            <expand macro="border_color_bed_macro" />
+                            <param name="line_width" type="float" value="0.5" label="width of lines" />
+                        </when>
+                        <when value="squares">
+                            <expand macro="border_color_bed_macro" />
+                            <param name="line_width" type="float" value="0.5" label="width of lines" />
+                        </when>
+                        <when value="deletions">
+                            <param name="line_width" type="float" value="0.5" label="width of lines" />
+                            <param name="backbone_color" type="color" value="#000000" label="Color of the horizontal line"/>
+                            <expand macro="delinv_labels"/>
+                        </when>
+                        <when value="inversions">
                             <param name="arrowhead_fraction" type="float" value="0.004" min="0" max="1"
-                                label="Size of arrowhead relative to the plotted region"
-                                help="This size is also used to put space between the bed regions and their labels."/>
-                            <section name="bed_advanced" title="Configure other bed parameters" expanded="False">
-                                <expand macro="utr_macro" />
-                                <expand macro="bed_advanced_macro" />
-                                <expand macro="backbone_color_bed_macro" />
-                            </section>
-                        </when>
-                        <when value="UCSC">
-                            <section name="bed_advanced" title="Configure other bed parameters" expanded="False">
-                                <param name="arrow_interval" type="integer" value="2" min="0" label="interval between 2 arrows on introns in UCSC style"/>
-                                <expand macro="bed_advanced_macro" />
-                                <expand macro="backbone_color_bed_macro" />
-                            </section>
-                        </when>
-                        <when value="tssarrow">
-                            <section name="bed_advanced" title="Configure other bed parameters" expanded="False">
-                                <param name="arrow_length" type="integer" optional="true" label="arrow length" help="the length of the arrow in bp (default is 4% of the plotted region)"/>
-                                <expand macro="utr_macro" />
-                                <expand macro="bed_advanced_macro" />
-                            </section>
+                                label="Parameter to control the size of the arrows"/>
+                            <param name="line_width" type="float" value="0.5" label="width of lines" />
+                            <expand macro="delinv_labels"/>
                         </when>
                     </conditional>
                     <expand macro="overlay_macro" />
                     <expand macro="inverted_macro" />
                     <expand macro="spacer_macro" />
-
                 </when>
                 <when value="link_track_option">
                     <expand macro="plot_title" />
@@ -1313,6 +1359,8 @@
                         label="Display only the species specified above"/>
                     <param name="display_ref_seq" type="boolean" truevalue="true" falsevalue="false" checked="false"
                         label="Display the sequence of the reference"/>
+                    <param name="rasterize" type="boolean" truevalue="true" falsevalue="false" checked="false"
+                        label="Rasterize the line and blocks of the maf track"/>
                     <expand macro="inverted_macro" />
                     <expand macro="overlay_macro" />
                     <expand macro="spacer_macro" />
@@ -1460,11 +1508,16 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    </conditional>
                     <param name="title" value="genes" />
                     <param name="height_bed" value="5" />
-                    <conditional name="labels">
-                        <param name="fontsize" value="10" />
+                    <conditional name="display_cond">
+                        <conditional name="labels">
+                            <param name="fontsize" value="10" />
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
@@ -1477,16 +1530,21 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    </conditional>
                     <param name="title" value="max num rows 3" />
                     <param name="height_bed" value="3" />
-                    <conditional name="labels">
-                        <param name="fontsize" value="8" />
-                    </conditional>
-                    <conditional name="bed_style">
-                        <section name="bed_advanced">
-                            <param name="gene_rows" value="3" />
-                        </section>
+                    <conditional name="display_cond">
+                        <conditional name="labels">
+                            <param name="fontsize" value="8" />
+                        </conditional>
+                        <conditional name="bed_style">
+                            <section name="bed_advanced">
+                                <param name="gene_rows" value="3" />
+                            </section>
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
@@ -1499,16 +1557,21 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes.bed6.gz" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes.bed6.gz" ftype="bed" />
+                    </conditional>
                     <param name="title" value="bed6 global max row" />
                     <param name="height_bed" value="20" />
-                    <conditional name="labels">
-                        <param name="fontsize" value="10" />
-                    </conditional>
-                    <conditional name="bed_style">
-                        <section name="bed_advanced">
-                            <param name="global_max_row" value="true" />
-                        </section>
+                    <conditional name="display_cond">
+                        <conditional name="labels">
+                            <param name="fontsize" value="10" />
+                        </conditional>
+                        <conditional name="bed_style">
+                            <section name="bed_advanced">
+                                <param name="global_max_row" value="true" />
+                            </section>
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
@@ -1519,7 +1582,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="master_TADs_plot.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="master_TADs_plot.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 2-->
         <test>
@@ -1595,7 +1658,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="bigwig_multiple.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="bigwig_multiple.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 3-->
         <test>
@@ -1740,30 +1803,40 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    </conditional>
                     <param name="title" value="genes in ucsc" />
                     <param name="height_bed" value="5" />
-                    <conditional name="labels">
-                        <param name="fontsize" value="10" />
-                    </conditional>
-                    <conditional name="bed_style">
-                        <param name="bed_style_select" value="UCSC"/>
+                    <conditional name="display_cond">
+                        <conditional name="labels">
+                            <param name="fontsize" value="10" />
+                        </conditional>
+                        <conditional name="bed_style">
+                            <param name="bed_style_select" value="UCSC"/>
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes.bed6.gz" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes.bed6.gz" ftype="bed" />
+                    </conditional>
                     <param name="title" value="bed6 global max row color from score" />
                     <param name="height_bed" value="20" />
-                    <conditional name="labels">
-                        <param name="fontsize" value="10" />
-                    </conditional>
-                    <conditional name="bed_style">
-                        <section name="bed_advanced">
-                            <param name="global_max_row" value="true" />
-                        </section>
+                    <conditional name="display_cond">
+                        <conditional name="labels">
+                            <param name="fontsize" value="10" />
+                        </conditional>
+                        <conditional name="bed_style">
+                            <section name="bed_advanced">
+                                <param name="global_max_row" value="true" />
+                            </section>
+                        </conditional>
                     </conditional>
                     <conditional name="color_bed">
                         <param name="color_bed_select" value="colormap" />
@@ -1776,60 +1849,81 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="domains.bed" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="domains.bed" ftype="bed" />
+                    </conditional>
                     <param name="title" value="domains.bed using the 9th field for colors interleaved border=red" />
                     <param name="height_bed" value="2" />
                     <conditional name="color_bed">
                         <param name="color_bed_select" value="bed_rgb" />
                     </conditional>
-                    <conditional name="border_color_bed">
-                        <param name="border_color_bed_select" value="manually" />
-                        <param name="color" value="red" />
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <conditional name="border_color_bed">
+                                <param name="border_color_bed_select" value="manually" />
+                                <param name="color" value="red" />
+                            </conditional>
+                        </conditional>
+                        <conditional name="labels">
+                            <param name="plot_labels" value="false" />
+                        </conditional>
+                        <param name="display" value="interleaved" />
                     </conditional>
-                    <conditional name="labels">
-                        <param name="plot_labels" value="false" />
-                    </conditional>
-                    <param name="display" value="interleaved" />
                 </conditional>
             </repeat>
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="domains.bed" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="domains.bed" ftype="bed" />
+                    </conditional>
                     <param name="title" value="domains.bed using the 9th field for colors interleaved border=bed_rgb" />
                     <param name="height_bed" value="2" />
                     <conditional name="color_bed">
                         <param name="color_bed_select" value="bed_rgb" />
                     </conditional>
-                    <conditional name="border_color_bed">
-                        <param name="border_color_bed_select" value="bed_rgb" />
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <conditional name="border_color_bed">
+                                <param name="border_color_bed_select" value="bed_rgb" />
+                            </conditional>
+                        </conditional>
+                        <conditional name="labels">
+                            <param name="plot_labels" value="false" />
+                        </conditional>
+                        <param name="display" value="interleaved" />
                     </conditional>
-                    <conditional name="labels">
-                        <param name="plot_labels" value="false" />
-                    </conditional>
-                    <param name="display" value="interleaved" />
                 </conditional>
             </repeat>
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="domains.bed" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="domains.bed" ftype="bed" />
+                    </conditional>
                     <param name="title" value="domains.bed using the 9th field for colors interleaved border=none" />
                     <param name="height_bed" value="2" />
                     <conditional name="color_bed">
                         <param name="color_bed_select" value="bed_rgb" />
                     </conditional>
-                    <conditional name="border_color_bed">
-                        <param name="border_color_bed_select" value="none" />
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <conditional name="border_color_bed">
+                                <param name="border_color_bed_select" value="none" />
+                            </conditional>
+                        </conditional>
+                        <conditional name="labels">
+                            <param name="plot_labels" value="false" />
+                        </conditional>
+                        <param name="display" value="interleaved" />
                     </conditional>
-                    <conditional name="labels">
-                        <param name="plot_labels" value="false" />
-                    </conditional>
-                    <param name="display" value="interleaved" />
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="master_TADs_BW_plot.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="master_TADs_BW_plot.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 4-->
         <test>
@@ -1838,7 +1932,7 @@
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="bigwig_track_option" />
                     <param name="track_input_bigwig" value="bigwig_chrx_2e6_5e6.bw" ftype="bigwig" />
-                    <param name="title" value="(bigwig color=blue 2000 bins) overlayed with (bigwig mean color=red alpha = 0.5 max over 300 bins)" />
+                    <param name="title" value="(bigwig color=blue 2000 bins) overlayed with (bigwig color=red alpha = 0.5 max over 300 bins)" />
                     <param name="height_bigwig" value="7" />
                     <param name="color" value="#00b0f0" />
                     <section name="reading_bw_conditional">
@@ -1853,8 +1947,8 @@
                     <param name="title" value="" />
                     <param name="color" value="#ff0000" />
                     <param name="alpha" value="0.5" />
-                    <param name="summary_method" value="max" />
                     <section name="reading_bw_conditional">
+                        <param name="summary_method" value="max" />
                         <param name="number_of_bins" value="300"/>
                     </section>
                     <param name="overlay_select" value="share-y"/>
@@ -1867,7 +1961,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_alpha.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_alpha.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 5-->
         <test>
@@ -1881,12 +1975,19 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="gtf"/>
+                        <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                    </conditional>
                     <param name="title" value="test" />
                     <param name="height_bed" value="10" />
-                    <param name="color" value="#000000" />
-                    <conditional name="bed_style">
-                        <param name="bed_style_select" value="UCSC"/>
+                    <conditional name="color_bed">
+                        <param name="color" value="#000000" />
+                    </conditional>
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <param name="bed_style_select" value="UCSC"/>
+                        </conditional>
                     </conditional>
                     <param name="spacer_height" value="1"/>
                 </conditional>
@@ -1894,18 +1995,25 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_subset_BDGP5.78_asbed4.bed.gz" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_subset_BDGP5.78_asbed4.bed.gz" ftype="bed" />
+                    </conditional>
                     <param name="title" value="test" />
                     <param name="height_bed" value="10" />
-                    <param name="color" value="#000000" />
-                    <conditional name="bed_style">
-                        <param name="bed_style_select" value="UCSC"/>
+                    <conditional name="color_bed">
+                        <param name="color" value="#000000" />
+                    </conditional>
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <param name="bed_style_select" value="UCSC"/>
+                        </conditional>
                     </conditional>
                     <param name="spacer_height" value="1"/>
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_gtf_bed4.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_gtf_bed4.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 6-->
         <test>
@@ -1978,7 +2086,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_narrowPeak.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_narrowPeak.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 7-->
         <test>
@@ -1992,7 +2100,10 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="gtf"/>
+                        <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                    </conditional>
                     <param name="title" value="gtf default" />
                     <param name="height_bed" value="10" />
                 </conditional>
@@ -2000,55 +2111,64 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="gtf"/>
+                        <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                        <param name="prefered_name" value="gene_name"/>
+                        <conditional name="merge_transcripts">
+                            <param name="merge_transcripts_select" value="true"/>
+                            <param name="merge_overlapping_exons" value="false"/>
+                        </conditional>
+                    </conditional>
                     <param name="title" value="gtf merge transcripts, use gene_name, red 0.75 UTR" />
                     <param name="height_bed" value="10" />
-                    <conditional name="bed_style">
-                        <section name="bed_advanced">
-                            <param name="height_utr" value="0.75"/>
-                            <conditional name="color_utr">
-                                <param name="color_utr_select" value="manually"/>
-                                <param name="color" value="#ff0000"/>
-                            </conditional>
-                            <section name ="gtf">
-                                <param name="prefered_name" value="gene_name"/>
-                                <conditional name="merge_transcripts">
-                                    <param name="merge_transcripts_select" value="true"/>
-                                    <param name="merge_overlapping_exons" value="false"/>
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <section name="bed_advanced">
+                                <param name="height_utr" value="0.75"/>
+                                <conditional name="color_utr">
+                                    <param name="color_utr_select" value="manually"/>
+                                    <param name="color" value="#ff0000"/>
                                 </conditional>
                             </section>
-                        </section>
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="gtf"/>
+                        <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                        <param name="prefered_name" value="gene_name"/>
+                        <conditional name="merge_transcripts">
+                            <param name="merge_transcripts_select" value="true"/>
+                            <param name="merge_overlapping_exons" value="true"/>
+                        </conditional>
+                    </conditional>
                     <param name="title" value="same but merge overlapping exons" />
                     <param name="height_bed" value="10" />
-                    <conditional name="bed_style">
-                        <section name="bed_advanced">
-                            <param name="height_utr" value="0.75"/>
-                            <conditional name="color_utr">
-                                <param name="color_utr_select" value="manually"/>
-                                <param name="color" value="#ff0000"/>
-                            </conditional>
-                            <section name ="gtf">
-                                <param name="prefered_name" value="gene_name"/>
-                                <conditional name="merge_transcripts">
-                                    <param name="merge_transcripts_select" value="true"/>
-                                    <param name="merge_overlapping_exons" value="true"/>
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <section name="bed_advanced">
+                                <param name="height_utr" value="0.75"/>
+                                <conditional name="color_utr">
+                                    <param name="color_utr_select" value="manually"/>
+                                    <param name="color" value="#ff0000"/>
                                 </conditional>
                             </section>
-                        </section>
-                    </conditional>
+                        </conditional>
+                     </conditional>
                 </conditional>
             </repeat>
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes_withrgbandscore.bed.gz" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes_withrgbandscore.bed.gz" ftype="bed" />
+                    </conditional>
                     <param name="title" value="genes with scores" />
                     <param name="height_bed" value="10" />
                     <conditional name="color_bed">
@@ -2060,57 +2180,72 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes_withrgbandscore.bed.gz" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes_withrgbandscore.bed.gz" ftype="bed" />
+                    </conditional>
                     <param name="title" value="genes with utr as bed_rgb" />
                     <param name="height_bed" value="10" />
-                    <conditional name="bed_style">
-                        <section name="bed_advanced">
-                            <conditional name="color_utr">
-                                <param name="color_utr_select" value="bed_rgb"/>
-                            </conditional>
-                        </section>
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <section name="bed_advanced">
+                                <conditional name="color_utr">
+                                    <param name="color_utr_select" value="bed_rgb"/>
+                                </conditional>
+                            </section>
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes_withrgbandscore.bed.gz" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes_withrgbandscore.bed.gz" ftype="bed" />
+                    </conditional>
                     <param name="title" value="genes with coding as bed_rgb - labels_in_margin" />
                     <param name="height_bed" value="10" />
                     <conditional name="color_bed">
                         <param name="color_bed_select" value="bed_rgb" />
                     </conditional>
-                    <conditional name="labels">
-                        <param name="plot_labels" value="true" />
-                        <param name="labels_in_margin" value="true" />
+                    <conditional name="display_cond">
+                        <conditional name="labels">
+                            <param name="plot_labels" value="true" />
+                            <param name="labels_in_margin" value="true" />
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes_withrgbandscore.bed.gz" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes_withrgbandscore.bed.gz" ftype="bed" />
+                    </conditional>
                     <param name="title" value="genes bed_rgb like - all_labels_inside" />
                     <param name="height_bed" value="10" />
                     <conditional name="color_bed">
                         <param name="color_bed_select" value="bed_rgb" />
                     </conditional>
-                    <conditional name="bed_style">
-                        <section name="bed_advanced">
-                            <conditional name="color_utr">
-                                <param name="color_utr_select" value="like"/>
-                            </conditional>
-                        </section>
-                    </conditional>
-                    <conditional name="labels">
-                        <param name="plot_labels" value="true" />
-                        <param name="all_labels_inside" value="true" />
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <section name="bed_advanced">
+                                <conditional name="color_utr">
+                                    <param name="color_utr_select" value="like"/>
+                                </conditional>
+                            </section>
+                        </conditional>
+                        <conditional name="labels">
+                            <param name="plot_labels" value="true" />
+                            <param name="all_labels_inside" value="true" />
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_gtf_flybase_param.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_gtf_flybase_param.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 8-->
         <test>
@@ -2124,35 +2259,72 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
-                    <param name="title" value="dm3_genes.bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    </conditional>
+                    <param name="title" value="global max row max 15 labels" />
                     <param name="height_bed" value="10" />
-                    <conditional name="bed_style">
-                        <param name="bed_style_select" value="UCSC"/>
-                        <section name="bed_advanced">
-                            <param name="global_max_row" value="true" />
-                            <param name="max_labels" value="15" />
-                        </section>
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <param name="bed_style_select" value="UCSC"/>
+                            <section name="bed_advanced">
+                                <param name="global_max_row" value="true" />
+                                <param name="max_labels" value="15" />
+                            </section>
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
-                    <param name="title" value="genes.bed.gz" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    </conditional>
+                    <param name="title" value="arrow_interval 10 line_width 2 change color_arrow" />
                     <param name="height_bed" value="10" />
-                    <conditional name="bed_style">
-                        <param name="bed_style_select" value="UCSC"/>
-                        <section name="bed_advanced">
-                            <param name="arrow_interval" value="10"/>
-                            <param name="line_width" value="2"/>
-                        </section>
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <param name="bed_style_select" value="UCSC"/>
+                            <section name="bed_advanced">
+                                <param name="arrow_interval" value="10"/>
+                                <param name="line_width" value="2"/>
+                                <conditional name="color_arrow">
+                                    <param name="color" value="#00ffff"/>
+                                </conditional>
+                            </section>
+                        </conditional>
+                    </conditional>
+                </conditional>
+            </repeat>
+            <repeat name="tracks">
+                <conditional name="track_file_style_conditional">
+                    <param name="track_file_style_selector" value="gene_track_option" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    </conditional>
+                    <param name="title" value="same as above but arrowhead_fraction = 0.02" />
+                    <param name="height_bed" value="10" />
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <param name="bed_style_select" value="UCSC"/>
+                            <section name="bed_advanced">
+                                <param name="arrow_interval" value="10"/>
+                                <param name="line_width" value="2"/>
+                                <conditional name="color_arrow">
+                                    <param name="color" value="#00ffff"/>
+                                </conditional>
+                                <param name="arrowhead_fraction" value="0.02"/>
+                            </section>
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_ucsc_param.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_ucsc_param.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 9-->
         <test>
@@ -2166,42 +2338,57 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="gtf"/>
+                        <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                    </conditional>
                     <param name="title" value="defaut arrowhead fontstyle italic" />
                     <param name="height_bed" value="10" />
                     <param name="spacer_height" value="1"/>
-                    <conditional name="labels">
-                        <param name="fontstyle" value="italic"/>
+                    <conditional name="display_cond">
+                        <conditional name="labels">
+                            <param name="fontstyle" value="italic"/>
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="gtf"/>
+                        <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                    </conditional>
                     <param name="title" value="arrowhead_fraction 0.1 fontstyle oblique" />
                     <param name="height_bed" value="10" />
                     <param name="spacer_height" value="1"/>
-                    <conditional name="labels">
-                        <param name="fontstyle" value="oblique"/>
-                    </conditional>
-                    <conditional name="bed_style">
-                        <param name="arrowhead_fraction" value="0.1"/>
+                    <conditional name="display_cond">
+                        <conditional name="labels">
+                            <param name="fontstyle" value="oblique"/>
+                        </conditional>
+                        <conditional name="bed_style">
+                            <param name="arrowhead_fraction" value="0.1"/>
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_subset_BDGP5.78_asbed4.bed.gz" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_subset_BDGP5.78_asbed4.bed.gz" ftype="bed" />
+                    </conditional>
                     <param name="title" value="genes without orientation" />
                     <param name="height_bed" value="10" />
                     <conditional name="color_bed">
                         <param name="color_bed_select" value="manually" />
                         <param name="color" value="red" />
                     </conditional>
-                    <conditional name="bed_style">
-                        <param name="bed_style_select" value="UCSC"/>
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <param name="bed_style_select" value="UCSC"/>
+                        </conditional>
                     </conditional>
                     <param name="spacer_height" value="1"/>
                 </conditional>
@@ -2209,7 +2396,10 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="gtf"/>
+                        <param name="track_input_bed" value="dm3_subset_BDGP5.78.gtf.gz" ftype="gtf" />
+                    </conditional>
                     <param name="title" value="arrowhead included" />
                     <param name="height_bed" value="10" />
                     <conditional name="color_bed">
@@ -2217,8 +2407,10 @@
                         <param name="color" value="red" />
                     </conditional>
                     <param name="spacer_height" value="1"/>
-                    <conditional name="bed_style">
-                        <param name="arrowhead_included" value="true"/>
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <param name="arrowhead_included" value="true"/>
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
@@ -2242,7 +2434,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_arrowhead_zoom.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_arrowhead_zoom.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 10-->
         <test>
@@ -2256,13 +2448,19 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="domains.bed" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="domains.bed" ftype="bed" />
+                    </conditional>
                     <param name="height_bed" value="6" />
                     <conditional name="color_bed">
                         <param name="color_bed_select" value="manually" />
                         <param name="color" value="yellow" />
                     </conditional>
-                    <param name="display" value="triangles" />
+                    <conditional name="display_cond">
+                        <param name="display" value="triangles" />
+                        <param name="line_width" value="3"/>
+                    </conditional>
                     <param name="spacer_height" value="1"/>
                 </conditional>
             </repeat>
@@ -2292,7 +2490,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_middle_triangle.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_middle_triangle.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 11-->
         <test>
@@ -2351,7 +2549,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_TADs_bdgm.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_TADs_bdgm.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 12-->
         <test>
@@ -2403,7 +2601,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_link.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_link.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 13-->
         <test>
@@ -2462,7 +2660,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_link2.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_link2.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 14-->
         <test>
@@ -2502,7 +2700,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_scale_bar.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_scale_bar.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 15-->
         <test>
@@ -2516,69 +2714,124 @@
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    </conditional>
                     <param name="title" value="flybase backbone blue" />
                     <param name="height_bed" value="10" />
-                    <conditional name="bed_style">
-                        <param name="bed_style_select" value="flybase"/>
-                        <section name="bed_advanced">
-                            <conditional name="backbone_color_bed">
-                                <param name="backbone_color_bed_select" value="manually" />
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <param name="bed_style_select" value="flybase"/>
+                            <section name="bed_advanced">
+                                <conditional name="backbone_color_bed">
+                                    <param name="backbone_color_bed_select" value="manually" />
+                                    <param name="color" value="blue" />
+                                </conditional>
+                            </section>
+                        </conditional>
+                    </conditional>
+                </conditional>
+            </repeat>
+            <repeat name="tracks">
+                <conditional name="track_file_style_conditional">
+                    <param name="track_file_style_selector" value="gene_track_option" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    </conditional>
+                    <param name="title" value="UCSC backbone blue" />
+                    <param name="height_bed" value="10" />
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <param name="bed_style_select" value="UCSC"/>
+                            <section name="bed_advanced">
+                                <param name="arrow_interval" value="10"/>
+                                <conditional name="backbone_color_bed">
+                                    <param name="backbone_color_bed_select" value="manually" />
                                 <param name="color" value="blue" />
-                            </conditional>
-                        </section>
+                                </conditional>
+                            </section>
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
-                    <param name="title" value="UCSC backbone blue" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    </conditional>
+                    <param name="title" value="tssarrow" />
                     <param name="height_bed" value="10" />
-                    <conditional name="bed_style">
-                        <param name="bed_style_select" value="UCSC"/>
-                        <section name="bed_advanced">
-                            <param name="arrow_interval" value="10"/>
-                            <conditional name="backbone_color_bed">
-                                <param name="backbone_color_bed_select" value="manually" />
-                                <param name="color" value="blue" />
-                            </conditional>
-                        </section>
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <param name="bed_style_select" value="tssarrow"/>
+                        </conditional>
+                    </conditional>
+                </conditional>
+            </repeat>
+            <repeat name="tracks">
+                <conditional name="track_file_style_conditional">
+                    <param name="track_file_style_selector" value="gene_track_option" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    </conditional>
+                    <param name="title" value="tssarrow 20kb increase arrowhead" />
+                    <param name="height_bed" value="10" />
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <param name="bed_style_select" value="tssarrow"/>
+                            <section name="bed_advanced">
+                                <param name="arrow_length" value="20000"/>
+                                <param name="arrowhead_fraction" value="0.01"/>
+                            </section>
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
             <repeat name="tracks">
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
-                    <param name="title" value="tssarrow" />
-                    <param name="height_bed" value="10" />
-                    <conditional name="bed_style">
-                        <param name="bed_style_select" value="tssarrow"/>
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
+                    </conditional>
+                    <param name="title" value="exonarrows" />
+                    <conditional name="color_bed">
+                        <param name="color_bed_select" value="manually" />
+                        <param name="color" value="red"/>
                     </conditional>
-                </conditional>
-            </repeat>
-            <repeat name="tracks">
-                <conditional name="track_file_style_conditional">
-                    <param name="track_file_style_selector" value="gene_track_option" />
-                    <param name="track_input_bed" value="dm3_genes.bed.gz" ftype="bed" />
-                    <param name="title" value="tssarrow 5kb" />
                     <param name="height_bed" value="10" />
-                    <conditional name="bed_style">
-                        <param name="bed_style_select" value="tssarrow"/>
-                        <section name="bed_advanced">
-                            <param name="arrow_length" value="5000"/>
-                        </section>
+                    <conditional name="display_cond">
+                        <conditional name="bed_style">
+                            <param name="bed_style_select" value="exonarrows"/>
+                            <conditional name="border_color_bed">
+                                <param name="border_color_bed_select" value="manually"/>
+                                <param name="color" value="red"/>
+                            </conditional>
+                            <section name="bed_advanced">
+                                <param name="line_width" value="2" />
+                                <conditional name="color_utr">
+                                    <param name="color_utr_select" value="manually"/>
+                                    <param name="color" value="blue"/>
+                                </conditional>
+                                <conditional name="color_arrow">
+                                    <param name="color" value="white"/>
+                                </conditional>
+                            </section>
+                        </conditional>
                     </conditional>
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_tssarrow.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_tssarrow.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 16-->
         <test>
-            <param name="region" value="X:2700000-3100000"/>
+            <param name="region" value="chrX:2700000-3100000"/>
             <section name="global_args">
                 <param name="decreasingXAxis" value="true"/>
             </section>
@@ -2586,7 +2839,7 @@
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="bigwig_track_option" />
                     <param name="track_input_bigwig" value="bigwig_chrx_2e6_5e6.bw" ftype="bigwig" />
-                    <param name="title" value="(bigwig color=blue 2000 bins) overlayed with (bigwig mean color=red alpha = 0.5 max over 300 bins)" />
+                    <param name="title" value="(bigwig color=blue 2000 bins) overlayed with (bigwig color=red alpha = 0.5 max over 300 bins)" />
                     <param name="height_bigwig" value="7" />
                     <param name="color" value="#00b0f0" />
                     <section name="reading_bw_conditional">
@@ -2601,8 +2854,8 @@
                     <param name="title" value="" />
                     <param name="color" value="#ff0000" />
                     <param name="alpha" value="0.5" />
-                    <param name="summary_method" value="max" />
                     <section name="reading_bw_conditional">
+                        <param name="summary_method" value="max" />
                         <param name="number_of_bins" value="300"/>
                     </section>
                     <param name="overlay_select" value="share-y"/>
@@ -2615,7 +2868,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_alpha_dec.png" ftype="png" compare="sim_size" delta="1000" />
+            <output name="outFileName" file="test_alpha_dec.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 17-->
         <test>
@@ -2738,7 +2991,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_log.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_log.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 18-->
         <test>
@@ -2816,7 +3069,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_operation.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_operation.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 19-->
         <test>
@@ -2947,7 +3200,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_log_grid.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="test_log_grid.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 20-->
         <test>
@@ -2968,7 +3221,7 @@
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="hic_matrix_option" />
                     <param name="matrix_h5_cooler_multiple" value="Li_et_al_2015.h5"/>
-                    <param name="title" value="depth = 300000; transform = log1p; min_value = 5 (next track: overlay_previous = share-y links_type = loops)" />
+                    <param name="title" value="depth = 300000 transform = log1p min_value = 5 (next track: overlay_previous = share-y links_type = loops)" />
                     <param name="depth" value="300000" />
                     <param name="transform" value="log1p" />
                     <param name="min_value" value="5" />
@@ -3012,7 +3265,7 @@
                 <conditional name="track_file_style_conditional">
                     <param name="track_file_style_selector" value="hic_matrix_option" />
                     <param name="matrix_h5_cooler_multiple" value="Li_et_al_2015.h5"/>
-                    <param name="title" value="depth = 300000; transform = log1p; min_value = 5 (next track: overlay_previous = share-y links_type = loops)" />
+                    <param name="title" value="depth = 300000 transform = log1p min_value = 5 (next track: overlay_previous = share-y links_type = loops)" />
                     <param name="depth" value="300000" />
                     <param name="transform" value="log1p" />
                     <param name="min_value" value="5" />
@@ -3057,7 +3310,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_arcs_use_middle.png" ftype="png" compare="sim_size" delta="1200" />
+            <output name="outFileName" file="test_arcs_use_middle.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 21-->
         <test>
@@ -3135,7 +3388,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="master_scale_bar_startend.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="master_scale_bar_startend.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 22-->
         <test>
@@ -3172,7 +3425,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="master_fasta.png" ftype="png" compare="sim_size" delta="100" />
+            <output name="outFileName" file="master_fasta.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 23-->
         <test>
@@ -3266,7 +3519,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_matrix_square.png" ftype="png" compare="sim_size" delta="1200" />
+            <output name="outFileName" file="test_matrix_square.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 24-->
         <test>
@@ -3313,7 +3566,6 @@
                     <param name="species_order" value="hg19"/>
                     <param name="species_labels" value="Human"/>
                     <param name="species_order_only" value="true"/>
-                    <param name="spacer_height" value="1"/>
                 </conditional>
             </repeat>
             <repeat name="tracks">
@@ -3323,7 +3575,7 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_maf.png" ftype="png" compare="sim_size" delta="1200" />
+            <output name="outFileName" file="test_maf.png" ftype="png" compare="image_diff" />
         </test>
         <!--test 25-->
         <test>
@@ -3352,7 +3604,117 @@
                 </conditional>
             </repeat>
             <param name="image_file_format" value="png" />
-            <output name="outFileName" file="test_vhighlight.png" ftype="png" compare="sim_size" delta="1200" />
+            <output name="outFileName" file="test_vhighlight.png" ftype="png" compare="image_diff" />
+        </test>
+        <!--test 26-->
+        <test>
+            <param name="region" value="chrX:3060000-3080000"/>
+            <repeat name="tracks">
+                <conditional name="track_file_style_conditional">
+                    <param name="track_file_style_selector" value="gene_track_option" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes_withrgbandscore.bed.gz" ftype="bed" />
+                    </conditional>
+                    <param name="title" value="default inversions overlayed with empty deletion" />
+                    <param name="height_bed" value="2" />
+                    <conditional name="display_cond">
+                        <param name="display" value = "inversions"/>
+                    </conditional>
+                </conditional>
+            </repeat>
+            <repeat name="tracks">
+                <conditional name="track_file_style_conditional">
+                    <param name="track_file_style_selector" value="gene_track_option" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="empty.bed" ftype="bed" />
+                    </conditional>
+                    <param name="title" value="" />
+                    <conditional name="display_cond">
+                        <param name="display" value = "deletions"/>
+                    </conditional>
+                    <param name="overlay_select" value="share-y" />
+                    <param name="spacer_height" value="1" />
+                </conditional>
+            </repeat>
+            <repeat name="tracks">
+                <conditional name="track_file_style_conditional">
+                    <param name="track_file_style_selector" value="gene_track_option" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes_withrgbandscore.bed.gz" ftype="bed" />
+                    </conditional>
+                    <param name="title" value="inversions rgb no labels" />
+                    <param name="height_bed" value="2" />
+                    <conditional name="color_bed">
+                        <param name="color_bed_select" value="bed_rgb" />
+                    </conditional>
+                    <conditional name="display_cond">
+                        <param name="display" value = "inversions"/>
+                        <conditional name="labels">
+                            <param name="plot_labels" value = "false"/>
+                        </conditional>
+                    </conditional>
+                </conditional>
+            </repeat>
+            <repeat name="tracks">
+                <conditional name="track_file_style_conditional">
+                    <param name="track_file_style_selector" value="gene_track_option" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes_withrgbandscore.bed.gz" ftype="bed" />
+                    </conditional>
+                    <param name="title" value="deletions colormap no labels" />
+                    <param name="height_bed" value="2" />
+                    <conditional name="color_bed">
+                        <param name="color_bed_select" value="colormap" />
+                        <param name="color" value="viridis"/>
+                    </conditional>
+                    <conditional name="display_cond">
+                        <param name="display" value = "deletions"/>
+                        <conditional name="labels">
+                            <param name="plot_labels" value = "false"/>
+                        </conditional>
+                    </conditional>
+                    <param name="spacer_height" value="1" />
+                </conditional>
+            </repeat>
+            <repeat name="tracks">
+                <conditional name="track_file_style_conditional">
+                    <param name="track_file_style_selector" value="gene_track_option" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes_withrgbandscore.bed.gz" ftype="bed" />
+                    </conditional>
+                    <param name="title" value="default deletions" />
+                    <param name="height_bed" value="2" />
+                    <conditional name="display_cond">
+                        <param name="display" value = "deletions"/>
+                    </conditional>
+                </conditional>
+            </repeat>
+            <repeat name="tracks">
+                <conditional name="track_file_style_conditional">
+                    <param name="track_file_style_selector" value="gene_track_option" />
+                    <conditional name="bed_gtf">
+                        <param name="input_bed_or_gtf" value="bed"/>
+                        <param name="track_input_bed" value="dm3_genes_withrgbandscore.bed.gz" ftype="bed" />
+                    </conditional>
+                    <param name="title" value="squares border_color orange line_width 3" />
+                    <param name="height_bed" value="10" />
+                    <conditional name="display_cond">
+                        <param name="display" value="squares"/>
+                        <param name="line_width" value="3"/>
+                        <conditional name="border_color_bed">
+                            <param name="border_color_bed_select" value="manually"/>
+                            <param name="color" value="orange"/>
+                        </conditional>
+                    </conditional>
+                </conditional>
+            </repeat>
+            <param name="image_file_format" value="png" />
+            <output name="outFileName" file="test_bed_invdelsquares.png" ftype="png" compare="image_diff" />
         </test>
     </tests>
     <help><![CDATA[