diff hubArchiveCreator.xml @ 20:40469b265ddb draft

planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit 3af31e043f5b82636015c18e013d2f22ce6c9077-dirty
author yating-l
date Fri, 20 Jan 2017 17:12:03 -0500
parents d786bca6a75d
children 884ee2a71680
line wrap: on
line diff
--- a/hubArchiveCreator.xml	Thu Oct 13 22:49:01 2016 -0400
+++ b/hubArchiveCreator.xml	Fri Jan 20 17:12:03 2017 -0500
@@ -5,24 +5,7 @@
     </description>
 
     <requirements>
-        <!-- Conda dependencies -->
-        <requirement type="package" version="332">ucsc-bedtobigbed</requirement>
-        <requirement type="package" version="332">ucsc-fatotwobit</requirement>
-        <requirement type="package" version="332">ucsc-genepredtobed</requirement>
-        <requirement type="package" version="332">ucsc-genepredtobiggenepred</requirement>
-        <requirement type="package" version="332">ucsc-gff3togenepred</requirement>
-        <requirement type="package" version="332">ucsc-gtftogenepred</requirement>
-        <!-- TODO: Change the conda ucsc-psltobigpsl and take one > v337 because of bugs before -->
-        <!-- <requirement type="package" version="332">ucsc-psltobigpsl</requirement> -->
-        <requirement type="package" version="332">ucsc-twobitinfo</requirement>
-        <requirement type="package" version="1.3">samtools</requirement>
-        <!-- ToolShed dependencies -->
-        <requirement type="package" version="312">ucsc_tools</requirement>
-        <requirement type="package" version="0.0.1">gff3ToGenePred</requirement>
-        <requirement type="package" version="0.0.1">gtfToGenePred</requirement>
-        <requirement type="package" version="0.0.1">genePredToBed</requirement>
-        <requirement type="package" version="0.0.1">genePredToBigGenePred</requirement>
-        <requirement type="package" version="0.0.1">pslToBigPsl</requirement>
+        <requirement type="package" version="1.0">ucsc_tools_340</requirement>
         <requirement type="package" version="1.2">samtools</requirement>
     </requirements>
 
@@ -38,6 +21,7 @@
     <!-- Idea: python \ -augustus [parameters] \ -trfBig [parameters] -->
     <command detect_errors="exit_code"><![CDATA[
         mkdir -p $output.extra_files_path;
+
         python $__tool_directory__/hubArchiveCreator.py
 
         ## Ask the user to enter the genome name
@@ -100,7 +84,7 @@
                     #silent $prepare_json($f.formatChoice.BAM, $index_track_final, extra_data_dict)
                 #end if
                 #if $f.formatChoice.format_select == "bed"
-                    #if $f.formatChoice.bedChoice.bed_select == "bed"
+                    #if $f.formatChoice.bedChoice.bed_select == "bed_generic"
                         --bed $f.formatChoice.bedChoice.BED
                         #silent $prepare_json($f.formatChoice.bedChoice.BED, $index_track_final,
                                                 extra_data_dict)
@@ -110,6 +94,16 @@
                         #silent $prepare_json($f.formatChoice.bedChoice.BED_simple_repeats, $index_track_final,
                                                 extra_data_dict)
                     #end if
+                    #if $f.formatChoice.bedChoice.bed_select == "bed_splice_junctions_option"
+                        --bedSpliceJunctions $f.formatChoice.bedChoice.BED_splice_junctions
+                        #silent $prepare_json($f.formatChoice.bedChoice.BED_splice_junctions, $index_track_final,
+                                                extra_data_dict)
+                    #end if
+                    #if $f.formatChoice.bedChoice.bed_select == "bigpsl_option"
+                        --bigpsl $f.formatChoice.bedChoice.bigPsl
+                        #silent $prepare_json($f.formatChoice.bedChoice.bigPsl, $index_track_final,
+                                                extra_data_dict)
+                    #end if
                 #end if
                 #if $f.formatChoice.format_select == "psl"
                     --psl $f.formatChoice.PSL
@@ -149,11 +143,12 @@
 
         -d $__tool_directory__
 
-        -e $output.files_path
+        -e $output.extra_files_path
 
         $advanced_options.debug_mode
 
         -o $output;
