diff jbrowse.xml @ 16:318a0aa5075a draft

Uploaded manually
author iuc
date Tue, 29 Dec 2015 15:31:54 -0500
parents 947fd3e4fcc8
children d39eaf8f4006
line wrap: on
line diff
--- a/jbrowse.xml	Tue Oct 13 17:24:37 2015 -0400
+++ b/jbrowse.xml	Tue Dec 29 15:31:54 2015 -0500
@@ -6,106 +6,318 @@
   <expand macro="requirements"/>
   <expand macro="stdio"/>
   <version_command>python jbrowse.py --version</version_command>
-  <command interpreter="python"><![CDATA[jbrowse.py
-$positional_1
-$trackYaml
+  <command><![CDATA[
+mkdir -p $output.files_path &&
+## Copy the XML file into the directory, mostly for debugging
+## but nice if users want to reproduce locally
+cp $trackxml $output.files_path/galaxy.xml &&
+
+## Once that's done, we run the python script to handle the real work
+python $__tool_directory__/jbrowse.py
+$trackxml
 
---jbrowse \${JBROWSE_SOURCE_DIR}
---outdir $default.files_path
-> $default]]></command>
+## --jbrowse \${JBROWSE_SOURCE_DIR}
+--jbrowse $__tool_directory__/JBrowse-1.12.0
+#if str($standalone) == "Complete":
+    --standalone
+#end if
+--outdir $output.files_path;
+
+#if str($standalone) == "Complete":
+    cat $output.files_path/index.html > $output;
+#else:
+    cat $dummyIndex > $output;
+#end if
+
+
+## Ugly testing hack since I cannot get <extra_files> to test the files I want to test. Hmph.
+#if str($uglyTestingHack) == "enabled":
+    cp $trackxml $output
+#end if
+]]></command>
   <configfiles>
