diff jbrowse2.xml @ 93:4c517a0041a8 draft

planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit aeef2fbc0f90a9366851941ff51baeba410c56e4
author fubar
date Wed, 24 Apr 2024 02:29:32 +0000
parents 3c4db8203fad
children 74074746ccd8
line wrap: on
line diff
--- a/jbrowse2.xml	Sun Apr 21 04:42:29 2024 +0000
+++ b/jbrowse2.xml	Wed Apr 24 02:29:32 2024 +0000
@@ -1,13 +1,13 @@
- <tool id="jbrowse2" name="JBrowse2" version="@TOOL_VERSION@+@WRAPPER_VERSION@_15" profile="22.05">
+<tool id="jbrowse2" name="JBrowse2" version="@TOOL_VERSION@+@WRAPPER_VERSION@_17" profile="22.05">
     <description>genome browser</description>
     <macros>
         <import>macros.xml</import>
     </macros>
-    <expand macro="edamInc"/>
+    <expand macro="edamInc" />
     <xrefs>
         <xref type="bio.tools">jbrowse2</xref>
     </xrefs>
-    <expand macro="requirements"/>
+    <expand macro="requirements" />
     <version_command>python '${__tool_directory__}/jbrowse2.py' --version</version_command>
     <command detect_errors="aggressive"><![CDATA[
 mkdir -p '$output.files_path' &&
@@ -60,7 +60,7 @@
     #end if
 #end if
   ]]></command>
-<configfiles>
+    <configfiles>
         <configfile name="trackxml"><![CDATA[<?xml version="1.0"?>
 <root>
     <metadata>
@@ -232,7 +232,7 @@
                             <bam>
                             <bam_index>
                                 #for $dataset in $track.data_format.useuri.annotation:
-                                    ${dataset}:${dataset.metadata.bam_index},
+                                    ${dataset} ~ ${dataset.metadata.bam_index},
                                 #end for
                             </bam_index>
                             </bam>
@@ -240,7 +240,7 @@
                             <cram>
                             <cram_index>
                                 #for $dataset in $track.data_format.useuri.annotation:
-                                    ${dataset}:${dataset.metadata.cram_index},
+                                    ${dataset} ~ ${dataset.metadata.cram_index},
                                 #end for
                             </cram_index>
                             </cram>
@@ -260,18 +260,24 @@
                             </gff>
                         #else if str($track.data_format.data_format_select) == "paf":
                             <paf>
-                                #if $track.data_format.pafuseuri.insource == "history":
+                                #if str($track.data_format.pafuseuri.insource) == "history":
                                 <genome>
                                     #for $anno in $track.data_format.pafuseuri.annotation:
-                                        ${anno}:${anno.name},
+                                        ${anno} ~ ${anno.name},
                                     #end for
                                 </genome>
+                                <useuri>
+                                    false
+                                </useuri>
                                 #else:
                                 <genome>
                                     #for $refgenome in $track.data_format.pafuseuri.refuri:
-                                        ${refgenome.annotation}:${refgenome.annoname},
+                                        ${refgenome.annotation} ~ ${refgenome.annoname},
                                     #end for
                                 </genome>
+                                <useuri>
+                                    true
+                                </useuri>
                                 #end if
                             </paf>
                         #else if str($track.data_format.data_format_select) == "hic":
@@ -304,165 +310,186 @@
 ]]></configfile>
     </configfiles>
     <inputs>