+
     ]]></command>
 
     <inputs>
@@ -202,10 +197,12 @@
                     <when value="bed">
                         <conditional name="bedChoice">
                             <param name="bed_select" type="select" label="Bed Choice">
-                                <option value="bed" selected="true">BED Generic (bed3+)</option>
+                                <option value="bed_generic" selected="true">BED Generic (bed3+)</option>
                                 <option value="bed_simple_repeats_option">BED Simple repeat (bed4+12 / simpleRepeat.as)</option>
+                                <option value="bed_splice_junctions_option">BED Splice junctions (bed12+1 / spliceJunctions.as)</option>
+                                <option value="bigpsl_option">bigPsl (bed12+12 / bigPsl.as)</option>
                             </param>
-                            <when value="bed">
+                            <when value="bed_generic">
                                 <param
                                         format="bed"
                                         name="BED"
@@ -222,6 +219,22 @@
                                         label="Bed Simple Repeats (Bed4+12) File"
                                 />
                             </when>
+                            <when value="bed_splice_junctions_option">
+                                <param
+                                        format="bed"
+                                        name="BED_splice_junctions"
+                                        type="data"
+                                        label="Bed Splice Junctions (Bed12+1) File"
+                                />
+                            </when>
+                            <when value="bigpsl_option">
+                                <param
+                                        format="bed"
+                                        name="bigPsl"
+                                        type="data"
+                                        label="bigPsl (Bed12+12) File"
+                                />
+                            </when>
                         </conditional>
                         <param name="track_color" type="color" label="Track color" value="#000000">
                             <sanitizer>
@@ -322,52 +335,673 @@
     </outputs>
 
     <tests>
-        <!-- Can also use assert_command to test command -->
-        <!-- Testing GFF3 input -->
+        <!-- Test with only the fasta file -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <output name="output" file="only_genome/only_genome.html">
+                <extra_files type="file" name="__main__.log" value="only_genome/__main__.log" />
+                <extra_files type="file" name="myHub/genomes.txt" value="only_genome/myHub/genomes.txt" />
+                <extra_files type="file" name="myHub/Dbia3.html" value="only_genome/myHub/Dbia3.html"/>
+                <!-- Email could be different, but we need to ensure we still have the email line -->
+                <extra_files type="file" name="myHub/hub.txt" value="only_genome/myHub/hub.txt" lines_diff="2">
+                    <assert_contents>
+                        <has_text text="email"/>
+                    </assert_contents>
+                </extra_files>
+                <extra_files type="file" name="myHub/Dbia3/Dbia3.2bit" value="common/Dbia3.2bit">
+                </extra_files>
+                <extra_files type="file" name="myHub/Dbia3/description.html" value="only_genome/myHub/Dbia3/description.html"/>
+            </output>
+        </test>
+
+        <!-- Test with Bam -->
         <test>