-      <configfile name="trackYaml">
----
-#for $track in $data_tracks:
-  -
-    file: ${track.data_format.annotation}
-    ext: ${track.data_format.annotation.ext}
-    label: "${track.annotation_label}"
-    category: "${track.category}"
-    options:
-        __unused__: "Not used...just to ensure options has at least one key"
-    #if str($track.data_format.data_format_select) == "wiggle":
-        type: ${track.data_format.xyplot}
-        variance_band: ${track.data_format.var_band}
-      #if str($track.data_format.scaling.scale_select) == "auto_local":
-        autoscale: local
-      #else if str($track.data_format.scaling.scale_select) == "auto_global":
-        autoscale: global
-      #else:
-        min: ${track.data_format.scaling.minimum}
-        max: ${track.data_format.scaling.maximum}
-      #end if
-    #else if str($track.data_format.data_format_select) == "pileup":
-        auto_snp: ${track.data_format.auto_snp}
-        bam_index: ${track.data_format.annotation.metadata.bam_index}
-    #else if str($track.data_format.data_format_select) == "blast":
-        parent: ${track.data_format.blast_parent}
-        protein: ${track.data_format.is_protein}
-        min_gap: ${track.data_format.min_gap}
-        match: true
-    #else if str($track.data_format.data_format_select) == "gene_calls":
-        match: ${track.data_format.match_part}
-    #end if
-#end for
+      <configfile name="dummyIndex">
+      <![CDATA[
+      <html>
+          <head>
+          </head>
+          <body>
+              <h1>JBrowse Data Directory</h1>
+              <p>
+                Hi! This is not a full JBrowse instance. JBrowse v0.4(+?)
+                started shipping with the ability to produce just the
+                "data" directory from a JBrowse instance, rather than a
+                complete, standalone instance. This was intended to be used
+                with the in-development Apollo integration, but may have other
+                uses as well.
+              </p>
+              <p>
+                <u>This is not usable on its own</u>. The output dataset may be
+                used with Apollo, or may be passed through the "JBrowse -
+                Convert to Standalone" tool in Galaxy to "upgrade" to a full
+                JBrowse instance.
+              </p>
+          </body>
+      </html>
+          ]]>
+      </configfile>
+      <configfile name="trackxml"><![CDATA[<?xml version="1.0"?>
+<root>
+    <metadata>
+        <gencode>$gencode</gencode>
+        <genomes>
+            #for $genome in $genomes:
+                <genome>$genome</genome>
+            #end for
+        </genomes>
+    </metadata>
+    <tracks>
+        #for $tg in $track_groups:
+        #for $track in $tg.data_tracks:
+        <track cat="${tg.category}" format="${track.data_format.data_format_select}">
+            <files>
+              #for $dataset in $track.data_format.annotation:
+              <trackFile path="${dataset}" ext="${dataset.ext}" label="${dataset.element_identifier}" />
+              #end for
+            </files>
+
+            <options>
+            #if str($track.data_format.data_format_select) == "gene_calls" or  str($track.data_format.data_format_select) == "blast":
+                <style>
+                    <className>${track.data_format.jbstyle.style_classname}</className>
+                    <description>${track.data_format.jbstyle.style_description}</description>
+                    <label>${track.data_format.jbstyle.style_label}</label>
+                    <height>${track.data_format.jbstyle.style_height}</height>
+                </style>
+                <scaling>
+                  #if str($track.data_format.jbcolor_scale.color_score.color_score_select) == "none":
+                        <method>ignore</method>
+                        <scheme>
+                          #if str($track.data_format.jbcolor_scale.color_score.color.color_select) == "automatic":
+                            <color>__auto__</color>
+                          #else
+                            <color>${track.data_format.jbcolor_scale.color_score.color.style_color}</color>
+                          #end if
+                        </scheme>
+                  #else
+                        <method>score</method>
+                        <algo>${track.data_format.jbcolor_scale.color_score.score_scaling}</algo>
+                        <scales>
+                            <type>${track.data_format.jbcolor_scale.color_score.score_scales.scale_select}</type>
+
+                          #if str($track.data_format.jbcolor_scale.color_score.score_scales.scale_select) == "manual":
+                            <min>${track.data_format.jbcolor_scale.color_score.score_scales.minimum}</min>
+                            <max>${track.data_format.jbcolor_scale.color_score.score_scales.maximum}</max>
+                          #end if
+                        </scales>
+                        <scheme>
+                            <type>${track.data_format.jbcolor_scale.color_score.color_scheme.score_scheme}</type>
+                        ## auto_color
+                        #if str($track.data_format.jbcolor_scale.color_score.color_scheme.score_scheme) == "opacity":
+                          #if str($track.data_format.jbcolor_scale.color_score.color_scheme.color.color_select) == "automatic":
+                            <color>__auto__</color>
+                          #else
+                            <color>${track.data_format.jbcolor_scale.color_score.color_scheme.color.style_color}</color>
+                          #end if
+                        #end if
+                        </scheme>
+                  #end if
+                </scaling>
+            #end if
+
+            #if str($track.data_format.data_format_select) == "wiggle":
+                <wiggle>
+                    <type>${track.data_format.xyplot}</type>
+                    <variance_band>${track.data_format.var_band}</variance_band>
+                  #if str($track.data_format.scaling.scale_select) == "auto_local":
+                    <autoscale>local</autoscale>
+                  #else if str($track.data_format.scaling.scale_select) == "auto_global":
+                    <autoscale>global</autoscale>
+                  #else:
+                    <min>${track.data_format.scaling.minimum}</min>
+                    <max>${track.data_format.scaling.maximum}</max>
+                  #end if
+
+                  ## Wiggle tracks need special color config
+                  #if str($track.data_format.jbcolor.color.color_select) != "automatic":
+                    <color_pos>${track.data_format.jbcolor.color.style_pos_color}</color_pos>
+                    <color_neg>${track.data_format.jbcolor.color.style_neg_color}</color_neg>
+                  #else:
+                    <color_pos>__auto__</color_pos>
+                    <color_neg>__auto__</color_neg>
+                  #end if
+
+                  ## Bicolor pivot config
+                  #if str($track.data_format.jbcolor.bicolor_pivot.bicolor_pivot_select) == "zero":
+                    <bicolor_pivot>zero</bicolor_pivot>
+                  #else if str($track.data_format.jbcolor.bicolor_pivot.bicolor_pivot_select) == "mean":
+                    <bicolor_pivot>mean</bicolor_pivot>
+                  #else:
+                    <bicolor_pivot>${track.data_format.jbcolor.bicolor_pivot.pivot_point}</bicolor_pivot>
+                  #end if
+                </wiggle>
+            #else if str($track.data_format.data_format_select) == "pileup":
+                <pileup>
+                    <auto_snp>${track.data_format.auto_snp}</auto_snp>
+                    <bam_indices>
+                        #for $dataset in $track.data_format.annotation:
+                        <bam_index>${dataset.metadata.bam_index}</bam_index>
+                        #end for
+                    </bam_indices>
+                </pileup>
+            #else if str($track.data_format.data_format_select) == "blast":
+                <blast>
+                  #if str($track.data_format.blast_parent) != "":
+                    <parent>${track.data_format.blast_parent}</parent>
+                  #end if
+                    <protein>${track.data_format.is_protein}</protein>
+                    <min_gap>${track.data_format.min_gap}</min_gap>
+                </blast>
+            #else if str($track.data_format.data_format_select) == "gene_calls":
+                <gff>
+                  #if $track.data_format.match_part.match_part_select:
+                    <match>${track.data_format.match_part.name}</match>
+                  #end if
+                </gff>
+            #end if
+            </options>
+        </track>
+        #end for
+        #end for
+    </tracks>
+</root>
+]]>
       </configfile>
   </configfiles>
   <inputs>