-        <repeat name="assemblies" min="1" title="Genome reference to provide display coordinates for this set of tracks"
-           help="JBrowse2 can show a set of tracks for each of multiple genome reference fasta files">
-        <conditional name="reference_genome">
-            <param help="Select a built in, history or remote tabix URI for the reference track"
-                 label="Reference genome source" name="genome_type_select" type="select">
-                <option selected="True" value="indexed">Use a Galaxy server built-in genome</option>
-                <option value="history">Use a genome fasta file from the current history</option>
-                <option value="uri">Provide a URI (e.g. "https://..." for a genome reference as tabix bgzip with predictable index file URI</option>
-            </param>
-            <when value="indexed">
-                <param
-                    help="If not listed, add a custom genome, use a history genome or a remote URI tabix genome"
-                    label="Select a built in reference genome or custom genome"
-                    name="genome"
-                    type="select"
-                    optional="true">
-                    <options from_data_table="all_fasta">
-                        <filter column="2" type="sort_by"/>
-                        <validator message="No genomes are available for the selected input dataset" type="no_options">
-                            </validator>
-                    </options>
-                </param>
-            </when>
-            <when value="history">
-                <param
-                    format="fasta"
-                    label="Select the reference genome"
-                    name="genome"
-                    type="data"
-                    optional="true">
+        <repeat name="assemblies" min="1"
+            title="Genome reference to provide display coordinates for this set of tracks"
+            help="JBrowse2 can show a set of tracks for each of multiple genome reference fasta files">
+            <conditional name="reference_genome">
+                <param help="Select a built in, history or remote tabix URI for the reference track"
+                    label="Reference genome source" name="genome_type_select" type="select">
+                    <option selected="True" value="indexed">Use a Galaxy server built-in genome</option>
+                    <option value="history">Use a genome fasta file from the current history</option>
+                    <option value="uri">Provide a URI (e.g. "https://..." for a genome reference as
+                        tabix bgzip with predictable index file URI</option>
                 </param>
-            </when>
-            <when value="uri">
-                <param
-                    label="URI pointing to tabix compressed fasta"
-                    name="uri"
-                    type="text">
-                </param>
-                <param
-                    label="Reference dbkey for tracks with this genome, such as hg38 or SacCer4"
-                    name="refname"
-                    type="text">
-                </param>
-            </when>
-        </conditional>
+                <when value="indexed">
+                    <param
+                        help="If not listed, add a custom genome, use a history genome or a remote URI tabix genome"
+                        label="Select a built in reference genome or custom genome"
+                        name="genome"
+                        type="select"
+                        optional="true">
+                        <options from_data_table="all_fasta">
+                            <filter column="2" type="sort_by" />
+                            <validator
+                                message="No genomes are available for the selected input dataset"
+                                type="no_options">
+                            </validator>
+                        </options>
+                    </param>
+                </when>
+                <when value="history">
+                    <param
+                        format="fasta"
+                        label="Select the reference genome"
+                        name="genome"
+                        type="data"
+                        optional="true">
+                    </param>
+                </when>
+                <when value="uri">
+                    <param
+                        label="URI pointing to tabix compressed fasta"
+                        name="uri"
+                        type="text">
+                    </param>
+                    <param
+                        label="Reference dbkey for tracks with this genome, such as hg38 or SacCer4"
+                        name="refname"
+                        type="text">
+                    </param>
+                </when>
+            </conditional>
 
-        <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. You can use #date# and it will be replaced with the current date in 'yyyy-mm-dd' format,
-                which is very useful for repeatedly updating a JBrowse instance when member databases / underlying tool versions are updated." optional="False"/>
-            <repeat name="data_tracks" title="Annotation Track">
-                <conditional name="data_format" label="Track Data Selection Options">
-                    <param type="select" label="Track Type" name="data_format_select">
-                        <option value="bam">BAM track. Recommend convert to faster BED unless mapping annotation needed</option>
-                        <option value="bed">BED track</option>
-                        <option value="bigwig">BigWig track</option>
-                        <option value="blastxml">Blast XML track (as GFF3)</option>
-                        <option value="cram">CRAM track. Currently not advantageous over BAM in Galaxy. Convert to BED like BAM.</option>
-                        <option value="gff">GFF/GFF3 track</option>
-                        <option value="cool">HiC as cool/mcool/scool format files</option>
-                        <option value="hic">HiC as juicebox_hic format file. Tabular hic_matrix will NOT work.</option>
-                        <option value="maf">Multiple alignment format. Reference name must match the MAF name exactly to work correctly</option>
-                        <option value="paf">PAF - approximate mapping positions between two set of sequences</option>
-                       <option value="vcf">VCF SNP track</option>
-                    </param>
-                    <when value="blastxml">
-                        <expand macro="input_conditional" label="BlastXML Track Data" format="blastxml" />
-                        <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
+            <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. You can use #date# and it will be replaced with the current date in 'yyyy-mm-dd' format,
+                which is very useful for repeatedly updating a JBrowse instance when member databases / underlying tool versions are updated."
+                    optional="False" />
+                <repeat name="data_tracks" title="Annotation Track">
+                    <conditional name="data_format" label="Track Data Selection Options">
+                        <param type="select" label="Track Type" name="data_format_select">
+                            <option value="bam">BAM track. Recommend convert to faster BED unless
+                                mapping annotation needed</option>
+                            <option value="bed">BED track</option>
+                            <option value="bigwig">BigWig track</option>
+                            <option value="blastxml">Blast XML track (as GFF3)</option>
+                            <option value="cram">CRAM track. Currently not advantageous over BAM in
+                                Galaxy. Convert to BED like BAM.</option>
+                            <option value="gff">GFF/GFF3 track</option>
+                            <option value="cool">HiC as cool/mcool/scool format files</option>
+                            <option value="hic">HiC as juicebox_hic format file. Tabular hic_matrix
+                                will NOT work.</option>
+                            <option value="maf">Multiple alignment format. Reference name must match
+                                the MAF name exactly to work correctly</option>
+                            <option value="paf">PAF - approximate mapping positions between two set
+                                of sequences</option>
+                            <option value="vcf">VCF SNP track</option>
+                        </param>
+                        <when value="blastxml">
+                            <expand macro="input_conditional" label="BlastXML Track Data"
+                                format="blastxml" />
+                            <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="Is this a protein blast search?"
-                            type="boolean"
-                            name="is_protein"
-                            truevalue="true"
-                            falsevalue="false" />
-                        <expand macro="track_styling_vgp" />
-                        <expand macro="track_visibility" />
-                    </when>
-                    <when value="vcf">
-                        <expand macro="input_conditional" label="SNP Track Data" format="vcf,vcf_bgzip" />
-                        <expand macro="track_styling_vcf"/>
-                        <expand macro="track_visibility" />
-                    </when>
-                    <when value="gff">
-                        <expand macro="input_conditional" label="GFF/GFF3 Track Data" format="gff,gff3" />
-                        <conditional name="match_part" label="match/match_part data">
-                        <param help="Match part data selection " label="This is match/match_part data" name="match_part_select" type="select">
-                            <option selected="True" value="false">Not match/match part data</option>
-                            <option value="true">Match/match part data</option>
-                        </param>
-                            <when value="true">
-                                <param label="Match Part Feature Type"
-                                    name="name"
-                                    type="text"
-                                    value="match"
-                                    help="Match_parts have options for the parent feature type, such as cDNA_match, match, translated_nucleotide_match, etc.
+                                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="Is this a protein blast search?"
+                                type="boolean"
+                                name="is_protein"
+                                truevalue="true"
+                                falsevalue="false" />
+                            <expand macro="track_styling_vgp" />
+                            <expand macro="track_visibility" />
+                        </when>
+                        <when value="vcf">
+                            <expand macro="input_conditional" label="SNP Track Data"
+                                format="vcf,vcf_bgzip" />
+                            <expand macro="track_styling_vcf" />
+                            <expand macro="track_visibility" />
+                        </when>
+                        <when value="gff">
+                            <expand macro="input_conditional" label="GFF/GFF3 Track Data"
+                                format="gff,gff3" />
+                            <conditional name="match_part" label="match/match_part data">
+                                <param help="Match part data selection "
+                                    label="This is match/match_part data" name="match_part_select"
+                                    type="select">
+                                    <option selected="True" value="false">Not match/match part data</option>
+                                    <option value="true">Match/match part data</option>
+                                </param>
+                                <when value="true">
+                                    <param label="Match Part Feature Type"
+                                        name="name"
+                                        type="text"
+                                        value="match"
+                                        help="Match_parts have options for the parent feature type, such as cDNA_match, match, translated_nucleotide_match, etc.
                                     Please select the appropriate one here. You can leave empty to try autodetection (only works with CanvasFeatures track type)."
-                                    optional="True"/>
-                            </when>
-                            <when value="false" />
-                        </conditional>
-                        <expand macro="track_styling_vgp" />
-                        <expand macro="track_visibility" />
-                    </when>
-                    <when value="bam">
-                        <expand macro="input_conditional" label="BAM Track Data" format="bam" />
-                        <expand macro="track_visibility" />
-                    </when>
-                    <when value="bed">
-                        <expand macro="input_conditional" label="BED Track Data" format="bed" />
-                        <expand macro="track_styling_vgp" />
-                        <expand macro="track_visibility" />
-                    </when>
-                    <when value="cram">
-                        <expand macro="input_conditional" label="CRAM Track Data" format="cram" />
-                        <expand macro="track_visibility" />
-                    </when>
-                    <when value="maf">
-                        <expand macro="input_conditional" label="MAF Track Data" format="maf" />
-                        <expand macro="track_styling_vgp" />
-                        <expand macro="track_visibility" />
-                    </when>
-                    <when value="bigwig">
-                        <expand macro="input_conditional" label="BigWig Track Data" format="bigwig" />
-                        <expand macro="track_visibility" />
-                    </when>
-                    <when value="paf">
-                        <expand macro="input_conditional" label="PAF format synteny mapping data" format="paf"
-                             help="PAF made with mashmap or minimap2 mapping the real reference as a query on the comparison genomes as references"/>
-                        <expand macro="pafref_conditional"  label="Comparison genome sequence(s)"
-                            format="fasta" help="Paf from these as the reference(s), using the common reference as the reads to map"/>
-                        <expand macro="track_visibility" />
-                    </when>
-                    <when value="hic">
-                        <expand macro="input_conditional" label="Binary Juicebox HiC data" format="hic,juicebox_hic" />
-                        <expand macro="track_visibility" />
-                    </when>
-                    <when value="cool">
-                        <expand macro="input_conditional" label="HiC data in cool/mcool/scool format" format="cool,mcool,scool" />
-                        <expand macro="track_visibility" />
-                    </when>
-                </conditional>
+                                        optional="True" />
+                                </when>
+                                <when value="false" />
+                            </conditional>
+                            <expand macro="track_styling_vgp" />
+                            <expand macro="track_visibility" />
+                        </when>
+                        <when value="bam">
+                            <expand macro="input_conditional" label="BAM Track Data" format="bam" />
+                            <expand macro="track_visibility" />
+                        </when>
+                        <when value="bed">
+                            <expand macro="input_conditional" label="BED Track Data" format="bed" />
+                            <expand macro="track_styling_vgp" />
+                            <expand macro="track_visibility" />
+                        </when>
+                        <when value="cram">
+                            <expand macro="input_conditional" label="CRAM Track Data" format="cram" />
+                            <expand macro="track_visibility" />
+                        </when>
+                        <when value="maf">
+                            <expand macro="input_conditional" label="MAF Track Data" format="maf" />
+                            <expand macro="track_styling_vgp" />
+                            <expand macro="track_visibility" />
+                        </when>
+                        <when value="bigwig">
+                            <expand macro="input_conditional" label="BigWig Track Data"
+                                format="bigwig" />
+                            <expand macro="track_visibility" />
+                        </when>
+                        <when value="paf">
+                            <expand macro="input_conditional"
+                                label="PAF format synteny mapping data" format="paf"
+                                help="PAF made with mashmap or minimap2 mapping the real reference as a query on the comparison genomes as references" />
+                            <expand macro="pafref_conditional" label="Comparison genome sequence(s)"
+                                format="fasta"
+                                help="Paf from these as the reference(s), using the common reference as the reads to map" />
+                            <expand macro="track_visibility" />
+                        </when>
+                        <when value="hic">
+                            <expand macro="input_conditional" label="Binary Juicebox HiC data"
+                                format="hic,juicebox_hic" />
+                            <expand macro="track_visibility" />
+                        </when>
+                        <when value="cool">
+                            <expand macro="input_conditional"
+                                label="HiC data in cool/mcool/scool format"
+                                format="cool,mcool,scool" />
+                            <expand macro="track_visibility" />
+                        </when>
+                    </conditional>
+                </repeat>
             </repeat>
         </repeat>
-        </repeat>
         <expand macro="general_options" />
         <param type="hidden" name="uglyTestingHack" value="" />
     </inputs>
@@ -474,93 +501,102 @@
         </data>
     </outputs>
     <tests>
-         <test>
+        <test>
             <repeat name="assemblies">
                 <conditional name="reference_genome">
-                    <param name="genome_type_select" value="history"/>
-                    <param name="genome" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/Merlin" />
-                    <param name="genome.ext" value="fasta"/>
+                    <param name="genome_type_select" value="history" />
+                    <param name="genome"
+                        location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/Merlin" />
+                    <param name="genome.ext" value="fasta" />
                 </conditional>
                 <repeat name="track_groups">
-                    <param name="category" value="Assembly properties"/>
+                    <param name="category" value="Assembly properties" />
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="gff"/>
+                            <param name="data_format_select" value="gff" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlin.gff3"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlin.gff3" />
                             </conditional>
                         </conditional>
                     </repeat>
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="bigwig"/>
+                            <param name="data_format_select" value="bigwig" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlin.bw"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlin.bw" />
                             </conditional>
                         </conditional>
                     </repeat>
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="bed"/>
+                            <param name="data_format_select" value="bed" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/test-6.bed"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/test-6.bed" />
                             </conditional>
                         </conditional>
                     </repeat>
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="vcf"/>
+                            <param name="data_format_select" value="vcf" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlin.vcf"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlin.vcf" />
                             </conditional>
                         </conditional>
                     </repeat>
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="cram"/>
+                            <param name="data_format_select" value="cram" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlin.cram"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlin.cram" />
                             </conditional>
                         </conditional>
                     </repeat>
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="bam"/>
+                            <param name="data_format_select" value="bam" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlin-sample.bam"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlin-sample.bam" />
                             </conditional>
                         </conditional>
                     </repeat>
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="maf"/>
+                            <param name="data_format_select" value="maf" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlinlastz.maf"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlinlastz.maf" />
                             </conditional>
                         </conditional>
                     </repeat>
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="blastxml"/>
+                            <param name="data_format_select" value="blastxml" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlin.blastxml"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/merlin.blastxml" />
                             </conditional>
                         </conditional>
                     </repeat>
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="bam"/>
+                            <param name="data_format_select" value="bam" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" value=""/>
+                                <param name="insource" value="history" />
+                                <param name="annotation" value="" />
                             </conditional>
                         </conditional>
                     </repeat>
@@ -568,18 +604,20 @@
             </repeat>
             <repeat name="assemblies">
                 <conditional name="reference_genome">
-                    <param name="genome_type_select" value="history"/>
-                    <param name="genome" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/dm3.fa" />
-                    <param name="genome.ext" value="fasta"/>
+                    <param name="genome_type_select" value="history" />
+                    <param name="genome"
+                        location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/dm3.fa" />
+                    <param name="genome.ext" value="fasta" />
                 </conditional>
                 <repeat name="track_groups">
-                    <param name="category" value="Assembly properties"/>
+                    <param name="category" value="Assembly properties" />
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="cool"/>
+                            <param name="data_format_select" value="cool" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/dm3test.cool"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/dm3test.cool" />
                             </conditional>
                         </conditional>
                     </repeat>
@@ -587,47 +625,65 @@
             </repeat>
             <repeat name="assemblies">
                 <conditional name="reference_genome">
-                    <param name="genome_type_select" value="history"/>
-                    <param name="genome" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/Ppersica1.fa" />
-                    <param name="genome.ext" value="fasta"/>
+                    <param name="genome_type_select" value="history" />
+                    <param name="genome"
+                        location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/Ppersica1.fa" />
+                    <param name="genome.ext" value="fasta" />
                 </conditional>
                 <repeat name="track_groups">
-                    <param name="category" value="Assembly properties"/>
+                    <param name="category" value="Assembly properties" />
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="paf"/>
+                            <param name="data_format_select" value="paf" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/peach-grape-map.paf"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/peach-grape-map.paf" />
                             </conditional>
-                        </conditional>
-
-                        <conditional name="pafsuseuri">
-                            <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/Vvinifera1.fa"/>
+                            <conditional name="pafuseuri">
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/Vvinifera1.fa" />
                             </conditional>
                         </conditional>
                     </repeat>
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="paf"/>
+                            <param name="data_format_select" value="paf" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/arabgrapepeach.paf"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/arabgrapepeach.paf" />
+                            </conditional>
+                            <conditional name="pafuseuri">
+                                <param name="insource" value="uri" />
+                                <repeat name="refuri">
+                                    <param name="annotation"
+                                        value="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/arabidopsis.fa.gz" />
+                                    <param name="annoname" value="arabidopsis.URI" />
+                                </repeat>
+                                <repeat name="refuri">
+                                    <param name="annotation"
+                                        value="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/Vvinifera1.fa.gz" />
+                                    <param name="annoname" value="Vvinifera1.URI" />
+                                </repeat>
                             </conditional>
                         </conditional>
-
-                        <conditional name="pafsuseuri">
+                    </repeat>
+                    <repeat name="data_tracks">
+                        <conditional name="data_format">
+                            <param name="data_format_select" value="paf" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/arabidopsis.fa"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/arabgrapepeach.paf" />
                             </conditional>
-                        </conditional>
-                        <conditional name="pafsuseuri">
-                            <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/Vvinifera1.fa"/>
+                            <conditional name="pafuseuri">
+                                <param name="insource" value="history" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/arabidopsis.fa" />
+                                <param name="annotation"
+                                    location="https://galaxy.genomicsvl-students.cloud.edu.au/jbrowse/merlin/Vvinifera1.fa" />
                             </conditional>
                         </conditional>
                     </repeat>
@@ -635,19 +691,21 @@
             </repeat>
             <repeat name="assemblies">
                 <conditional name="reference_genome">
-                    <param name="genome_type_select" value="uri"/>
-                    <param name="uri" value="https://s3.amazonaws.com/jbrowse.org/genomes/GRCh38/fasta/GRCh38.fa.gz" />
-                    <param name="refname" value="hg38"/>
+                    <param name="genome_type_select" value="uri" />
+                    <param name="uri"
+                        value="https://s3.amazonaws.com/jbrowse.org/genomes/GRCh38/fasta/GRCh38.fa.gz" />
+                    <param name="refname" value="hg38" />
                 </conditional>
                 <repeat name="track_groups">
-                    <param name="category" value="Assembly properties"/>
+                    <param name="category" value="Assembly properties" />
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="hic"/>
+                            <param name="data_format_select" value="hic" />
                             <conditional name="useuri">
-                                <param name="insource" value="uri"/>
-                                <param name="annouri" value="https://s3.amazonaws.com/igv.broadinstitute.org/data/hic/intra_nofrag_30.hic"/>
-                                <param name="annoname" value="humanhic"/>
+                                <param name="insource" value="uri" />
+                                <param name="annouri"
+                                    value="https://s3.amazonaws.com/igv.broadinstitute.org/data/hic/intra_nofrag_30.hic" />
+                                <param name="annoname" value="humanhic" />
                             </conditional>
                         </conditional>
                     </repeat>
@@ -655,64 +713,115 @@
             </repeat>
             <section name="jbgen">
                 <param name="zipOut" value="true" />
-                <param name="session_name" value="New test session"/>
+                <param name="session_name" value="New test session" />
             </section>
             <output name="output" file="jbrowse2_result02.zip" ftype="zip" compare="sim_size">
                 <assert_contents>
-                    <has_archive_member path=".*" n="616" delta="10"/>
-                    <has_archive_member path="index.html"/>
-                    <has_archive_member path="static/media/roboto-latin-400-normal.3f2b9a42f643e62a49b7.woff"/>
+                    <has_archive_member path=".*" n="637" delta="10" />
+                    <has_archive_member path="index.html" />
+                    <has_archive_member
+                        path="static/media/roboto-latin-400-normal.3f2b9a42f643e62a49b7.woff" />
                     <has_archive_member path="manifest.json">
-                        <has_text text="favicon.ico"/>
-                        <has_text text="background_color"/>
+                        <has_text text="favicon.ico" />
+                        <has_text text="background_color" />
                     </has_archive_member>
                     <has_archive_member path="galaxy.xml">
                         <is_valid_xml />
                         <xml_element path="./metadata/general/session_name" n="1">
-                            <has_text_matching expression="New test session"/>
-                            <not_has_text text="Newton"/>
+                            <has_text_matching expression="New test session" />
+                            <not_has_text text="Newton" />
                         </xml_element>
                     </has_archive_member>
-                    <has_archive_member path="merlin.gff3_0.gz"/>
-                    <has_archive_member path="merlin.bw_1"/>
-                    <has_archive_member path="test-6.bed_2.gz"/>
-                    <has_archive_member path="merlin.vcf_3.tbi"/>
-                    <has_archive_member path="merlin.cram_4"/>
-                    <has_archive_member path="merlin-sample.bam_5"/>
-                    <has_archive_member path="merlinlastz.maf_6.sorted.bed.gz.tbi"/>
-                    <has_archive_member path="merlin.blastxml_7.gz"/>
-                    <has_archive_member path="dm3test.cool_9.hic"/>
-                    <has_archive_member path="peach-grape-map.paf_10"/>
-                    <has_archive_member path="arabgrapepeach.paf_11"/>
-                    <has_archive_member path="Merlin.fa.gz.fai"/>
-                    <has_archive_member path="dm3.fa.fa.gz.fai"/>
-                    <has_archive_member path="Ppersica1.fa.fa.gz.fai"/>
+                    <has_archive_member path="merlin.gff3_0.gz" />
+                    <has_archive_member path="merlin.gff3_0.gz.tbi" />
+                    <has_archive_member path="merlin.bw_1" />
+                    <has_archive_member path="test-6.bed_2.gz" />
+                    <has_archive_member path="merlin.vcf_3" />
+                    <has_archive_member path="merlin.vcf_3.tbi" />
+                    <has_archive_member path="merlin.cram_4" />
+                    <has_archive_member path="merlin.cram_4.crai" />
+                    <has_archive_member path="merlin-sample.bam_5" />
+                    <has_archive_member path="merlin-sample.bam_5.bai" />
+                    <has_archive_member path="merlinlastz.maf_6.sorted.bed.gz.tbi" />
+                    <has_archive_member path="merlin.blastxml_7.gz" />
+                    <has_archive_member path="dm3test.cool_9.hic" />
+                    <has_archive_member path="peach-grape-map.paf_10" />
+                    <has_archive_member path="arabgrapepeach.paf_11" />
+                    <has_archive_member path="Merlin.fa.gz.fai" />
+                    <has_archive_member path="dm3.fa.fa.gz.fai" />
+                    <has_archive_member path="Ppersica1.fa.fa.gz" />
+                    <has_archive_member path="Ppersica1.fa.fa.gz.fai" />
+                    <has_archive_member path="Ppersica1.fa.fa.gz.gzi" />
+                    <has_archive_member path="Vvinifera1.fa.fa.gz.fai" />
+                    <has_archive_member path="Vvinifera1.fa.fa.gz" />
+                    <has_archive_member path="Vvinifera1.fa.fa.gz.gzi" />
                     <has_archive_member path="config.json">
                         <has_json_property_with_text property="name" text="Merlin" />
                     </has_archive_member>
                 </assert_contents>
             </output>
         </test>
-         <test>
-             <repeat name="assemblies">
-                 <conditional name="reference_genome">
-                    <param name="genome_type_select" value="history"/>
-                    <param name="genome" value="merlin.fa"/>
-                    <param name="genome.ext" value="fasta"/>
-                    <param name="genome.name" value="Merlin"/>
-                 </conditional>
+        <test>
+            <param name="autoCollection">
+                <collection type="list" name="merlintest">
+                    <element name="merlin.fa" value="merlin.fa" />
+                    <element name="merlin.bw" value="bw/merlin.bw" />
+                    <element name="test-6.bed" value="bed/test-6.bed" />
+                </collection>
+            </param>
+            <section name="jbgen">
+                <param name="zipOut" value="true" />
+                <param name="session_name" value="Collection test" />
+                <param name="ucol|formcoll" value="collect" />
+            </section>
+            <output name="output" file="jbrowse2_result01.zip" ftype="zip" compare="sim_size">
+                <assert_contents>
+                    <has_archive_member path=".*" n="611" delta="10" />
+                    <has_archive_member path="index.html" />
+                    <has_archive_member
+                        path="static/media/roboto-latin-400-normal.3f2b9a42f643e62a49b7.woff" />
+                    <has_archive_member path="manifest.json">
+                        <has_text text="favicon.ico" />
+                        <has_text text="background_color" />
+                    </has_archive_member>
+                    <has_archive_member path="galaxy.xml">
+                        <is_valid_xml />
+                        <xml_element path="./metadata/general/session_name" n="1">
+                            <has_text_matching expression="Collection test" />
+                            <not_has_text text="Newton" />
+                        </xml_element>
+                    </has_archive_member>
+                    <has_archive_member path="jb2_webserver.py" />
+                    <has_archive_member path="merlin.fa.fa.gz.gzi"/>
+                    <has_archive_member path="merlin.fa.fa.gz"/>
+                    <has_archive_member path="merlin.fa.fa.gz.fai"/>
+                    <has_archive_member path="merlin.bw" />
+                    <has_archive_member path="index.html" />
+                    <has_archive_member path="test-6.bed.gz"/>
+                    <has_archive_member path="test-6.bed.gz.tbi"/>
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <repeat name="assemblies">
+                <conditional name="reference_genome">
+                    <param name="genome_type_select" value="history" />
+                    <param name="genome" value="merlin.fa" />
+                    <param name="genome.ext" value="fasta" />
+                    <param name="genome.name" value="Merlin" />
+                </conditional>
                 <repeat name="track_groups">
                     <param name="category" value="Default" />
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="bigwig"/>
+                            <param name="data_format_select" value="bigwig" />
                             <conditional name="useuri">
-                                <param name="annotation" value="bw/merlin.bw"/>
-                                <param name="insource" value="history"/>
+                                <param name="annotation" value="bw/merlin.bw" />
+                                <param name="insource" value="history" />
                             </conditional>
                         </conditional>
                     </repeat>
-                 </repeat>
+                </repeat>
             </repeat>
             <param name="uglyTestingHack" value="enabled" />
             <output name="output">
@@ -729,21 +838,21 @@
             </output>
         </test>
         <test>
-             <repeat name="assemblies">
-                 <conditional name="reference_genome">
-                    <param name="genome_type_select" value="history"/>
-                    <param name="genome" value="merlin.fa"/>
-                    <param name="genome.ext" value="fasta"/>
-                    <param name="genome.name" value="Merlin"/>
-                 </conditional>
+            <repeat name="assemblies">
+                <conditional name="reference_genome">
+                    <param name="genome_type_select" value="history" />
+                    <param name="genome" value="merlin.fa" />
+                    <param name="genome.ext" value="fasta" />
+                    <param name="genome.name" value="Merlin" />
+                </conditional>
                 <repeat name="track_groups">
                     <param name="category" value="Default" />
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="vcf"/>
+                            <param name="data_format_select" value="vcf" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" value="vcf/merlin.vcf"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation" value="vcf/merlin.vcf" />
                             </conditional>
                         </conditional>
                     </repeat>
@@ -753,7 +862,7 @@
             <output name="output">
                 <assert_contents>
                     <has_text text="genome path="></has_text>
-                   <has_text text="label="></has_text>
+                    <has_text text="label="></has_text>
                     <has_text text="format="></has_text>
                     <has_text text="metadata"></has_text>
                     <has_text text="useuri="></has_text>
@@ -763,40 +872,40 @@
             </output>
         </test>
         <test>
-             <repeat name="assemblies">
-                 <conditional name="reference_genome">
-                    <param name="genome_type_select" value="history"/>
-                    <param name="genome" value="merlin.fa"/>
-                    <param name="genome.ext" value="fasta"/>
-                    <param name="genome.name" value="Merlin"/>
-                 </conditional>
+            <repeat name="assemblies">
+                <conditional name="reference_genome">
+                    <param name="genome_type_select" value="history" />
+                    <param name="genome" value="merlin.fa" />
+                    <param name="genome.ext" value="fasta" />
+                    <param name="genome.name" value="Merlin" />
+                </conditional>
             </repeat>
             <param name="uglyTestingHack" value="enabled" />
             <output name="output">
                 <assert_contents>
                     <has_text text="genome path="></has_text>
-                   <has_text text="label="></has_text>
+                    <has_text text="label="></has_text>
                     <has_text text="useuri="></has_text>
                     <has_text text="metadata"></has_text>
                 </assert_contents>
             </output>
         </test>
         <test>
-             <repeat name="assemblies">
-                 <conditional name="reference_genome">
-                    <param name="genome_type_select" value="history"/>
-                    <param name="genome" value="merlin.fa"/>
-                    <param name="genome.ext" value="fasta"/>
-                    <param name="genome.name" value="Merlin"/>
-                 </conditional>
+            <repeat name="assemblies">
+                <conditional name="reference_genome">
+                    <param name="genome_type_select" value="history" />
+                    <param name="genome" value="merlin.fa" />
+                    <param name="genome.ext" value="fasta" />
+                    <param name="genome.name" value="Merlin" />
+                </conditional>
                 <repeat name="track_groups">
                     <param name="category" value="Default" />
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="vcf"/>
+                            <param name="data_format_select" value="vcf" />
                             <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                                <param name="annotation" value="vcf/merlin.vcf"/>
+                                <param name="insource" value="history" />
+                                <param name="annotation" value="vcf/merlin.vcf" />
                             </conditional>
                         </conditional>
                     </repeat>
@@ -806,7 +915,7 @@
             <output name="output">
                 <assert_contents>
                     <has_text text="genome path="></has_text>
-                   <has_text text="label="></has_text>
+                    <has_text text="label="></has_text>
                     <has_text text="format="></has_text>
                     <has_text text="metadata"></has_text>
                     <has_text text="useuri="></has_text>
@@ -816,83 +925,83 @@
             </output>
         </test>
         <test>
-             <repeat name="assemblies">
-                 <conditional name="reference_genome">
-                    <param name="genome_type_select" value="history"/>
-                    <param name="genome" value="merlin.fa"/>
-                    <param name="genome.ext" value="fasta"/>
-                    <param name="genome.name" value="Merlin"/>
-                 </conditional>
-                 <repeat name="track_groups">
+            <repeat name="assemblies">
+                <conditional name="reference_genome">
+                    <param name="genome_type_select" value="history" />
+                    <param name="genome" value="merlin.fa" />
+                    <param name="genome.ext" value="fasta" />
+                    <param name="genome.name" value="Merlin" />
+                </conditional>
+                <repeat name="track_groups">
                     <param name="category" value="Default" />
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                        <param name="data_format_select" value="gff"/>
-                           <conditional name="useuri">
-                                <param name="insource" value="history"/>
-                               <param name="annotation" value="gff3/A.gff"/>
+                            <param name="data_format_select" value="gff" />
+                            <conditional name="useuri">
+                                <param name="insource" value="history" />
+                                <param name="annotation" value="gff3/A.gff" />
                             </conditional>
                         </conditional>
                         <conditional name="match_part">
-                            <param name="match_part_select" value="false"/>
+                            <param name="match_part_select" value="false" />
                         </conditional>
                         <section name="jbcolor_scale">
                             <conditional name="color_score">
-                                <param name="color_score_select" value="none"/>
+                                <param name="color_score_select" value="none" />
                             </conditional>
                             <conditional name="color">
-                                <param name="color_select" value="automatic"/>
+                                <param name="color_select" value="automatic" />
                             </conditional>
                         </section>
                     </repeat>
                 </repeat>
                 <repeat name="track_groups">
-                <param name="category" value="Ignore Scale" />
+                    <param name="category" value="Ignore Scale" />
                     <repeat name="data_tracks">
-                    <conditional name="data_format">
-                        <param name="data_format_select" value="gff"/>
-                       <conditional name="useuri">
-                            <param name="insource" value="history"/>
-                        <param name="annotation" value="gff3/1.gff"/>
-                        </conditional>
-                        <conditional name="match_part">
-                            <param name="match_part_select" value="false"/>
+                        <conditional name="data_format">
+                            <param name="data_format_select" value="gff" />
+                            <conditional name="useuri">
+                                <param name="insource" value="history" />
+                                <param name="annotation" value="gff3/1.gff" />
+                            </conditional>
+                            <conditional name="match_part">
+                                <param name="match_part_select" value="false" />
+                            </conditional>
+                            <section name="jbcolor_scale">
+                                <conditional name="color_score">
+                                    <param name="color_score_select" value="none" />
+                                    <conditional name="color">
+                                        <param name="color_select" value="manual" />
+                                        <param name="style_color" value="#ff00ff" />
+                                    </conditional>
+                                </conditional>
+                            </section>
                         </conditional>
-                        <section name="jbcolor_scale">
-                            <conditional name="color_score">
-                                <param name="color_score_select" value="none"/>
-                                <conditional name="color">
-                                    <param name="color_select" value="manual"/>
-                                    <param name="style_color" value="#ff00ff"/>
-                                </conditional>
-                            </conditional>
-                        </section>
-                    </conditional>
                     </repeat>
                 </repeat>
                 <repeat name="track_groups">
-                <param name="category" value="Scaled Colour" />
+                    <param name="category" value="Scaled Colour" />
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="gff"/>
-                           <conditional name="useuri">
-                                <param name="insource" value= "history"/>
-                                <param name="annotation" value="gff3/C.gff"/>
+                            <param name="data_format_select" value="gff" />
+                            <conditional name="useuri">
+                                <param name="insource" value="history" />
+                                <param name="annotation" value="gff3/C.gff" />
                             </conditional>
                             <conditional name="match_part">
-                                <param name="match_part_select" value="false"/>
+                                <param name="match_part_select" value="false" />
                             </conditional>
                             <section name="jbcolor_scale">
                                 <conditional name="color_score">
-                                    <param name="color_score_select" value="score"/>
-                                    <param name="score_scaling" value="linear"/>
+                                    <param name="color_score_select" value="score" />
+                                    <param name="score_scaling" value="linear" />
                                     <conditional name="score_scales">
-                                        <param name="scale_select" value="automatic"/>
+                                        <param name="scale_select" value="automatic" />
                                     </conditional>
                                     <conditional name="color_scheme">
-                                        <param name="score_scheme" value="opacity"/>
+                                        <param name="score_scheme" value="opacity" />
                                         <conditional name="color">
-                                            <param name="color_select" value="automatic"/>
+                                            <param name="color_select" value="automatic" />
                                         </conditional>
                                     </conditional>
                                 </conditional>
@@ -901,26 +1010,26 @@
                     </repeat>
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="gff"/>
-                           <conditional name="useuri">
-                                <param name="annotation" value="gff3/B.gff"/>
-                                <param name="insource" value= "history"/>
+                            <param name="data_format_select" value="gff" />
+                            <conditional name="useuri">
+                                <param name="annotation" value="gff3/B.gff" />
+                                <param name="insource" value="history" />
                             </conditional>
-                           <conditional name="match_part">
-                                <param name="match_part_select" value="false"/>
+                            <conditional name="match_part">
+                                <param name="match_part_select" value="false" />
                             </conditional>
                             <section name="jbcolor_scale">
                                 <conditional name="color_score">
-                                    <param name="color_score_select" value="score"/>
-                                    <param name="score_scaling" value="linear"/>
+                                    <param name="color_score_select" value="score" />
+                                    <param name="score_scaling" value="linear" />
                                     <conditional name="score_scales">
-                                        <param name="scale_select" value="automatic"/>
+                                        <param name="scale_select" value="automatic" />
                                     </conditional>
                                     <conditional name="color_scheme">
-                                        <param name="score_scheme" value="opacity"/>
+                                        <param name="score_scheme" value="opacity" />
                                         <conditional name="color">
-                                            <param name="color_select" value="manual"/>
-                                            <param name="style_color" value="#0000ff"/>
+                                            <param name="color_select" value="manual" />
+                                            <param name="style_color" value="#0000ff" />
                                         </conditional>
                                     </conditional>
                                 </conditional>
@@ -929,27 +1038,27 @@
                     </repeat>
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="gff"/>
-                           <conditional name="useuri">
-                                <param name="annotation" value="gff3/A.gff"/>
-                                <param name="insource" value= "history"/>
+                            <param name="data_format_select" value="gff" />
+                            <conditional name="useuri">
+                                <param name="annotation" value="gff3/A.gff" />
+                                <param name="insource" value="history" />
                             </conditional>
                             <conditional name="match_part">
-                                <param name="match_part_select" value="false"/>
+                                <param name="match_part_select" value="false" />
                             </conditional>
                             <section name="jbcolor_scale">
                                 <conditional name="color_score">
-                                    <param name="color_score_select" value="score"/>
-                                    <param name="score_scaling" value="linear"/>
+                                    <param name="color_score_select" value="score" />
+                                    <param name="score_scaling" value="linear" />
                                     <conditional name="score_scales">
-                                        <param name="scale_select" value="manual"/>
-                                        <param name="minimum" value="0"/>
-                                        <param name="maximum" value="1000"/>
+                                        <param name="scale_select" value="manual" />
+                                        <param name="minimum" value="0" />
+                                        <param name="maximum" value="1000" />
                                     </conditional>
                                     <conditional name="color_scheme">
-                                        <param name="score_scheme" value="opacity"/>
+                                        <param name="score_scheme" value="opacity" />
                                         <conditional name="color">
-                                            <param name="color_select" value="automatic"/>
+                                            <param name="color_select" value="automatic" />
                                         </conditional>
                                     </conditional>
                                 </conditional>
@@ -958,28 +1067,28 @@
                     </repeat>
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="gff"/>
+                            <param name="data_format_select" value="gff" />
                             <conditional name="useuri">
-                                <param name="annotation" value="gff3/1.gff"/>
-                                <param name="insource" value= "history"/>
+                                <param name="annotation" value="gff3/1.gff" />
+                                <param name="insource" value="history" />
                             </conditional>
                             <conditional name="match_part">
-                                <param name="match_part_select" value="false"/>
+                                <param name="match_part_select" value="false" />
                             </conditional>
                             <section name="jbcolor_scale">
                                 <conditional name="color_score">
-                                    <param name="color_score_select" value="score"/>
-                                    <param name="score_scaling" value="linear"/>
+                                    <param name="color_score_select" value="score" />
+                                    <param name="score_scaling" value="linear" />
                                     <conditional name="score_scales">
-                                        <param name="scale_select" value="manual"/>
-                                        <param name="minimum" value="0"/>
-                                        <param name="maximum" value="1000"/>
+                                        <param name="scale_select" value="manual" />
+                                        <param name="minimum" value="0" />
+                                        <param name="maximum" value="1000" />
                                     </conditional>
                                     <conditional name="color_scheme">
-                                        <param name="score_scheme" value="opacity"/>
+                                        <param name="score_scheme" value="opacity" />
                                         <conditional name="color">
-                                            <param name="color_select" value="manual"/>
-                                            <param name="style_color" value="#ff0000"/>
+                                            <param name="color_select" value="manual" />
+                                            <param name="style_color" value="#ff0000" />
                                         </conditional>
                                     </conditional>
                                 </conditional>
@@ -988,47 +1097,47 @@
                     </repeat>
                 </repeat>
                 <repeat name="track_groups">
-                <param name="category" value="Realistic" />
+                    <param name="category" value="Realistic" />
                     <repeat name="data_tracks">
                         <conditional name="data_format">
-                            <param name="data_format_select" value="gff"/>
+                            <param name="data_format_select" value="gff" />
                             <conditional name="useuri">
-                                <param name="annotation" value="gff3/interpro.gff"/>
-                                <param name="insource" value= "history"/>
+                                <param name="annotation" value="gff3/interpro.gff" />
+                                <param name="insource" value="history" />
                             </conditional>
                             <conditional name="match_part">
-                                <param name="match_part_select" value="false"/>
+                                <param name="match_part_select" value="false" />
                             </conditional>
                             <section name="jbcolor_scale">
                                 <conditional name="color_score">
-                                    <param name="color_score_select" value="none"/>
+                                    <param name="color_score_select" value="none" />
                                 </conditional>
                                 <conditional name="color">
-                                    <param name="color_select" value="automatic"/>
+                                    <param name="color_select" value="automatic" />
                                 </conditional>
                             </section>
                         </conditional>
                     </repeat>
                     <repeat name="data_tracks">
-                    <conditional name="data_format">
-                        <param name="data_format_select" value="gff"/>
-                         <conditional name="useuri">
-                            <param name="annotation" value="gff3/2.gff"/>
-                            <param name="insource" value= "history"/>
-                        </conditional>
-                        <conditional name="match_part">
-                            <param name="match_part_select" value="true"/>
-                            <param name="name" value="cDNA_match"/>
+                        <conditional name="data_format">
+                            <param name="data_format_select" value="gff" />
+                            <conditional name="useuri">
+                                <param name="annotation" value="gff3/2.gff" />
+                                <param name="insource" value="history" />
+                            </conditional>
+                            <conditional name="match_part">
+                                <param name="match_part_select" value="true" />
+                                <param name="name" value="cDNA_match" />
+                            </conditional>
+                            <section name="jbcolor_scale">
+                                <conditional name="color_score">
+                                    <param name="color_score_select" value="none" />
+                                </conditional>
+                                <conditional name="color">
+                                    <param name="color_select" value="automatic" />
+                                </conditional>
+                            </section>
                         </conditional>
-                        <section name="jbcolor_scale">
-                            <conditional name="color_score">
-                                <param name="color_score_select" value="none"/>
-                            </conditional>
-                            <conditional name="color">
-                                <param name="color_select" value="automatic"/>
-                            </conditional>
-                        </section>
-                    </conditional>
                     </repeat>
                 </repeat>
             </repeat>
@@ -1036,14 +1145,14 @@
             <param name="uglyTestingHack" value="enabled" />
             <output name="output">
                 <assert_contents>
-                        <has_text text="Ignore Scale"/>
-                        <has_text text="A.gff"/>
-                        <has_text text="B.gff"/>
-                        <has_text text="C.gff"/>
-                        <has_text text="interpro.gff"/>
-                        <has_text text="Scaled Colour"/>
-                        <has_text text="1.gff"/>
-                        <has_text text="2.gff"/>
+                    <has_text text="Ignore Scale" />
+                    <has_text text="A.gff" />
+                    <has_text text="B.gff" />
+                    <has_text text="C.gff" />
+                    <has_text text="interpro.gff" />
+                    <has_text text="Scaled Colour" />
+                    <has_text text="1.gff" />
+                    <has_text text="2.gff" />
                 </assert_contents>
             </output>
         </test>
@@ -1168,5 +1277,5 @@
 
 @ATTRIBUTION@
 ]]></help>
-    <expand macro="citations"/>
-</tool>
+    <expand macro="citations" />
+</tool>
\ No newline at end of file