-            <param name="fasta_file" value="dbia3.fa"/>
-            <repeat name="format">
-                <conditional name="formatChoice">
-                    <param name="format_select" value="gff3"/>
-                    <param name="GFF3" value="augustusDbia3.gff3"/>
-                </conditional>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bam"/>
+                        <param name="BAM" value="bam/inputs/HISAT2_Accepted_Hits.bam" />
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <output name="output" file="bam/bam.html">
+                <!-- Verify tracks folder contains bam and bai -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/HISAT2_Accepted_Hits.bam"
+                             value="bam/myHub/Dbia3/tracks/HISAT2_Accepted_Hits.bam"
+                             compare="sim_size"
+                />
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/HISAT2_Accepted_Hits.bam.bai"
+                             value="bam/myHub/Dbia3/tracks/HISAT2_Accepted_Hits.bam.bai"
+                             compare="sim_size"
+                />
+                <!-- Verify trackDb.txt contains the basic fields for a bam -->
+                <extra_files type="file" name="myHub/Dbia3/trackDb.txt" value="bam/myHub/Dbia3/trackDb.txt">
+                    <assert_contents>
+                        <has_text text="track"/>
+                        <has_text text="longLabel"/>
+                        <has_text text="shortLabel"/>
+                        <has_text text="bigDataUrl"/>
+                        <has_text text="type"/>
+                        <has_text text="visibility"/>
+                        <has_text text="thickDrawItem"/>
+                        <has_text text="priority"/>
+                        <has_text text="color"/>
+                        <has_text text="group"/>
+                    </assert_contents>
+                </extra_files>
+                <!-- TODO: Find a way to check also that the whole common structure is intact too, without too much repetition -->
+            </output>
+        </test>
+
+        <!-- Test with Bed Generic -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bed" />
+                        <conditional name="bedChoice">
+                            <param name="bed_select" value="bed_generic"/>
+                            <param name="BED" ftype="bed" value="bed_generic/inputs/TBLASTN_Alignment_to_proteins"/>
+                            <param name="track_color" value="#000000"/>
+                        </conditional>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <output name="output" file="bed_generic/bed_generic.html">
+                <!-- Verify tracks folder contains bam and bai -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/TBLASTN_Alignment_to_proteins.bb"
+                             value="bed_generic/myHub/Dbia3/tracks/TBLASTN_Alignment_to_proteins.bb"
+                             compare="sim_size"
+                />
+            </output>
+        </test>
+
+        <!-- Test with Bed Simple repeat -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bed" />
+                        <conditional name="bedChoice">
+                            <param name="bed_select" value="bed_simple_repeats_option"/>
+                            <param name="BED_simple_repeats" ftype="bed" value="bed_simple_repeats/inputs/Repeating_Elements_by_TrfBig"/>
+                            <param name="track_color" value="#000000"/>
+                        </conditional>
+                    </conditional>
+                </repeat>
             </repeat>
-            <repeat name="format">
-                <param name="BED_simple_repeats" value="dbia3_trfBig_unsorted.bed"/>
-                <!-- TODO: Ask why the tests are not passing with this xml:
-                     Error creating a job for these tool inputs - Error executing tool: 'NoneType' object has no attribute 'current_history'
-                <conditional name="formatChoice">
-                    <param name="format_select" value="bed"/>
-                    <conditional name="bedChoice">
-                        <param name="bed_select" value="bed_simple_repeats_option"/>
-                        <param name="BED_simple_repeats" value="dbia3_trfBig_unsorted.bed"/>
+            <output name="output" file="bed_simple_repeats/bed_simple_repeats_trackhub.html">
+                <!-- Verify tracks folder contains bam and bai -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/Repeating_Elements_by_TrfBig.bb"
+                             value="bed_simple_repeats/myHub/Dbia3/tracks/Repeating_Elements_by_TrfBig.bb"
+                             compare="sim_size"
+                />
+            </output>
+        </test>
+        
+
+        <!-- Test with Psl -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="psl"/>
+                        <param name="PSL" value="psl/inputs/blastXmlToPsl"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <output name="output" file="psl/psl_trackhub.html">
+                <!-- Verify tracks folder contains bam and bai -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/blastXmlToPsl.bb"
+                             value="psl/myHub/Dbia3/tracks/blastXmlToPsl.bb"
+                             compare="sim_size"
+                />
+                <!-- Verify trackDb.txt contains the basic fields for a bam -->
+                <!-- TODO: Find a way to check also that the whole common structure is intact too, without too much repetition -->
+            </output>
+        </test>
+
+        <!-- Test with BigWig -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bigwig"/>
+                        <param name="BIGWIG" value="bigwig/inputs/RNA-Seq_Alignment_Summary"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <output name="output" file="bigwig/bigwig.html">
+                <!-- Verify tracks folder contains bam and bai -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/RNA-Seq_Alignment_Summary.bigwig"
+                             value="bigwig/myHub/Dbia3/tracks/RNA-Seq_Alignment_Summary.bigwig"
+                             compare="sim_size"
+                />
+                <!-- Verify trackDb.txt contains the basic fields for a bam -->
+                <!-- TODO: Find a way to check also that the whole common structure is intact too, without too much repetition -->
+            </output>
+        </test>
+
+        <!-- Test with GFF3 -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="gff3"/>
+                        <param name="GFF3" value="gff3/inputs/Augustus_Gene_Predictions"/>
+                        <param name="track_color" value="#000000"/>
                     </conditional>
-                </conditional>
-                -->
+                </repeat>
             </repeat>