-    <param label="Genome" name="positional_1" type="data" format="fasta"/>
+    <param label="Fasta Sequence(s)"
+           name="genomes"
+           type="data"
+           format="fasta"
+           multiple="True"/>
+    <param name="standalone" label="Produce Standalone Instance" type="boolean" truevalue="Complete" falsevalue="Data Directory" help="Produce a full, working JBrowse instance or just the data directory. Data dir mode is experimental and intended to be used with Apollo" checked="True"/>
+
+    <param label="Genetic Code" name="gencode" type="select">
+      <option value="1">1. The Standard Code</option>
+      <option value="2">2. The Vertebrate Mitochondrial Code</option>
+      <option value="3">3. The Yeast Mitochondrial Code</option>
+      <option value="4">4. The Mold, Protozoan, and Coelenterate Mitochondrial Code and the Mycoplasma/Spiroplasma Code</option>
+      <option value="5">5. The Invertebrate Mitochondrial Code</option>
+      <option value="6">6. The Ciliate, Dasycladacean and Hexamita Nuclear Code</option>
+      <option value="9">9. The Echinoderm and Flatworm Mitochondrial Code</option>
+      <option value="10">10. The Euplotid Nuclear Code</option>
+      <option value="11">11. The Bacterial, Archaeal and Plant Plastid Code</option>
+      <option value="12">12. The Alternative Yeast Nuclear Code</option>
+      <option value="13">13. The Ascidian Mitochondrial Code</option>
+      <option value="14">14. The Alternative Flatworm Mitochondrial Code</option>
+      <option value="16">16. Chlorophycean Mitochondrial Code</option>
+      <option value="21">21. Trematode Mitochondrial Code</option>
+      <option value="22">22. Scenedesmus obliquus Mitochondrial Code</option>
+      <option value="23">23. Thraustochytrium Mitochondrial Code</option>
+      <option value="24">24. Pterobranchia Mitochondrial Code</option>
+      <option value="25">25. Candidate Division SR1 and Gracilibacteria Code</option>
+   </param>
+
+    <repeat name="track_groups" title="Track Group">
+        <param label="Track Category"
+               name="category"
+               type="text"
+               value="Default"
+               help="Organise your tracks into Categories for a nicer end-user experience" optional="False"/>
     <repeat name="data_tracks" title="Annotation Track">
-        <param label="Track Label" name="annotation_label" type="text"/>
-        <param label="Track Category" name="category" type="text" value="Default"
-            help="Organise your tracks into Categories for a nicer end-user experience"/>
         <conditional name="data_format" label="Track Options">
             <param type="select" label="Track Type" name="data_format_select">
-                <option value="gene_calls">GFF/GFF3/BED Featuers</option>
+                <option value="gene_calls">GFF/GFF3/BED/GBK Features</option>
                 <option value="pileup">BAM Pileups</option>
                 <option value="blast">Blast XML</option>
                 <option value="wiggle">BigWig XY</option>
                 <option value="vcf">VCF SNPs</option>
             </param>
             <when value="blast">
-                <param label="BlastXML Track Data" format="blastxml" name="annotation" type="data"/>
+                <expand macro="input_conditional" label="BlastXML Track Data" format="blastxml" />
 
