comparison jbrowse.xml @ 3:7342f467507b draft

Uploaded v0.4 of JBrowse
author iuc
date Thu, 31 Dec 2015 13:58:43 -0500
parents 497c6bb3b717
children ae9382cfb6ac
comparison
equal deleted inserted replaced
2:b6a0e126dbee 3:7342f467507b
1 <tool id="jbrowse" name="JBrowse" version="0.3"> 1 <tool id="jbrowse" name="JBrowse" version="0.4">
2 <description>genome browser</description> 2 <description>genome browser</description>
3 <macros> 3 <macros>
4 <import>macros.xml</import> 4 <import>macros.xml</import>
5 </macros> 5 </macros>
6 <expand macro="requirements"/> 6 <expand macro="requirements"/>
7 <expand macro="stdio"/> 7 <expand macro="stdio"/>
8 <version_command>python jbrowse.py --version</version_command> 8 <version_command>python jbrowse.py --version</version_command>
9 <command interpreter="python"><![CDATA[jbrowse.py 9 <command><![CDATA[
10 $positional_1 10 mkdir -p $output.files_path &&
11 $trackYaml 11 ## Copy the XML file into the directory, mostly for debugging
12 ## but nice if users want to reproduce locally
13 cp $trackxml $output.files_path/galaxy.xml &&
14
15 ## Once that's done, we run the python script to handle the real work
16 python $__tool_directory__/jbrowse.py
17 $trackxml
12 18
13 --jbrowse \${JBROWSE_SOURCE_DIR} 19 --jbrowse \${JBROWSE_SOURCE_DIR}
14 --outdir $default.files_path 20 #if str($standalone) == "Complete":
15 > $default]]></command> 21 --standalone
22 #end if
23 --outdir $output.files_path;
24
25 #if str($standalone) == "Complete":
26 mv $output.files_path/index.html $output;
27 #else:
28 mv $dummyIndex $output;
29 #end if
30
31
32 ## Ugly testing hack since I cannot get <extra_files> to test the files I want to test. Hmph.
33 #if str($uglyTestingHack) == "enabled":
34 mv $trackxml $output
35 #end if
36 ]]></command>
16 <configfiles> 37 <configfiles>
17 <configfile name="trackYaml"> 38 <configfile name="dummyIndex">
18 --- 39 <![CDATA[
19 #for $track in $data_tracks: 40 <html>
20 - 41 <head>
21 file: ${track.data_format.annotation} 42 </head>
22 ext: ${track.data_format.annotation.ext} 43 <body>
23 label: "${track.annotation_label}" 44 <h1>JBrowse Data Directory</h1>
24 category: "${track.category}" 45 <p>
25 options: 46 Hi! This is not a full JBrowse instance. JBrowse v0.4(+?)
26 __unused__: "Not used...just to ensure options has at least one key" 47 started shipping with the ability to produce just the
27 #if str($track.data_format.data_format_select) == "wiggle": 48 "data" directory from a JBrowse instance, rather than a
28 type: ${track.data_format.xyplot} 49 complete, standalone instance. This was intended to be used
29 variance_band: ${track.data_format.var_band} 50 with the in-development Apollo integration, but may have other
30 #if str($track.data_format.scaling.scale_select) == "auto_local": 51 uses as well.
31 autoscale: local 52 </p>
32 #else if str($track.data_format.scaling.scale_select) == "auto_global": 53 <p>
33 autoscale: global 54 <u>This is not usable on its own</u>. The output dataset may be
34 #else: 55 used with Apollo, or may be passed through the "JBrowse -
35 min: ${track.data_format.scaling.minimum} 56 Convert to Standalone" tool in Galaxy to "upgrade" to a full
36 max: ${track.data_format.scaling.maximum} 57 JBrowse instance.
37 #end if 58 </p>
38 #else if str($track.data_format.data_format_select) == "pileup": 59 </body>
39 auto_snp: ${track.data_format.auto_snp} 60 </html>
40 bam_index: ${track.data_format.annotation.metadata.bam_index} 61 ]]>
41 #else if str($track.data_format.data_format_select) == "blast": 62 </configfile>
42 parent: ${track.data_format.blast_parent} 63 <configfile name="trackxml"><![CDATA[<?xml version="1.0"?>
43 protein: ${track.data_format.is_protein} 64 <root>
44 min_gap: ${track.data_format.min_gap} 65 <metadata>
45 match: true 66 <gencode>$gencode</gencode>
46 #else if str($track.data_format.data_format_select) == "gene_calls": 67 <genomes>
47 match: ${track.data_format.match_part} 68 #for $genome in $genomes:
48 #end if 69 <genome>$genome</genome>
49 #end for 70 #end for
71 </genomes>
72 </metadata>
73 <tracks>
74 #for $tg in $track_groups:
75 #for $track in $tg.data_tracks:
76 <track cat="${tg.category}" format="${track.data_format.data_format_select}">
77 <files>
78 #for $dataset in $track.data_format.annotation:
79 <trackFile path="${dataset}" ext="${dataset.ext}" label="${dataset.element_identifier}" />
80 #end for
81 </files>
82
83 <options>
84 #if str($track.data_format.data_format_select) == "gene_calls" or str($track.data_format.data_format_select) == "blast":
85 <style>
86 <className>${track.data_format.jbstyle.style_classname}</className>
87 <description>${track.data_format.jbstyle.style_description}</description>
88 <label>${track.data_format.jbstyle.style_label}</label>
89 <height>${track.data_format.jbstyle.style_height}</height>
90 </style>
91 <scaling>
92 #if str($track.data_format.jbcolor_scale.color_score.color_score_select) == "none":
93 <method>ignore</method>
94 <scheme>
95 #if str($track.data_format.jbcolor_scale.color_score.color.color_select) == "automatic":
96 <color>__auto__</color>
97 #else
98 <color>${track.data_format.jbcolor_scale.color_score.color.style_color}</color>
99 #end if
100 </scheme>
101 #else
102 <method>score</method>
103 <algo>${track.data_format.jbcolor_scale.color_score.score_scaling}</algo>
104 <scales>
105 <type>${track.data_format.jbcolor_scale.color_score.score_scales.scale_select}</type>
106
107 #if str($track.data_format.jbcolor_scale.color_score.score_scales.scale_select) == "manual":
108 <min>${track.data_format.jbcolor_scale.color_score.score_scales.minimum}</min>
109 <max>${track.data_format.jbcolor_scale.color_score.score_scales.maximum}</max>
110 #end if
111 </scales>
112 <scheme>
113 <type>${track.data_format.jbcolor_scale.color_score.color_scheme.score_scheme}</type>
114 ## auto_color
115 #if str($track.data_format.jbcolor_scale.color_score.color_scheme.score_scheme) == "opacity":
116 #if str($track.data_format.jbcolor_scale.color_score.color_scheme.color.color_select) == "automatic":
117 <color>__auto__</color>
118 #else
119 <color>${track.data_format.jbcolor_scale.color_score.color_scheme.color.style_color}</color>
120 #end if
121 #end if
122 </scheme>
123 #end if
124 </scaling>
125 #end if
126
127 #if str($track.data_format.data_format_select) == "wiggle":
128 <wiggle>
129 <type>${track.data_format.xyplot}</type>
130 <variance_band>${track.data_format.var_band}</variance_band>
131 #if str($track.data_format.scaling.scale_select) == "auto_local":
132 <autoscale>local</autoscale>
133 #else if str($track.data_format.scaling.scale_select) == "auto_global":
134 <autoscale>global</autoscale>
135 #else:
136 <min>${track.data_format.scaling.minimum}</min>
137 <max>${track.data_format.scaling.maximum}</max>
138 #end if
139
140 ## Wiggle tracks need special color config
141 #if str($track.data_format.jbcolor.color.color_select) != "automatic":
142 <color_pos>${track.data_format.jbcolor.color.style_pos_color}</color_pos>
143 <color_neg>${track.data_format.jbcolor.color.style_neg_color}</color_neg>
144 #else:
145 <color_pos>__auto__</color_pos>
146 <color_neg>__auto__</color_neg>
147 #end if
148
149 ## Bicolor pivot config
150 #if str($track.data_format.jbcolor.bicolor_pivot.bicolor_pivot_select) == "zero":
151 <bicolor_pivot>zero</bicolor_pivot>
152 #else if str($track.data_format.jbcolor.bicolor_pivot.bicolor_pivot_select) == "mean":
153 <bicolor_pivot>mean</bicolor_pivot>
154 #else:
155 <bicolor_pivot>${track.data_format.jbcolor.bicolor_pivot.pivot_point}</bicolor_pivot>
156 #end if
157 </wiggle>
158 #else if str($track.data_format.data_format_select) == "pileup":
159 <pileup>
160 <auto_snp>${track.data_format.auto_snp}</auto_snp>
161 <bam_indices>
162 #for $dataset in $track.data_format.annotation:
163 <bam_index>${dataset.metadata.bam_index}</bam_index>
164 #end for
165 </bam_indices>
166 </pileup>
167 #else if str($track.data_format.data_format_select) == "blast":
168 <blast>
169 #if str($track.data_format.blast_parent) != "":
170 <parent>${track.data_format.blast_parent}</parent>
171 #end if
172 <protein>${track.data_format.is_protein}</protein>
173 <min_gap>${track.data_format.min_gap}</min_gap>
174 </blast>
175 #else if str($track.data_format.data_format_select) == "gene_calls":
176 <gff>
177 #if $track.data_format.match_part.match_part_select:
178 <match>${track.data_format.match_part.name}</match>
179 #end if
180 </gff>
181 #end if
182 </options>
183 </track>
184 #end for
185 #end for
186 </tracks>
187 </root>
188 ]]>
50 </configfile> 189 </configfile>
51 </configfiles> 190 </configfiles>
52 <inputs> 191 <inputs>
53 <param label="Genome" name="positional_1" type="data" format="fasta"/> 192 <param label="Fasta Sequence(s)"
193 name="genomes"
194 type="data"
195 format="fasta"
196 multiple="True"/>
197 <param name="standalone" label="Produce Standalone Instance" type="boolean" truevalue="Complete" falsevalue="Data Directory" help="Produce a full, working JBrowse instance or just the data directory. Data dir mode is experimental and intended to be used with Apollo" checked="True"/>
198
199 <param label="Genetic Code" name="gencode" type="select">
200 <option value="1">1. The Standard Code</option>
201 <option value="2">2. The Vertebrate Mitochondrial Code</option>
202 <option value="3">3. The Yeast Mitochondrial Code</option>
203 <option value="4">4. The Mold, Protozoan, and Coelenterate Mitochondrial Code and the Mycoplasma/Spiroplasma Code</option>
204 <option value="5">5. The Invertebrate Mitochondrial Code</option>
205 <option value="6">6. The Ciliate, Dasycladacean and Hexamita Nuclear Code</option>
206 <option value="9">9. The Echinoderm and Flatworm Mitochondrial Code</option>
207 <option value="10">10. The Euplotid Nuclear Code</option>
208 <option value="11">11. The Bacterial, Archaeal and Plant Plastid Code</option>
209 <option value="12">12. The Alternative Yeast Nuclear Code</option>
210 <option value="13">13. The Ascidian Mitochondrial Code</option>
211 <option value="14">14. The Alternative Flatworm Mitochondrial Code</option>
212 <option value="16">16. Chlorophycean Mitochondrial Code</option>
213 <option value="21">21. Trematode Mitochondrial Code</option>
214 <option value="22">22. Scenedesmus obliquus Mitochondrial Code</option>
215 <option value="23">23. Thraustochytrium Mitochondrial Code</option>
216 <option value="24">24. Pterobranchia Mitochondrial Code</option>
217 <option value="25">25. Candidate Division SR1 and Gracilibacteria Code</option>
218 </param>
219
220 <repeat name="track_groups" title="Track Group">
221 <param label="Track Category"
222 name="category"
223 type="text"
224 value="Default"
225 help="Organise your tracks into Categories for a nicer end-user experience" optional="False"/>
54 <repeat name="data_tracks" title="Annotation Track"> 226 <repeat name="data_tracks" title="Annotation Track">
55 <param label="Track Label" name="annotation_label" type="text"/>
56 <param label="Track Category" name="category" type="text" value="Default"
57 help="Organise your tracks into Categories for a nicer end-user experience"/>
58 <conditional name="data_format" label="Track Options"> 227 <conditional name="data_format" label="Track Options">
59 <param type="select" label="Track Type" name="data_format_select"> 228 <param type="select" label="Track Type" name="data_format_select">
60 <option value="gene_calls">GFF/GFF3/BED Featuers</option> 229 <option value="gene_calls">GFF/GFF3/BED/GBK Features</option>
61 <option value="pileup">BAM Pileups</option> 230 <option value="pileup">BAM Pileups</option>
62 <option value="blast">Blast XML</option> 231 <option value="blast">Blast XML</option>
63 <option value="wiggle">BigWig XY</option> 232 <option value="wiggle">BigWig XY</option>
64 <option value="vcf">VCF SNPs</option> 233 <option value="vcf">VCF SNPs</option>
65 </param> 234 </param>
66 <when value="blast"> 235 <when value="blast">
67 <param label="BlastXML Track Data" format="blastxml" name="annotation" type="data"/> 236 <expand macro="input_conditional" label="BlastXML Track Data" format="blastxml" />
68 237
69 <param label="Features used in Blast Search" help="in GFF3. This is required so we know where to map features. E.g. where results of which CDS Protein32 match up to. The query IDs in your blast results should MATCH some feature IDs in your GFF3 file." 238 <param label="Features used in Blast Search"
70 format="gff3" name="blast_parent" type="data"/> 239 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."
71 240 format="gff3"
72 <param label="Minimum Gap Size" help="before a new match_part feature is created" name="min_gap" 241 name="blast_parent"
73 type="integer" value="10" min="2" /> 242 optional="true"
243 type="data"/>
244
245 <param label="Minimum Gap Size"
246 help="before a new match_part feature is created"
247 name="min_gap"
248 type="integer"
249 value="10"
250 min="2" />
74 <param label="Is this a protein blast search?" 251 <param label="Is this a protein blast search?"
75 type="boolean" name="is_protein" truevalue="true" falsevalue="false" /> 252 type="boolean"
253 name="is_protein"
254 truevalue="true"
255 falsevalue="false" />
256
257 <expand macro="track_styling"
258 classname="feature"
259 label="description"
260 description="Hit_titles"
261 height="600px"/>
262 <expand macro="color_selection"
263 token_scaling_lin_select="false"
264 token_scaling_log_select="true" />
76 </when> 265 </when>
77 <when value="vcf"> 266 <when value="vcf">
78 <param label="SNPs" help="in VCF" 267 <expand macro="input_conditional" label="SNP Track Data" format="vcf" />
79 format="vcf" name="annotation" type="data"/>
80 </when> 268 </when>
81 <when value="gene_calls"> 269 <when value="gene_calls">
82 <param label="Track Data" help="in GFF, GFF3, BED" 270 <expand macro="input_conditional" label="GFF/GFF3/BED Track Data" format="gff,gff3,bed" />
83 format="gff,gff3,bed" name="annotation" type="data"/> 271 <conditional name="match_part" label="match/match_part data">
84 272 <param label="This is match/match_part data"
85 <param label="This is match/match_part data" 273 type="boolean"
86 type="boolean" name="match_part" truevalue="true" falsevalue="false" /> 274 name="match_part_select"
275 truevalue="true"
276 falsevalue="false" />
277 <when value="true">
278 <param label="Match Part Feature Type"
279 name="name"
280 type="text"
281 value="match"
282 help="Match_parts have several options for the parent feature type, such as cDNA_match, match, translated_nucleotide_match, etc. Please select the appropriate one here"
283 optional="False"/>
284 </when>
285 <when value="false" />
286 </conditional>
287 <expand macro="track_styling" />
288 <expand macro="color_selection" />
87 </when> 289 </when>
88 <when value="pileup"> 290 <when value="pileup">
89 <param label="Track Data" help="in BAM" 291 <expand macro="input_conditional" label="BAM Track Data" format="bam" />
90 format="bam" name="annotation" type="data"/> 292 <param label="Autogenerate SNP Track"
91 <param label="Autogenerate SNP Track" help="Not recommended for deep coverage BAM files" 293 help="Not recommended for deep coverage BAM files"
92 type="boolean" name="auto_snp" truevalue="true" falsevalue="false" /> 294 type="boolean"
295 name="auto_snp"
296 truevalue="true"
297 falsevalue="false" />
93 </when> 298 </when>
94 <when value="wiggle"> 299 <when value="wiggle">
95 <param label="Track Data" help="in BigWig" 300 <expand macro="input_conditional" label="BigWig Track Data" format="bigwig" />
96 format="bigwig" name="annotation" type="data"/> 301
97 <param label="Use XYPlot" help="instead of continuous coloured band" 302 <param label="Use XYPlot"
98 type="boolean" name="xyplot" truevalue="JBrowse/View/Track/Wiggle/XYPlot" 303 help="instead of continuous colored band"
99 falsevalue="JBrowse/View/Track/Wiggle/Density" /> 304 type="boolean"
100 <param label="Show variance band" help="Only for XYPlots" 305 name="xyplot"
101 type="boolean" name="var_band" truevalue="true" 306 truevalue="JBrowse/View/Track/Wiggle/XYPlot"
102 falsevalue="false" /> 307 falsevalue="JBrowse/View/Track/Wiggle/Density" />
308 <param label="Show variance band"
309 help="Only for XYPlots"
310 type="boolean"
311 name="var_band"
312 truevalue="true"
313 falsevalue="false" />
103 314
104 <conditional name="scaling" label="Scaling"> 315 <conditional name="scaling" label="Scaling">
105 <param type="select" label="Track Scaling" name="scale_select"> 316 <param type="select" label="Track Scaling" name="scale_select">
106 <option value="auto_local">Autoscale (local)</option> 317 <option value="auto_local">Autoscale (local)</option>
107 <option value="auto_global">Autoscale (global)</option> 318 <option value="auto_global" selected="true">Autoscale (global)</option>
108 <option vlue="fixed">Specify Min/Max</option> 319 <option value="fixed">Specify Min/Max</option>
109 </param> 320 </param>
110 <when value="auto_local"></when> 321 <when value="auto_local"></when>
111 <when value="auto_global"></when> 322 <when value="auto_global"></when>
112 <when value="fixed"> 323 <when value="fixed">
113 <param label="Track minimum" name="minimum" 324 <param label="Track minimum" name="minimum"
114 type="integer" value="0" /> 325 type="integer" value="0" />
115 <param label="Track maximum" name="maximum" 326 <param label="Track maximum" name="maximum"
116 type="integer" value="100" /> 327 type="integer" value="100" />
117 </when> 328 </when>
118 </conditional> 329 </conditional>
330 <expand macro="color_selection_minmax" />
119 </when> 331 </when>
120 </conditional> 332 </conditional>
121 </repeat> 333 </repeat>
334 </repeat>
335
336 <param type="hidden" name="uglyTestingHack" value="" />
122 </inputs> 337 </inputs>
123 <outputs> 338 <outputs>
124 <data format="html" name="default" label="JBrowse on $positional_1.name"/> 339 <data format="html" name="output" label="JBrowse on $on_string - $standalone"/>
125 </outputs> 340 </outputs>
341 <tests>
342 <test>
343 <!-- gencode -->
344 <param name="genomes" value="merlin.fa"/>
345 <param name="gencode" value="1" />
346 <param name="standalone" value="Data Directory" />
347 <param name="uglyTestingHack" value="enabled" />
348 <output name="output" file="gencode/test-1.xml" lines_diff="4" />
349 </test>
350 <test>
351 <param name="genomes" value="merlin.fa"/>
352 <param name="gencode" value="11" />
353 <param name="standalone" value="Data Directory" />
354 <param name="uglyTestingHack" value="enabled" />
355 <output name="output" file="gencode/test.xml" lines_diff="4"/>
356 </test>
357 <!--
358 <test>
359 <param name="genomes" value="merlin.fa"/>
360 <param name="gencode" value="11" />
361 <param name="standalone" value="Data Directory" />
362 <param name="track_groups_0|category" value="Auto Coloured" />
363 <param name="track_groups_0|data_tracks_0|data_format" value="gene_calls"/>
364 <param name="track_groups_0|data_tracks_0|annotation" value="gff3/A.gff,gff3/B.gff,gff3/C.gff,gff3/D.gff"/>
365 <param name="track_groups_0|data_tracks_0|match_part|match_part_select" value="false"/>
366 <param name="track_groups_0|data_tracks_0|jbcolor_scale|color_score|color_score_select" value="none"/>
367 <param name="track_groups_0|data_tracks_0|jbcolor_scale|color|color_select" value="automatic"/>
368
369
370 <param name="track_groups_1|category" value="Ignore Scale" />
371 <param name="track_groups_1|data_tracks_0|data_format" value="gene_calls"/>
372 <param name="track_groups_1|data_tracks_0|annotation" value="gff3/1.gff"/>
373 <param name="track_groups_1|data_tracks_0|match_part|match_part_select" value="false"/>
374 <param name="track_groups_1|data_tracks_0|jbcolor_scale|color_score|color_score_select" value="none"/>
375 <param name="track_groups_1|data_tracks_0|jbcolor_scale|color_score|color|color_select" value="manual"/>
376 <param name="track_groups_1|data_tracks_0|jbcolor_scale|color_score|color|style_color" value="#ff00ff"/>
377
378 <param name="track_groups_2|category" value="Scaled Colour" />
379 <param name="track_groups_2|data_tracks_0|data_format" value="gene_calls"/>
380 <param name="track_groups_2|data_tracks_0|annotation" value="gff3/1.gff"/>
381 <param name="track_groups_2|data_tracks_0|match_part|match_part_select" value="false"/>
382 <param name="track_groups_2|data_tracks_0|jbcolor_scale|color_score|color_score_select" value="score"/>
383 <param name="track_groups_2|data_tracks_0|jbcolor_scale|color_score|score_scaling" value="linear"/>
384 <param name="track_groups_2|data_tracks_0|jbcolor_scale|color_score|score_scales|scale_select" value="automatic"/>
385 <param name="track_groups_2|data_tracks_0|jbcolor_scale|color_score|color_scheme|score_scheme" value="opacity"/>
386 <param name="track_groups_2|data_tracks_0|jbcolor_scale|color_score|color_scheme|color_select" value="automatic"/>
387 <param name="track_groups_2|data_tracks_1|data_format" value="gene_calls"/>
388 <param name="track_groups_2|data_tracks_1|annotation" value="gff3/1.gff"/>
389 <param name="track_groups_2|data_tracks_1|match_part|match_part_select" value="false"/>
390 <param name="track_groups_2|data_tracks_1|jbcolor_scale|color_score|color_score_select" value="score"/>
391 <param name="track_groups_2|data_tracks_1|jbcolor_scale|color_score|score_scaling" value="linear"/>
392 <param name="track_groups_2|data_tracks_1|jbcolor_scale|color_score|score_scales|scale_select" value="automatic"/>
393 <param name="track_groups_2|data_tracks_1|jbcolor_scale|color_score|color_scheme|score_scheme" value="opacity"/>
394 <param name="track_groups_2|data_tracks_1|jbcolor_scale|color_score|color_scheme|color_select" value="manual"/>
395 <param name="track_groups_2|data_tracks_1|jbcolor_scale|color_score|color_scheme|style_color" value="#0000ff"/>
396 <param name="track_groups_2|data_tracks_2|data_format" value="gene_calls"/>
397 <param name="track_groups_2|data_tracks_2|annotation" value="gff3/1.gff"/>
398 <param name="track_groups_2|data_tracks_2|match_part|match_part_select" value="false"/>
399 <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|color_score_select" value="score"/>
400 <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|score_scaling" value="linear"/>
401 <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|score_scales|scale_select" value="automatic"/>
402 <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|score_scales|minimum" value="0"/>
403 <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|score_scales|maximum" value="1000"/>
404 <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|color_scheme|score_scheme" value="opacity"/>
405 <param name="track_groups_2|data_tracks_2|jbcolor_scale|color_score|color_scheme|color_select" value="automatic"/>
406 <param name="track_groups_2|data_tracks_3|data_format" value="gene_calls"/>
407 <param name="track_groups_2|data_tracks_3|annotation" value="gff3/1.gff"/>
408 <param name="track_groups_2|data_tracks_3|match_part|match_part_select" value="false"/>
409 <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|color_score_select" value="score"/>
410 <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|score_scaling" value="linear"/>
411 <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|score_scales|scale_select" value="automatic"/>
412 <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|score_scales|minimum" value="0"/>
413 <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|score_scales|maximum" value="1000"/>
414 <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|color_scheme|score_scheme" value="opacity"/>
415 <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|color_scheme|color_select" value="manual"/>
416 <param name="track_groups_2|data_tracks_3|jbcolor_scale|color_score|color_scheme|style_color" value="#ff0000"/>
417
418 <param name="track_groups_3|category" value="Realistic" />
419 <param name="track_groups_3|data_tracks_0|data_format" value="gene_calls"/>
420 <param name="track_groups_3|data_tracks_0|annotation" value="gff3/interpro.gff"/>
421 <param name="track_groups_3|data_tracks_0|match_part|match_part_select" value="false"/>
422 <param name="track_groups_3|data_tracks_0|jbcolor_scale|color_score|color_score_select" value="none"/>
423 <param name="track_groups_3|data_tracks_0|jbcolor_scale|color|color_select" value="automatic"/>
424 <param name="track_groups_3|data_tracks_1|data_format" value="gene_calls"/>
425 <param name="track_groups_3|data_tracks_1|annotation" value="gff3/2.gff"/>
426 <param name="track_groups_3|data_tracks_1|match_part|match_part_select" value="true"/>
427 <param name="track_groups_3|data_tracks_1|match_part|name" value="cDNA_match"/>
428 <param name="track_groups_3|data_tracks_1|jbcolor_scale|color_score|color_score_select" value="none"/>
429 <param name="track_groups_3|data_tracks_1|jbcolor_scale|color|color_select" value="automatic"/>
430
431 <param name="uglyTestingHack" value="enabled" />
432 <output name="output" file="gff3/test.xml" />
433 </test>
434 -->
435 </tests>
126 <help><![CDATA[ 436 <help><![CDATA[
127 Deploy a static JBrowse visualization of a genome and some associated datasets 437 JBrowse-in-Galaxy
438 =================
439
440 JBrowse-in-Galaxy offers a highly configurable, workflow-compatible
441 alternative to Trackster.
442
443 The JBrowse-in-Galaxy (JiG) tool was written to help build complex
444 JBrowse installations straight from Galaxy, taking advantage of the
445 latest Galaxy features such as dataset collections, sections, and colour
446 pickers. It allows you to build up a JBrowse instance without worrying
447 about how to run the command line tools to format your data, and which
448 options need to be supplied and where. Additionally it comes with many
449 javascript functions to handle colouring of features which would be
450 nearly impossible to write without the assistance of this tool.
451
452 The JBrowse-in-Galaxy tool is maintained by `Eric
453 Rasche <mailto:esr+jig@tamu.edu>`__, who you can contact if you
454 encounter missing features or bugs.
455
456 Options
457 -------
458
459 The first option you encounter is the **Fasta Sequence(s)**. This option
460 now accepts multiple fasta files, allowing you to build JBrowse
461 instances that contain data for multiple genomes or chrosomomes
462 (generally known as "landmark features" in gff3 terminology.) Up to 30
463 will be shown from the dropdown selector within JBrowse, this is a known
464 issue.
465
466 **Standalone Instances** are a somewhat in-development feature.
467 Currently Galaxy copies the entire JBrowse directory in order to have a
468 complete, downloadable file that contains a ready-to-go JBrowse
469 instance. This is obviously an anti-feature because users don't want a
470 complete copy of JBrowse (6-20Mb) that's duplicated for every JBrowse
471 dataset in their history, and admins don't want useless copies of
472 JBrowse on disk. Unfortunately we have not come up with the perfect
473 solution just yet, but we're working on it! In the meantime, users have
474 been given the option to produce just the ``data/`` directory. For those
475 unfamiliar with JBrowse, the ``data/`` directory contains processed data
476 files, but no way to view them. This feature is additionally implemented
477 for upcoming `Apollo <https://github.com/gmod/apollo>`__ integration.
478
479 **Genetic Code** is a new feature in v0.4 of JiG / v1.12.0 of JBrowse,
480 which allows users to specify a non standard genetic code, and have
481 JBrowse highlight the correct start and stop codons. If you would like
482 to use a coding table not provided by this list, please let
483 `me <mailto:esr+jig@tamu.edu>`__ know so that I may add support for
484 this.
485
486 **Track Groups** represent a set of tracks in a single category. These
487 can be used to let your users understand relationships between large
488 groups of tracks.
489
490 .. image:: sections.png
491
492 Annotation Tracks
493 -----------------
494
495 Within Track Groups, you have one or more **Annotation Tracks**. Each
496 Annotation Track is a groups of datasets which have similar styling.
497 This allows you to rapidly build up JBrowse instances without having to
498 configure tracks individually. A massive improvement over previous
499 versions. For example, if you have five different GFF3 files from
500 various gene callers that you wish to display, you can take advantage of
501 this feature to style all of them similarly.
502
503 There are a few different types of tracks supported, each with their own
504 set of options:
505
506 GFF3/BED/GBK
507 ~~~~~~~~~~~~
508
509 These are your standard feature tracks. They usually highlight genes,
510 mRNAs and other features of interest along a genomic region. The
511 underlying tool and this help documentation focus primarily on GFF3
512 data, and have not been tested extensively with other formats. Automatic
513 min/max detection will likely fail under BED and GBK datasets.
514
515 The data may be of a subclass we call **match/match part** data. This
516 consists of top level ``match`` features, with a child ``match_part``
517 feature, and is often used in displaying alignments. (See "Alignments"
518 section on the `GFF3
519 specification <http://www.sequenceontology.org/gff3.shtml>`__ for more
520 information). If the data is match/match part, you will need to specify
521 the top level match feature name, as it can be one of a few different SO
522 terms, and JiG does not yet have the ability to understand SO terms.
523
524 Next up is the **Styling Options** section, which lets you control a few
525 properties on how the track is styled. Most of these you will not need
526 to configure and can safely leave on defaults. Occasionally you will
527 want to change what information is shown in the end product.
528
529 .. image:: styling.png
530
531 In the above image you can see some black text, and some blue text. The
532 source of the black text is configured with the **style.label** option,
533 and the source of the blue text is configured with the
534 **style.description** option.
535
536 Feature Score Scaling & Colouring Options
537 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
538
539 First, you need to choose between ignoring the score attribute of GFF3
540 files, or using it. If you choose to ignore it, all features will be
541 coloured with a solid colour. If you choose to use it, features will
542 have slightly different colours based on their scores.
543
544 .. image:: opacity.png
545
546 If you choose **Ignore score**, you may choose between automatically
547 choosing a colour, or manually specifying one. The automatically chosen
548 colours vary along a brewer palette and generally look quite nice with
549 no human intervention required. The manual colour choice is somewhat
550 self explanatory. Clicking on the small coloured square will bring up a
551 colour palette.
552
553 If you choose **Base on score**, you're faced with a dizzying array of
554 options. First is the function to map the colour choices to colour
555 values. JiG comes with a few functions built in such as linear scaling,
556 logarithmic scaling, and blast scaling.
557
558 The **linear scaling** method says "take these values, and they map
559 directly to a range of output values". **Logarithmic scaling** says
560 "please take the log of the score before mapping", and **Blast scaling**
561 is further specialised to handle blast data more nicely. These are
562 convenience functions to help transform the wide array of possible
563 values in the GFF3 score attribute to more meaningful numbers. If you
564 need more comprehensive score scaling, it is recommended that you
565 pre-process your GFF3 files somehow.
566
567 Once you've selected a scaling method, you can choose to manually
568 specify the minimum and maximum expected values, or you can let JiG
569 determine them for you automatically.
570
571 Finally, opacity is the only mapping we currently provide. Future
572 iterations will attempt to improve upon this and provide more colour
573 scales. The Opacity option maps the highest scoring features to full
574 opacity, and everything else to lower ones.
575
576 BAM Pileups
577 ~~~~~~~~~~~
578
579 We support BAM files and can automatically generate SNP tracks based on
580 that bam data.
581
582 .. image:: bam.png
583
584 This is *strongly discouraged* for high coverage density datasets.
585 Unfortunately there are no other configuration options exposed for bam
586 files. If you find JBrowse options you wish to see exposed, please let
587 `me <mailto:esr+jig@tamu.edu>`__ know.
588
589 BlastXML
590 ~~~~~~~~
591
592 .. image:: blast.png
593
594 JiG now supports both blastn and blastp datasets. JiG internally uses a
595 blastXML to gapped GFF3 tool to convert your blastxml datasets into a
596 format amenable to visualization in JBrowse. This tool is also
597 available separately from the IUC on the toolshed.
598
599 **Minimum Gap Size** reflects how long a gap must be before it becomes a
600 real gap in the processed gff3 file. In the picture above, various sizes
601 of gaps can be seen. If the minimum gap size was set much higher, say
602 100nt, many of the smaller gaps would disappear, and the features on
603 both sides would be merged into one, longer feature. This setting is
604 inversely proportional to runtime and output file size. *Do not set this
605 to a low value for large datasets*. By setting this number lower, you
606 will have extremely large outputs and extremely long runtimes. The
607 default was configured based off of the author's experience, but the
608 author only works on small viruses. It is *strongly* recommended that
609 you filter your blast results before display, e.g. picking out the top
610 10 hits or so.
611
612 **Protein blast search** option merely informs underlying tools that
613 they should adjust feature locations by 3x.
614
615 Styling Options
616 ^^^^^^^^^^^^^^^
617
618 Please see the styling options for GFF3 datasets, they are identical.
619
620 Feature Score Scaling & Coloring Options
621 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
622
623 Please see the score scaling and colouring options for GFF3 datasets,
624 they are identical. Remember to set your score scaling to "blast" method
625 if you do use it.
626
627 Bigwig XY
628 ~~~~~~~~~
629
630 .. image:: bigwig.png
631
632 **XYPlot**
633
634 BigWig tracks can be displayed as a "density" plot which is continuous
635 line which varies in colour, or as an "XYplot." XYplots are preferable
636 for users to visually identify specific features in a bigwig track,
637 however density tracks are more visually compact.
638
639 **Variance Band** is an option available to XYPlots, and can be seen in
640 the third and fourth tracks in the above picture. This overlays a mean
641 line, and 1 and 2 standard deviation areas.
642
643 **Track Scaling** is different from colour scaling, instead it
644 configures how the track behaves inside of JBrowse. **Autoscaling
645 globally** means that JBrowse will determine the minimum and maximum for
646 the track, and fix the bounds of the viewport to that. E.g. if your
647 track ranges from 1-1000, and the region you're currently zoomed to only
648 goes from 0-50, then the viewport range will still show 1-1000. This is
649 good for global genomic context. However you may wish to consider
650 **autoscaling locally** instead. In the example of a region which varies
651 from 0-50, autoscaling locally would cause the individual track's
652 viewport to re-adjust and show just the 0-50 region. If neither of these
653 options are palatable, you may manually hardcode the minimum and
654 maximums for the track to scale to.
655
656 Colour Options
657 ^^^^^^^^^^^^^^
658
659 BigWig tracks have two colours in JBrowse, a positive and a negative
660 colour.
661
662 As always you may manually choose a colour, or let JiG choose for you.
663
664 One of the more interesting options is the **Bicolor pivot**. This
665 option allows you to control the point at which JBrowse switches from
666 the positive colour to the negative. In the above graphic, you can see
667 this has been configured to "mean" for the first two (orange and blue)
668 tracks.
669
670 VCFs/SNPs
671 ~~~~~~~~~
672
673 These tracks do not support any special configuration.
674
675 Known Issues
676 ------------
677
678 - More than 30 landmark features cannot be listed in the manual
679 selector.
680 - Non GFF3 likely has issue with automatically determined min/max
681 scores. Manually specify minimum and maximum score attributes, or do
682 not use varied colours based on scores to avoid this issue.
683
128 684
129 @ATTRIBUTION@ 685 @ATTRIBUTION@
130 ]]></help> 686 ]]></help>
131 <citations> 687 <citations>
132 <citation type="doi">10.1101/gr.094607.109</citation> 688 <citation type="doi">10.1101/gr.094607.109</citation>