+            <output name="output" file="gff3/gff3_trackhub.html">
+                <!-- Verify tracks folder contains bam and bai -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/Augustus_Gene_Predictions.bb"
+                             value="gff3/myHub/Dbia3/tracks/Augustus_Gene_Predictions.bb"
+                             compare="sim_size"
+                />
+                <!-- Verify trackDb.txt contains the basic fields for a bam -->
+                <!-- TODO: Find a way to check also that the whole common structure is intact too, without too much repetition -->
+            </output>
+        </test>
 
-            <output name="output">
-                <assert_contents>
-                    <has_text text="myHub"/>
-                </assert_contents>
-                <assert_contents>
-                    <has_text text="dbia3_trfBig.bb"/>
-                </assert_contents>
-                <assert_contents>
-                    <has_text text="SAODOAii qwwqod92921"/>
-                </assert_contents>
+        <!-- Test with GTF -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="gtf"/>
+                        <param name="GTF" value="gtf/inputs/StringTie_Assembled_Transcripts"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <output name="output" file="gtf/gtf_trackhub.html">
+                <!-- Verify tracks folder contains bam and bai -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/StringTie_Assembled_Transcripts.bb"
+                             value="gtf/myHub/Dbia3/tracks/StringTie_Assembled_Transcripts.bb"
+                             compare="sim_size"
+                />
+                <!-- Verify trackDb.txt contains the basic fields for a bam -->
+                <!-- TODO: Find a way to check also that the whole common structure is intact too, without too much repetition -->
+            </output>
+        </test>
+
+        <!-- Test with one group and multiple tracks -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="gtf"/>
+                        <param name="GTF" value="gtf/inputs/StringTie_Assembled_Transcripts"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="gff3"/>
+                        <param name="GFF3" value="gff3/inputs/Augustus_Gene_Predictions"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <output name="output" file="gtf_gff/gtf_gff_trackhub.html">
+                <!-- verify tracks folder contains bam and bai -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/StringTie_Assembled_Transcripts.bb"
+                             value="gtf/myHub/Dbia3/tracks/StringTie_Assembled_Transcripts.bb"
+                             compare="sim_size"
+                />
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/Augustus_Gene_Predictions.bb"
+                             value="gff3/myHub/Dbia3/tracks/Augustus_Gene_Predictions.bb"
+                             compare="sim_size"
+                />
+                <!-- verify trackdb.txt contains the basic fields for a bam -->
+                <!-- todo: find a way to check also that the whole common structure is intact too, without too much repetition -->
             </output>
         </test>
+
+        <!-- Test with one group and all the supported datatypes on 10/04/2016 -->
         <test>