-                <param label="Features used in Blast Search" help="in GFF3. This is required so we know where to map features. E.g. where results of which CDS Protein32 match up to. The query IDs in your blast results should MATCH some feature IDs in your GFF3 file."
-                    format="gff3" name="blast_parent" type="data"/>
+                <param label="Features used in Blast Search"
+                       help="in GFF3. This is used  so we know where to map features. E.g. where results of which CDS Protein32 match up to. The query IDs in your blast results should MATCH some feature IDs in your GFF3 file. This is an optional field and is most useful if using JBrowse to display protein blast results on a DNA genome. blastn results don't need this, blastp results on a protein sequence don't need this."
+                       format="gff3"
+                       name="blast_parent"
+                       optional="true"
+                       type="data"/>
 
-                <param label="Minimum Gap Size" help="before a new match_part feature is created" name="min_gap"
-                    type="integer" value="10" min="2" />
+                <param label="Minimum Gap Size"
+                       help="before a new match_part feature is created"
+                       name="min_gap"
+                       type="integer"
+                       value="10"
+                       min="2" />
                 <param label="Is this a protein blast search?"
-                    type="boolean" name="is_protein" truevalue="true" falsevalue="false" />
+                       type="boolean"
+                       name="is_protein"
+                       truevalue="true"
+                       falsevalue="false" />
+
+                <expand macro="track_styling"
+                        classname="feature"
+                        label="description"
+                        description="Hit_titles"
+                        height="600px"/>
+                <expand macro="color_selection"
+                        token_scaling_lin_select="false"
+                        token_scaling_log_select="true" />
             </when>
             <when value="vcf">
-                <param label="SNPs" help="in VCF"
-                    format="vcf" name="annotation" type="data"/>
+                <expand macro="input_conditional" label="SNP Track Data" format="vcf" />
             </when>
             <when value="gene_calls">
-                <param label="Track Data" help="in GFF, GFF3, BED"
-                    format="gff,gff3,bed" name="annotation" type="data"/>
-
-                <param label="This is match/match_part data"
-                    type="boolean" name="match_part" truevalue="true" falsevalue="false" />
+                <expand macro="input_conditional" label="GFF/GFF3/BED Track Data" format="gff,gff3,bed" />
+                <conditional name="match_part" label="match/match_part data">
+                    <param label="This is match/match_part data"
+                           type="boolean"
+                           name="match_part_select"
+                           truevalue="true"
+                           falsevalue="false" />
+                    <when value="true">
+                        <param label="Match Part Feature Type"
+                               name="name"
+                               type="text"
+                               value="match"
+                               help="Match_parts have several options for the parent feature type, such as cDNA_match, match, translated_nucleotide_match, etc. Please select the appropriate one here"
+                               optional="False"/>
+                    </when>
+                    <when value="false" />
+                </conditional>
+                <expand macro="track_styling" />
+                <expand macro="color_selection" />
             </when>
             <when value="pileup">
-                <param label="Track Data" help="in BAM"
-                    format="bam" name="annotation" type="data"/>
-                <param label="Autogenerate SNP Track" help="Not recommended for deep coverage BAM files"
-                    type="boolean" name="auto_snp" truevalue="true" falsevalue="false" />
+                <expand macro="input_conditional" label="BAM Track Data" format="bam" />
+                <param label="Autogenerate SNP Track"
+                       help="Not recommended for deep coverage BAM files"
+                       type="boolean"
+                       name="auto_snp"
+                       truevalue="true"
+                       falsevalue="false" />
             </when>
             <when value="wiggle">
-                <param label="Track Data" help="in BigWig"
-                    format="bigwig" name="annotation" type="data"/>
-                <param label="Use XYPlot" help="instead of continuous coloured band"
-                    type="boolean" name="xyplot" truevalue="JBrowse/View/Track/Wiggle/XYPlot"
-                    falsevalue="JBrowse/View/Track/Wiggle/Density" />
-                <param label="Show variance band" help="Only for XYPlots"
-                    type="boolean" name="var_band" truevalue="true"
-                    falsevalue="false" />
+                <expand macro="input_conditional" label="BigWig Track Data" format="bigwig" />
+
+                <param label="Use XYPlot"
+                       help="instead of continuous colored band"
+                       type="boolean"
+                       name="xyplot"
+                       truevalue="JBrowse/View/Track/Wiggle/XYPlot"
+                       falsevalue="JBrowse/View/Track/Wiggle/Density" />
+                <param label="Show variance band"
+                       help="Only for XYPlots"
+                       type="boolean"
+                       name="var_band"
+                       truevalue="true"
+                       falsevalue="false" />
 
                 <conditional name="scaling" label="Scaling">
                     <param type="select" label="Track Scaling" name="scale_select">
                         <option value="auto_local">Autoscale (local)</option>
-                        <option value="auto_global">Autoscale (global)</option>
-                        <option vlue="fixed">Specify Min/Max</option>
+                        <option value="auto_global" selected="true">Autoscale (global)</option>
+                        <option value="fixed">Specify Min/Max</option>
                     </param>
                     <when value="auto_local"></when>
                     <when value="auto_global"></when>
@@ -116,18 +328,117 @@
                             type="integer" value="100" />
                     </when>
                 </conditional>
+                <expand macro="color_selection_minmax" />
             </when>
         </conditional>
     </repeat>
+    </repeat>
+
+    <param type="hidden" name="uglyTestingHack" value="" />
   </inputs>
   <outputs>
-    <data format="html" name="default" label="JBrowse on $positional_1.name"/>
+      <data format="html" name="output" label="JBrowse on $on_string - $standalone"/>
   </outputs>
   <help><![CDATA[
-Deploy a static JBrowse visualization of a genome and some associated datasets
+Build a static JBrowse visualization of a genome and some associated datasets.
 
 @ATTRIBUTION@
 ]]></help>
+  <tests>
+    <test>
+      <!-- gencode -->
+      <param name="genomes" value="merlin.fa"/>
+      <param name="gencode" value="1" />
+      <param name="standalone" value="Data Directory" />
+      <param name="uglyTestingHack" value="enabled" />
+      <output name="output" file="gencode/test-1.xml" lines_diff="4" />
+    </test>
+    <test>
+      <param name="genomes" value="merlin.fa"/>
+      <param name="gencode" value="11" />
+      <param name="standalone" value="Data Directory" />
+      <param name="uglyTestingHack" value="enabled" />
+      <output name="output" file="gencode/test.xml" lines_diff="4"/>
+    </test>
+    <!--
+    <test>
+      <param name="genomes" value="merlin.fa"/>
+      <param name="gencode" value="11" />
+      <param name="standalone" value="Data Directory" />
+      <param name="track_groups_0|category" value="Auto Coloured" />
+      <param name="track_groups_0|data_tracks_0|data_format" value="gene_calls"/>
+      <param name="track_groups_0|data_tracks_0|annotation" value="gff3/A.gff,gff3/B.gff,gff3/C.gff,gff3/D.gff"/>
+      <param name="track_groups_0|data_tracks_0|match_part|match_part_select" value="false"/>
+      <param name="track_groups_0|data_tracks_0|jbcolor_scale|color_score|color_score_select" value="none"/>
+      <param name="track_groups_0|data_tracks_0|jbcolor_scale|color|color_select" value="automatic"/>
+
+
+      <param name="track_groups_1|category" value="Ignore Scale" />
+      <param name="track_groups_1|data_tracks_0|data_format" value="gene_calls"/>
+      <param name="track_groups_1|data_tracks_0|annotation" value="gff3/1.gff"/>
+      <param name="track_groups_1|data_tracks_0|match_part|match_part_select" value="false"/>
+      <param name="track_groups_1|data_tracks_0|jbcolor_scale|color_score|color_score_select" value="none"/>
+      <param name="track_groups_1|data_tracks_0|jbcolor_scale|color_score|color|color_select" value="manual"/>
+      <param name="track_groups_1|data_tracks_0|jbcolor_scale|color_score|color|style_color" value="#ff00ff"/>
+
+      <param name="track_groups_2|category" value="Scaled Colour" />
+      <param name="track_groups_2|data_tracks_0|data_format" value="gene_calls"/>
+      <param name="track_groups_2|data_tracks_0|annotation" value="gff3/1.gff"/>
+      <param name="track_groups_2|data_tracks_0|match_part|match_part_select" value="false"/>
+      <param name="track_groups_2|data_tracks_0|jbcolor_scale|color_score|color_score_select" value="score"/>
+      <param name="track_groups_2|data_tracks_0|jbcolor_scale|color_score|score_scaling" value="linear"/>
+      <param name="track_groups_2|data_tracks_0|jbcolor_scale|color_score|score_scales|scale_select" value="automatic"/>
+      <param name="track_groups_2|data_tracks_0|jbcolor_scale|color_score|color_scheme|score_scheme" value="opacity"/>
+      <param name="track_groups_2|data_tracks_0|jbcolor_scale|color_score|color_scheme|color_select" value="automatic"/>
+      <param name="track_groups_2|data_tracks_1|data_format" value="gene_calls"/>
+      <param name="track_groups_2|data_tracks_1|annotation" value="gff3/1.gff"/>
+      <param name="track_groups_2|data_tracks_1|match_part|match_part_select" value="false"/>
+      <param name="track_groups_2|data_tracks_1|jbcolor_scale|color_score|color_score_select" value="score"/>
+      <param name="track_groups_2|data_tracks_1|jbcolor_scale|color_score|score_scaling" value="linear"/>
+      <param name="track_groups_2|data_tracks_1|jbcolor_scale|color_score|score_scales|scale_select" value="automatic"/>
+      <param name="track_groups_2|data_tracks_1|jbcolor_scale|color_score|color_scheme|score_scheme" value="opacity"/>
+      <param name="track_groups_2|data_tracks_1|jbcolor_scale|color_score|color_scheme|color_select" value="manual"/>
+      <param name="track_groups_2|data_tracks_1|jbcolor_scale|color_score|color_scheme|style_color" value="#0000ff"/>
+      <param name="track_groups_2|data_tracks_2|data_format" value="gene_calls"/>
+      <param name="track_groups_2|data_tracks_2|annotation" value="gff3/1.gff"/>
+      <param name="track_groups_2|data_tracks_2|match_part|match_part_select" value="false"/>
+      <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|color_score_select" value="score"/>
+      <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|score_scaling" value="linear"/>
+      <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|score_scales|scale_select" value="automatic"/>
+      <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|score_scales|minimum" value="0"/>
+      <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|score_scales|maximum" value="1000"/>
+      <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|color_scheme|score_scheme" value="opacity"/>
+      <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|color_scheme|color_select" value="automatic"/>
+      <param name="track_groups_2|data_tracks_3|data_format" value="gene_calls"/>
+      <param name="track_groups_2|data_tracks_3|annotation" value="gff3/1.gff"/>
+      <param name="track_groups_2|data_tracks_3|match_part|match_part_select" value="false"/>
+      <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|color_score_select" value="score"/>
+      <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|score_scaling" value="linear"/>
+      <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|score_scales|scale_select" value="automatic"/>
+      <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|score_scales|minimum" value="0"/>
+      <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|score_scales|maximum" value="1000"/>
+      <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|color_scheme|score_scheme" value="opacity"/>
+      <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|color_scheme|color_select" value="manual"/>
+      <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|color_scheme|style_color" value="#ff0000"/>
+
+      <param name="track_groups_3|category" value="Realistic" />
+      <param name="track_groups_3|data_tracks_0|data_format" value="gene_calls"/>
+      <param name="track_groups_3|data_tracks_0|annotation" value="gff3/interpro.gff"/>
+      <param name="track_groups_3|data_tracks_0|match_part|match_part_select" value="false"/>
+      <param name="track_groups_3|data_tracks_0|jbcolor_scale|color_score|color_score_select" value="none"/>
+      <param name="track_groups_3|data_tracks_0|jbcolor_scale|color|color_select" value="automatic"/>
+      <param name="track_groups_3|data_tracks_1|data_format" value="gene_calls"/>
+      <param name="track_groups_3|data_tracks_1|annotation" value="gff3/2.gff"/>
+      <param name="track_groups_3|data_tracks_1|match_part|match_part_select" value="true"/>
+      <param name="track_groups_3|data_tracks_1|match_part|name" value="cDNA_match"/>
+      <param name="track_groups_3|data_tracks_1|jbcolor_scale|color_score|color_score_select" value="none"/>
+      <param name="track_groups_3|data_tracks_1|jbcolor_scale|color|color_select" value="automatic"/>
+
+      <param name="uglyTestingHack" value="enabled" />
+      <output name="output" file="gff3/test.xml" />
+    </test>
+    -->
+  </tests>
   <citations>
     <citation type="doi">10.1101/gr.094607.109</citation>
   </citations>