-            <param name="fasta_file" value="dbia3.fa"/>
-            <param name="GFF3" value="augustusDbia3.gff3"/>
-            <output name="output" file="augustusOutput.html" lines_diff="2">
-                <extra_files type="directory" value="myHub"/>
-                <extra_files type="file" name="myHub/dbia3/tracks/augustusDbia3.bb" value="augustusDbia3.bb"/>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bam"/>
+                        <param name="BAM" value="bam/inputs/HISAT2_Accepted_Hits.bam"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bed"/>
+                        <conditional name="bedChoice">
+                            <param name="bed_select" value="bed_generic"/>
+                            <param name="BED" ftype="bed" value="bed_generic/inputs/TBLASTN_Alignment_to_proteins"/>
+                            <param name="track_color" value="#000000"/>
+                        </conditional>
+                    </conditional>
+                </repeat>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bed"/>
+                        <conditional name="bedChoice">
+                            <param name="bed_select" value="bed_simple_repeats_option"/>
+                            <param name="BED_simple_repeats" ftype="bed"
+                                   value="bed_simple_repeats/inputs/Repeating_Elements_by_TrfBig"/>
+                            <param name="track_color" value="#000000"/>
+                        </conditional>
+                    </conditional>
+                </repeat>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="psl"/>
+                        <param name="PSL" value="psl/inputs/blastXmlToPsl"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bigwig"/>
+                        <param name="BIGWIG" value="bigwig/inputs/RNA-Seq_Alignment_Summary"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="gff3"/>
+                        <param name="GFF3" value="gff3/inputs/Augustus_Gene_Predictions"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="gtf"/>
+                        <param name="GTF" value="gtf/inputs/StringTie_Assembled_Transcripts"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <output name="output" file="all_datatypes/all_datatypes_trackhub.html">
+                <!-- verify tracks folder contains all the files -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/HISAT2_Accepted_Hits.bam"
+                             value="all_datatypes/myHub/Dbia3/tracks/HISAT2_Accepted_Hits.bam"
+                             compare="sim_size"
+                />
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/HISAT2_Accepted_Hits.bam.bai"
+                             value="all_datatypes/myHub/Dbia3/tracks/HISAT2_Accepted_Hits.bam.bai"
+                             compare="sim_size"
+                />
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/TBLASTN_Alignment_to_proteins.bb"
+                             value="all_datatypes/myHub/Dbia3/tracks/TBLASTN_Alignment_to_proteins.bb"
+                             compare="sim_size"
+                />
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/Repeating_Elements_by_TrfBig.bb"
+                             value="all_datatypes/myHub/Dbia3/tracks/Repeating_Elements_by_TrfBig.bb"
+                             compare="sim_size"
+                />
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/blastXmlToPsl.bb"
+                             value="all_datatypes/myHub/Dbia3/tracks/blastXmlToPsl.bb"
+                             compare="sim_size"
+                />
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/RNA-Seq_Alignment_Summary.bigwig"
+                             value="all_datatypes/myHub/Dbia3/tracks/RNA-Seq_Alignment_Summary.bigwig"
+                             compare="sim_size"
+                />
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/Augustus_Gene_Predictions.bb"
+                             value="all_datatypes/myHub/Dbia3/tracks/Augustus_Gene_Predictions.bb"
+                             compare="sim_size"
+                />
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/StringTie_Assembled_Transcripts.bb"
+                             value="all_datatypes/myHub/Dbia3/tracks/StringTie_Assembled_Transcripts.bb"
+                             compare="sim_size"
+                />
+                <!-- verify trackdb.txt contains the basic fields for a bam -->
+                <!-- todo: find a way to check also that the whole common structure is intact too, without too much repetition -->
+            </output>
+        </test>
+
+        <!-- Test with two groups and no tracks -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+            </repeat>
+            <repeat name="group">
+                <param name="group_name" value="Other group"/>
+            </repeat>
+            <output name="output" file="two_groups_no_track/two_groups_no_track_trackhub.html">
+                <extra_files type="file" name="myHub/genomes.txt" value="two_groups_no_track/myHub/genomes.txt"/>
+                <extra_files type="file" name="myHub/Dbia3.html" value="two_groups_no_track/myHub/Dbia3.html"/>
+                <!-- Email could be different, but we need to ensure we still have the email line -->
+                <extra_files type="file" name="myHub/hub.txt" value="two_groups_no_track/myHub/hub.txt" lines_diff="2">
+                    <assert_contents>
+                        <has_text text="email"/>
+                    </assert_contents>
+                </extra_files>
+                <extra_files type="file" name="myHub/Dbia3/Dbia3.2bit" value="common/Dbia3.2bit">
+                </extra_files>
+                <extra_files type="file" name="myHub/Dbia3/description.html"
+                             value="two_groups_no_track/myHub/Dbia3/description.html"/>
+            </output>
+        </test>
+
+        <!-- Test with two groups and one track in first -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bigwig"/>
+                        <param name="BIGWIG" value="bigwig/inputs/RNA-Seq_Alignment_Summary"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <repeat name="group">
+                <param name="group_name" value="Other group"/>
+            </repeat>
+            <output name="output" file="two_groups_one_track_first/two_groups_one_track_first_trackhub.html">
+                <!-- Check myHub structure -->
+                <extra_files type="file" name="myHub/genomes.txt" value="two_groups_one_track_first/myHub/genomes.txt"/>
+                <extra_files type="file" name="myHub/Dbia3.html" value="two_groups_one_track_first/myHub/Dbia3.html"/>
+                <!-- Email could be different, but we need to ensure we still have the email line -->
+                <extra_files type="file" name="myHub/hub.txt" value="two_groups_one_track_first/myHub/hub.txt" lines_diff="2">
+                    <assert_contents>
+                        <has_text text="email"/>
+                    </assert_contents>
+                </extra_files>
+                <extra_files type="file" name="myHub/Dbia3/Dbia3.2bit" value="common/Dbia3.2bit">
+                </extra_files>
+                <extra_files type="file" name="myHub/Dbia3/description.html"
+                             value="two_groups_one_track_first/myHub/Dbia3/description.html"/>
+
+                <!-- Check tracks exist -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/RNA-Seq_Alignment_Summary.bigwig"
+                             value="bigwig/myHub/Dbia3/tracks/RNA-Seq_Alignment_Summary.bigwig"
+                             compare="sim_size"
+                />
+
+                <!-- Check the groups.txt exists and is properly populated -->
             </output>
         </test>
-        <!-- Testing Generic BED input -->
-        <!-- Testing Bed Simple repeat input -->
+
+        <!-- Test with two groups and one track in both -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bigwig"/>
+                        <param name="BIGWIG" value="bigwig/inputs/RNA-Seq_Alignment_Summary"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <repeat name="group">
+                <param name="group_name" value="Other group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="gtf"/>
+                        <param name="GTF" value="gtf/inputs/StringTie_Assembled_Transcripts"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <output name="output" file="two_groups_one_track_both/two_groups_one_track_both_trackhub.html">
+                <!-- Check myHub structure -->
+                <extra_files type="file" name="myHub/genomes.txt" value="two_groups_one_track_both/myHub/genomes.txt"/>
+                <extra_files type="file" name="myHub/Dbia3.html" value="two_groups_one_track_both/myHub/Dbia3.html"/>
+                <!-- Email could be different, but we need to ensure we still have the email line -->
+                <extra_files type="file" name="myHub/hub.txt" value="two_groups_one_track_both/myHub/hub.txt"
+                             lines_diff="2">
+                    <assert_contents>
+                        <has_text text="email"/>
+                    </assert_contents>
+                </extra_files>
+                <extra_files type="file" name="myHub/Dbia3/Dbia3.2bit" value="common/Dbia3.2bit">
+                </extra_files>
+                <extra_files type="file" name="myHub/Dbia3/description.html"
+                             value="two_groups_one_track_both/myHub/Dbia3/description.html"/>
+
+                <!-- Check tracks exist -->
+                <!-- First group -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/RNA-Seq_Alignment_Summary.bigwig"
+                             value="bigwig/myHub/Dbia3/tracks/RNA-Seq_Alignment_Summary.bigwig"
+                             compare="sim_size"
+                />
+
+                <!-- Second group -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/StringTie_Assembled_Transcripts.bb"
+                             value="gtf/myHub/Dbia3/tracks/StringTie_Assembled_Transcripts.bb"
+                             compare="sim_size"
+                />
+                <!-- Check the groups.txt exists and is properly populated -->
+            </output>
+        </test>
+
+        <!-- Test with two groups and multiple tracks in both -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bigwig"/>
+                        <param name="BIGWIG" value="bigwig/inputs/RNA-Seq_Alignment_Summary"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bam"/>
+                        <param name="BAM" value="bam/inputs/HISAT2_Accepted_Hits.bam"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <repeat name="group">
+                <param name="group_name" value="Other group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="gtf"/>
+                        <param name="GTF" value="gtf/inputs/StringTie_Assembled_Transcripts"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="gff3"/>
+                        <param name="GFF3" value="gff3_multi_fasta/inputs/Multi-Fasta_GlimmerHMM_Gene_Predictions"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <output name="output" file="two_groups_multiple_tracks/two_groups_multiple_tracks_trackhub.html">
+                <!-- Check myHub structure -->
+                <extra_files type="file" name="myHub/genomes.txt" value="two_groups_multiple_tracks/myHub/genomes.txt"/>
+                <extra_files type="file" name="myHub/Dbia3.html" value="two_groups_multiple_tracks/myHub/Dbia3.html"/>
+                <!-- Email could be different, but we need to ensure we still have the email line -->
+                <extra_files type="file" name="myHub/hub.txt" value="two_groups_multiple_tracks/myHub/hub.txt"
+                             lines_diff="2">
+                    <assert_contents>
+                        <has_text text="email"/>
+                    </assert_contents>
+                </extra_files>
+                <extra_files type="file" name="myHub/Dbia3/Dbia3.2bit" value="common/Dbia3.2bit">
+                </extra_files>
+                <extra_files type="file" name="myHub/Dbia3/description.html"
+                             value="two_groups_multiple_tracks/myHub/Dbia3/description.html"/>
+
+                <!-- Check tracks exist -->
+                <!-- First group -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/RNA-Seq_Alignment_Summary.bigwig"
+                             value="bigwig/myHub/Dbia3/tracks/RNA-Seq_Alignment_Summary.bigwig"
+                             compare="sim_size"
+                />
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/HISAT2_Accepted_Hits.bam"
+                             value="bam/myHub/Dbia3/tracks/HISAT2_Accepted_Hits.bam"
+                             compare="sim_size"
+                />
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/HISAT2_Accepted_Hits.bam.bai"
+                             value="bam/myHub/Dbia3/tracks/HISAT2_Accepted_Hits.bam.bai"
+                             compare="sim_size"
+                />
+
+                <!-- Second group -->
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/StringTie_Assembled_Transcripts.bb"
+                             value="gtf/myHub/Dbia3/tracks/StringTie_Assembled_Transcripts.bb"
+                             compare="sim_size"
+                />
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/Multi-Fasta_GlimmerHMM_Gene_Predictions.bb"
+                             value="gff3_multi_fasta/myHub/Dbia3/tracks/Multi-Fasta_GlimmerHMM_Gene_Predictions.bb"
+                             compare="sim_size"
+                />
+                <!-- Check the groups.txt exists and is properly populated -->
+            </output>
+        </test>
+
+        <!-- Test default color in a track -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bam"/>
+                        <param name="BAM" value="bam/inputs/HISAT2_Accepted_Hits.bam"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <output name="output" file="default_color/default_color_trackhub.html">
+                <!-- Verify trackDb.txt contains the color 0,0,0 -->
+                <extra_files type="file" name="myHub/Dbia3/trackDb.txt" value="default_color/myHub/Dbia3/trackDb.txt">
+                    <assert_contents>
+                        <has_text text="color 0,0,0"/>
+                    </assert_contents>
+                </extra_files>
+
+                <!-- TODO: Find a way to check also that the whole common structure is intact too, without too much repetition -->
+            </output>
+        </test>
+
+        <!-- Test changed color in a track -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="bam"/>
+                        <param name="BAM" value="bam/inputs/HISAT2_Accepted_Hits.bam"/>
+                        <param name="track_color" value="#8064a2"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <output name="output" file="changed_color/changed_color_trackhub.html">
+                <!-- Verify trackDb.txt contains the color 128,100,162 -->
+                <extra_files type="file" name="myHub/Dbia3/trackDb.txt" value="changed_color/myHub/Dbia3/trackDb.txt">
+                    <assert_contents>
+                        <has_text text="color 128,100,162"/>
+                    </assert_contents>
+                </extra_files>
+
+                <!-- TODO: Find a way to check also that the whole common structure is intact too, without too much repetition -->
+            </output>
+        </test>
+
+        <!-- Test for StringTie Chromosome end coordinates -->
+        <test>
+            <param name="genome_name" value="Dbia3"/>
+            <param name="fasta_file" value="common/dbia3.fa"/>
+            <repeat name="group">
+                <param name="group_name" value="Default group"/>
+                <repeat name="format">
+                    <conditional name="formatChoice">
+                        <param name="format_select" value="gtf"/>
+                        <param name="GTF" ftype="gtf" value="stringtie_chromosome_end_coordinates/inputs/StringTie_Assembled_Transcripts"/>
+                        <param name="track_color" value="#000000"/>
+                    </conditional>
+                </repeat>
+            </repeat>
+            <output name="output" file="stringtie_chromosome_end_coordinates/stringtie_chromosome_end_coordinates_trackhub.html">
+                <extra_files type="file"
+                             name="myHub/Dbia3/tracks/StringTie_Assembled_Transcripts.bb"
+                             value="stringtie_chromosome_end_coordinates/myHub/Dbia3/tracks/StringTie_Assembled_Transcripts.bb"
+                             compare="sim_size"
+                />
+
+                <!-- TODO: Find a way to check also that the whole common structure is intact too, without too much repetition -->
+            </output>
+        </test>
+
+        <!-- Test for big files? -->
+
+        <!-- Find tests that should fail -->
+
     </tests>
 
     <help>