comparison jbrowse2broken.xml @ 57:94264fe60478 draft

planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit 4b5df41484f6bdf316edaf95b53c92d328ec1674-dirty
author fubar
date Thu, 21 Mar 2024 08:01:42 +0000
parents
children
comparison
equal deleted inserted replaced
56:c0097a584a8a 57:94264fe60478
1 <tool id="jbrowse2" name="jbrowse2" version="@TOOL_VERSION@+@WRAPPER_VERSION@_7" profile="22.05">
2 <description>genome browser</description>
3 <macros>
4 <import>macros.xml</import>
5 </macros>
6 <expand macro="edamInc"/>
7 <xrefs>
8 <xref type="bio.tools">jbrowse2</xref>
9 </xrefs>
10 <expand macro="requirements"/>
11 <version_command>python '${__tool_directory__}/jbrowse2.py' --version</version_command>
12 <command detect_errors="aggressive"><![CDATA[
13 mkdir -p '$output.files_path' &&
14 ## Copy the XML file into the directory, mostly for debugging
15 ## but nice if users want to reproduce locally
16 cp '$trackxml' '$output.files_path/galaxy.xml' &&
17
18 export JBROWSE2_PATH=\$(dirname \$(which jbrowse))/../opt/jbrowse2 &&
19
20 #if $jbgen.ucol.formcoll=="collect":
21 python '$__tool_directory__/autogenJB2.py'
22 #for $key in $autoCollection.keys():
23 #if $autoCollection[$key].is_collection:
24 #set subCol=$autoCollection[$key]
25 #set pafs=[($subCol[x],$subcol[x].ext,x) for x in $subCol.keys() if $subCol[x].ext == 'paf']
26 #if len($pafs) > 0:
27 --pafmeta '$pafs[0]'
28 #set refs = [($pafs[0][2],$subCol[x],x) for x in $subCol.keys() if $subCol[x].ext == 'fasta']
29 #for $ref in $refs:
30 --pafreferencemeta '$ref'
31 #end for
32 #end if
33 #else if $autoCollection[$key].ext == 'fasta':
34 --referencemeta '$autoCollection[$key],$autoCollection[$key].ext,$key'
35 #else if $autoCollection[$key].ext in ['bed', 'bigwig', 'cool', 'gff', 'gff3', 'hic', 'maf', 'mcool', 'scool', 'vcf']
36 --trackmeta '$autoCollection[$key],$autoCollection[$key].ext,$key'
37 #else if $autoCollection[$key].ext in ['bam',]
38 --trackmeta '$autoCollection[$key],$autoCollection[$key].ext,$key,$autoCollection[$key].metadata.bam_index'
39 #else if $autoCollection[$key].ext in ['cram',]
40 --trackmeta '$autoCollection[$key],$autoCollection[$key].ext,$key,$autoCollection[$key].metadata.cram_index'
41 #end if
42 #end for
43 --outdir '$output.files_path'
44 --jbrowse2path \${JBROWSE2_PATH}
45 --sessName "Autogen JBrowse" &&
46 #if $jbgen.zipOut == "true":
47 (cd '$output.files_path' && zip -r - . ) > '$output'
48 #else
49 cp '$output.files_path/index.html' '$output'
50 #end if
51 #else:
52 python '$__tool_directory__/jbrowse2.py'
53 --jbrowse2path \${JBROWSE2_PATH}
54 --outdir '$output.files_path'
55 --xml '$trackxml' &&
56 #if $jbgen.zipOut == "true":
57 (cd '$output.files_path' && zip -r - . ) > '$output'
58 #else
59 cp '$output.files_path/index.html' '$output'
60 #end if
61 ## Ugly testing hack since I cannot get <extra_files> to test the files I want to test. Hmph.
62 #if str($uglyTestingHack) == "enabled":
63 && cp '$trackxml' '$output'
64 #end if
65 #end if
66 ]]></command>
67 <configfiles>
68 <configfile name="trackxml"><![CDATA[<?xml version="1.0"?>
69 #if $jbgen.ucol.formcoll=="form":
70 <root>
71 <metadata>
72 <genomes>
73 #if str($reference_genome.genome_type_select) == "uri":
74 <genome path="${reference_genome.uri}" label="${reference_genome.refname}" useuri="yes">
75 <metadata>
76 <dataset
77 dname = "${reference_genome.refname}" />
78 </metadata>
79 </genome>
80 #else if str($reference_genome.genome_type_select) == "indexed":
81 <genome path="${reference_genome.genome.fields.path}" label="${reference_genome.genome.fields.name}" useuri="no">
82 <metadata>
83 <dataset
84 dname = "${reference_genome.genome.fields.name}" />
85 </metadata>
86 </genome>
87 #else
88 <genome path="$reference_genome.genome" label="${reference_genome.genome.name}" useuri="no">
89 <metadata>
90 <dataset id="${__app__.security.encode_id($reference_genome.genome.id)}" hid="${reference_genome.genome.hid}"
91 size="${reference_genome.genome.get_size(nice_size=True)}"
92 edam_format="${reference_genome.genome.datatype.edam_format}"
93 file_ext="${reference_genome.genome.ext}"
94 dname = "${reference_genome.genome.name}" />
95 <history id="${__app__.security.encode_id($reference_genome.genome.history_id)}"
96 #if $reference_genome.genome.history.user:
97 user_email="${reference_genome.genome.history.user.email}"
98 user_id="${reference_genome.genome.history.user_id}"
99 display_name="${reference_genome.genome.history.get_display_name()}"/>
100 #else
101 user_email="anonymous"
102 user_id="-1"
103 display_name="Unnamed History"/>
104 #end if
105 <metadata
106 #for (key, value) in $reference_genome.genome.get_metadata().items():
107 #if "_types" not in $key:
108 #if isinstance($value, list):
109 #set value_str = "[%s]" % ','.join([str(val) for val in value])
110 ${key}="$value_str"
111 #else
112 ${key}="${value}"
113 #end if
114 #end if
115 #end for
116 />
117 <tool
118 tool_id="${reference_genome.genome.creating_job.tool_id}"
119 tool_version="${reference_genome.genome.creating_job.tool_version}"
120 />
121 </metadata>
122 </genome>
123 #end if
124 </genomes>
125 <general>
126 <defaultLocation>${jbgen.defaultLocation}</defaultLocation>
127 <zipOut>${jbgen.zipOut}</zipOut>
128 <analytics>${jbgen.enableAnalytics}</analytics>
129 <primary_color>${jbgen.primary_color}</primary_color>
130 <secondary_color>${jbgen.secondary_color}</secondary_color>
131 <tertiary_color>${jbgen.tertiary_color}</tertiary_color>
132 <quaternary_color>${jbgen.quaternary_color}</quaternary_color>
133 <font_size>${jbgen.font_size}</font_size>
134 <session_name>${jbgen.session_name}</session_name>
135 </general>
136 <galaxyUrl>${__app__.config.galaxy_infrastructure_url}</galaxyUrl>
137 </metadata>
138 <tracks>
139 #for $tg in $track_groups:
140 #for $track in $tg.data_tracks:
141 #if $track.data_format.useuri.insource == "uri":
142 <track cat="${tg.category}" format="${track.data_format.data_format_select}" visibility="${track.data_format.track_visibility}">
143 <files>
144 <trackFile path="${track.data_format.useuri.annouri}" ext="${track.data_format.data_format_select}" label="${track.data_format.useuri.annoname}" useuri="yes">
145 <metadata>
146 <dataset id = "${track.data_format.useuri.annouri}" />
147 </metadata>
148 </trackFile>
149 </files>
150 <options/>
151 </track>
152 #else if $track.data_format.useuri.insource == "history":
153 #if $track.data_format.useuri.annotation:
154 <track cat="${tg.category}" format="${track.data_format.data_format_select}" visibility="${track.data_format.track_visibility}">
155 <files>
156 #for $dataset in $track.data_format.useuri.annotation:
157 <trackFile path="${dataset}" ext="${dataset.ext}" label="${dataset.name}" useuri="no">
158 <metadata>
159
160 <dataset id="${__app__.security.encode_id($dataset.id)}" hid="${dataset.hid}"
161 size="${dataset.get_size(nice_size=True)}"
162 edam_format="${dataset.datatype.edam_format}"
163 file_ext="${dataset.ext}" />
164 <history id="${__app__.security.encode_id($dataset.history_id)}"
165 #if $dataset.history.user:
166 user_email="${dataset.history.user.email}"
167 user_id="${dataset.history.user_id}"
168 display_name="${dataset.history.get_display_name()}"/>
169 #else
170 user_email="anonymous"
171 user_id="-1"
172 display_name="Unnamed History"/>
173 #end if
174
175 <metadata
176 #for (key, value) in $dataset.get_metadata().items():
177 #if "_types" not in $key and $value is not None and len(str($value)) < 5000:
178 #if isinstance($value, list):
179 #set value_str = "[%s]" % ','.join([str(val) for val in value])
180 ${key}="$value_str"
181 #else
182 ${key}="${value}"
183 #end if
184 #end if
185 #end for
186 />
187 <tool
188 tool_id="${dataset.creating_job.tool_id}"
189 tool_version="${dataset.creating_job.tool_version}"
190 />
191 </metadata>
192 </trackFile>
193 #end for
194 </files>
195
196 <options>
197 <style>
198 #if str($track.data_format.data_format_select) in ["gff", "bed", "paf", "blastxml"]:
199 <type>${track.data_format.jbstyle.track_style.display}</type>
200 #if str($track.data_format.jbstyle.track_style.display) in ["LinearBasicDisplay"]:
201 <trackShowLabels>${track.data_format.jbstyle.track_style.show_labels}</trackShowLabels>
202 <trackShowDescriptions>${track.data_format.jbstyle.track_style.show_descriptions}</trackShowDescriptions>
203 #end if
204 #end if
205 #if str($track.data_format.data_format_select) in ["bam", "cram"]:
206 <type>"LinearAlignmentsDisplay"</type>
207 #end if
208 </style>
209 #if str($track.data_format.data_format_select) == "bam":
210 <bam>
211 #for $dataset in $track.data_format.useuri.annotation:
212 <bam_index>${dataset.metadata.bam_index}</bam_index>
213 #end for
214 </bam>
215 #else if str($track.data_format.data_format_select) == "cram":
216 <cram>
217 #for $dataset in $track.data_format.useuri.annotation:
218 <cram_index>${dataset.metadata.cram_index}</cram_index>
219 #end for
220 </cram>
221 #else if str($track.data_format.data_format_select) == "blastxml":
222 <blast>
223 #if str($track.data_format.blast_parent) != "":
224 <parent>${track.data_format.blast_parent}</parent>
225 #end if
226 <protein>${track.data_format.is_protein}</protein>
227 <min_gap>${track.data_format.min_gap}</min_gap>
228 </blast>
229 #else if str($track.data_format.data_format_select) == "gff":
230 <gff>
231 #if $track.data_format.match_part.match_part_select == "true":
232 <match>${track.data_format.match_part.name}</match>
233 #end if
234 </gff>
235 #else if str($track.data_format.data_format_select) == "paf":
236 <paf>
237 <genome>
238 #for gnome in $track.data_format.synteny_genome:
239 $gnome,
240 #end for
241 </genome>
242 <genome_label>
243 #for gnome in $track.data_format.synteny_genome:
244 $gnome.name,
245 #end for
246 </genome_label>
247 </paf>
248 #else if str($track.data_format.data_format_select) == "hic":
249 <hic>
250 </hic>
251 #else if str($track.data_format.data_format_select) == "cool":
252 <cool>
253 </cool>
254 #else if str($track.data_format.data_format_select) == "bed":
255 <bed>
256 </bed>
257 #else if str($track.data_format.data_format_select) == "sparql":
258 <label>${track.data_format.label}</label>
259 <sparql>
260 <url>${track.data_format.url}</url>
261 <query>${track.data_format.query}</query>
262 <query_refnames>${track.data_format.query_refnames}</query_refnames>
263 </sparql>
264 #end if
265 </options>
266 </track>
267 #end if
268 #end if
269 #end for
270 #end for
271 </tracks>
272 </root>
273 #end if
274 ]]></configfile>
275 </configfiles>
276
277 <inputs>
278 <conditional name="reference_genome">
279 <param help="Built-in references" label="Reference genome to display" name="genome_type_select" type="select">
280 <option selected="True" value="indexed">Use a built-in genome</option>
281 <option value="history">Use a genome from history</option>
282 <option value="uri">URI for a reference in tabix .gz format </option>
283 </param>
284 <when value="indexed">
285 <param
286 help="If your genome of interest is not listed, contact the Galaxy team"
287 label="Select a reference genome"
288 name="genome"
289 type="select"
290 optional="true">
291 <options from_data_table="all_fasta">
292 <filter column="2" type="sort_by"/>
293 <validator message="No genomes are available for the selected input dataset" type="no_options">
294 </validator>
295 </options>
296 </param>
297 </when>
298 <when value="history">
299 <param
300 format="fasta"
301 label="Select the reference genome"
302 name="genome"
303 type="data"
304 optional="true">
305 </param>
306 </when>
307 <when value="uri">
308 <param
309 label="URI pointing to tabix compressed fasta"
310 name="uri"
311 type="text">
312 </param>
313 <param
314 label="Reference key - dbkey equivalent"
315 name="refname"
316 type="text">
317 </param>
318 </when>
319 </conditional>
320
321 <repeat name="track_groups" title="Track Group">
322 <param label="Track Category"
323 name="category"
324 type="text"
325 value="Default"
326 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"/>
327 <repeat name="data_tracks" title="Annotation Track">
328 <conditional name="data_format" label="Track Data Selection Options">
329 <param type="select" label="Track Type" name="data_format_select">
330 <option value="bam">BAM Pileup track</option>
331 <option value="bed">BED track</option>
332 <option value="bigwig">BigWig track</option>
333 <option value="blastxml">Blast XML track - converted to GFF</option>
334 <option value="cool">HiC as cool/mcool/scool format files</option>
335 <option value="cram">CRAM</option>
336 <option value="gff">GFF/GFF3 feature track</option>
337 <option value="hic">HiC as juicebox_hic format file. Tabular hic_matrix will NOT work.</option>
338 <option value="maf">Multiple alignment format. Reference name must match the MAF name exactly to work correctly</option>
339 <option value="paf">PAF - approximate mapping positions between two set of sequences</option>
340 <option value="vcf">VCF SNP</option>
341 </param>
342 <when value="blastxml">
343 <expand macro="input_conditional" label="BlastXML Track Data" format="blastxml" />
344
345 <param label="Features used in Blast Search"
346 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."
347 format="gff3"
348 name="blast_parent"
349 optional="true"
350 type="data"/>
351
352 <param label="Minimum Gap Size"
353 help="before a new match_part feature is created"
354 name="min_gap"
355 type="integer"
356 value="10"
357 min="2" />
358 <param label="Is this a protein blast search?"
359 type="boolean"
360 name="is_protein"
361 truevalue="true"
362 falsevalue="false" />
363 <expand macro="track_styling_feature" />
364 <expand macro="track_visibility" />
365 </when>
366 <when value="vcf">
367 <expand macro="input_conditional" label="SNP Track Data" format="vcf,vcf_bgzip" />
368 <expand macro="track_styling_vcf"/>
369 <expand macro="track_visibility" />
370 </when>
371 <when value="gff">
372 <expand macro="input_conditional" label="GFF/GFF3 Track Data" format="gff,gff3" />
373 <conditional name="match_part" label="match/match_part data">
374 <param help="Match part data selection " label="This is match/match_part data" name="match_part_select" type="select">
375 <option selected="True" value="false">Not match/match part data</option>
376 <option value="true">Match/match part data</option>
377 </param>
378 <when value="true">
379 <param label="Match Part Feature Type"
380 name="name"
381 type="text"
382 value="match"
383 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)."
384 optional="True"/>
385 </when>
386 <when value="false" />
387 </conditional>
388 <expand macro="track_styling_feature" />
389 <expand macro="track_visibility" />
390 </when>
391 <when value="bam">
392 <expand macro="input_conditional" label="BAM Track Data" format="bam" />
393 <expand macro="track_styling_feature" />
394 <expand macro="track_visibility" />
395 </when>
396 <when value="bed">
397 <expand macro="input_conditional" label="BED Track Data" format="bed" />
398 <expand macro="track_styling_feature" />
399 <expand macro="track_visibility" />
400 </when>
401 <when value="cram">
402 <expand macro="input_conditional" label="CRAM Track Data" format="cram" />
403 <expand macro="track_styling_feature" />
404 <expand macro="track_visibility" />
405 </when>
406 <when value="maf">
407 <expand macro="input_conditional" label="MAF Track Data" format="maf" />
408 <expand macro="track_styling_feature" />
409 <expand macro="track_visibility" />
410 </when>
411 <when value="bigwig">
412 <expand macro="input_conditional" label="BigWig Track Data" format="bigwig" />
413 <expand macro="track_styling_bigwig" />
414 <expand macro="track_visibility" />
415 </when>
416 <when value="paf">
417 <param label="Comparison genome sequence" help="Paf from these as the reference(s), using the common reference as the reads to map"
418 format="fasta"
419 name="synteny_genome"
420 type="data"
421 multiple="True"/>
422 <expand macro="input_conditional" label="Synteny data" format="paf"
423 help="Make paf with mashmap or minimap2 mapping real reference onto desired syntenic references"/>
424 <expand macro="track_styling_feature" />
425 <expand macro="track_visibility" />
426 </when>
427
428 <when value="hic">
429 <expand macro="input_conditional" label="Binary Juicebox HiC data" format="hic,juicebox_hic" />
430 <expand macro="track_visibility" />
431 </when>
432 <when value="cool">
433 <expand macro="input_conditional" label="HiC data in cool/mcool/scool format" format="cool,mcool,scool" />
434 <expand macro="track_visibility" />
435 </when>
436 </conditional>
437 </repeat>
438 </repeat>
439
440 <expand macro="general_options" />
441
442 <param type="hidden" name="uglyTestingHack" value="" />
443 </inputs>
444 <outputs>
445 <data format="html" name="output" label="JBrowse2">
446 <change_format>
447 <when input="zipOut" value="true" format="zip" />
448 </change_format>
449 </data>
450 </outputs>
451 <tests>
452 <test>
453 <param name="reference_genome|genome_type_select" value="history"/>
454 <param name="reference_genome|genome" value="merlin.fa"/>
455 <repeat name="track_groups">
456 <param name="category" value="Default" />
457 <repeat name="data_tracks">
458 <conditional name="data_format">
459 <param name="data_format_select" value="bigwig"/>
460 <conditional name="useuri">
461 <param name="annotation" value="bw/merlin.bw"/>
462 <param name="insource" value="history"/>
463 </conditional>
464 </conditional>
465 </repeat>
466 </repeat>
467 <param name="uglyTestingHack" value="enabled" />
468 <output name="output">
469 <assert_contents>
470 <has_text text="genome path="></has_text>
471 <has_text text="dataset id="></has_text>
472 <has_text text="history id="></has_text>
473 <has_text text="metadata"></has_text>
474 <has_text text="tool_id"></has_text>
475 <has_text text="trackFile path="></has_text>
476 <has_text text="file_ext=&quot;bigwig&quot;"></has_text>
477 <has_text text="format=&quot;bigwig&quot;"></has_text>
478 </assert_contents>
479 </output>
480 </test>
481 <test>
482 <param name="reference_genome|genome_type_select" value="history"/>
483 <param name="reference_genome|genome" value="merlin.fa"/>
484 <repeat name="track_groups">
485 <param name="category" value="Default" />
486 <repeat name="data_tracks">
487 <conditional name="data_format">
488 <param name="data_format_select" value="vcf"/>
489 <conditional name="useuri">
490 <param name="insource" value="history"/>
491 <param name="annotation" value="vcf/merlin.vcf"/>
492 </conditional>
493 </conditional>
494 </repeat>
495 </repeat>
496 <param name="uglyTestingHack" value="enabled" />
497 <output name="output">
498 <assert_contents>
499 <has_text text="genome path="></has_text>
500 <has_text text="dataset id="></has_text>
501 <has_text text="history id="></has_text>
502 <has_text text="metadata"></has_text>
503 <has_text text="tool_id"></has_text>
504 <has_text text="trackFile path="></has_text>
505 <has_text text="ext=&quot;vcf&quot; label=&quot;merlin.vcf&quot;"></has_text>
506 </assert_contents>
507 </output>
508 </test>
509 <test>
510 <param name="reference_genome|genome_type_select" value="history"/>
511 <param name="reference_genome|genome" value="merlin.fa"/>
512 <param name="uglyTestingHack" value="enabled" />
513 <output name="output">
514 <assert_contents>
515 <has_text text="genome path="></has_text>
516 <has_text text="dataset id="></has_text>
517 <has_text text="history id="></has_text>
518 <has_text text="metadata"></has_text>
519 <has_text text="tool_id"></has_text>
520 </assert_contents>
521 </output>
522 </test>
523 <test>
524 <param name="reference_genome|genome_type_select" value="history"/>
525 <param name="reference_genome|genome" value="merlin.fa"/>
526 <repeat name="track_groups">
527 <param name="category" value="Default" />
528 <repeat name="data_tracks">
529 <conditional name="data_format">
530 <param name="data_format_select" value="bed"/>
531 <conditional name="useuri">
532 <param name="insource" value="history"/>
533 <param name="annotation" value="bed/test-3.bed"/>
534 </conditional>
535 </conditional>
536 </repeat>
537 </repeat>
538 <param name="uglyTestingHack" value="enabled" />
539 <output name="output">
540 <assert_contents>
541 <has_text text="genome path="></has_text>
542 <has_text text="dataset id="></has_text>
543 <has_text text="history id="></has_text>
544 <has_text text="metadata"></has_text>
545 <has_text text="tool_id"></has_text>
546 <has_text text="trackFile path="></has_text>
547 <has_text text="ext=&quot;bed&quot; label=&quot;test-3.bed&quot;"></has_text>
548 </assert_contents>
549 </output>
550 </test>
551 <test>
552 <param name="reference_genome|genome_type_select" value="history"/>
553 <param name="reference_genome|genome" value="merlin.fa"/>
554 <repeat name="track_groups">
555 <param name="category" value="Auto Coloured" />
556 <repeat name="data_tracks">
557 <conditional name="data_format">
558 <param name="data_format_select" value="gff"/>
559 <conditional name="useuri">
560 <param name="insource" value="history"/>
561 <param name="annotation" value="gff3/A.gff"/>
562 </conditional>
563 <conditional name="match_part">
564 <param name="match_part_select" value="false"/>
565 </conditional>
566 <section name="jbcolor_scale">
567 <conditional name="color_score">
568 <param name="color_score_select" value="none"/>
569 </conditional>
570 <conditional name="color">
571 <param name="color_select" value="automatic"/>
572 </conditional>
573 </section>
574 </conditional>
575 </repeat>
576 </repeat>
577
578 <repeat name="track_groups">
579 <param name="category" value="Ignore Scale" />
580 <repeat name="data_tracks">
581 <conditional name="data_format">
582 <param name="data_format_select" value="gff"/>
583 <conditional name="useuri">
584 <param name="insource" value="history"/>
585 <param name="annotation" value="gff3/1.gff"/>
586 </conditional>
587 <conditional name="match_part">
588 <param name="match_part_select" value="false"/>
589 </conditional>
590 <section name="jbcolor_scale">
591 <conditional name="color_score">
592 <param name="color_score_select" value="none"/>
593 <conditional name="color">
594 <param name="color_select" value="manual"/>
595 <param name="style_color" value="#ff00ff"/>
596 </conditional>
597 </conditional>
598 </section>
599 </conditional>
600 </repeat>
601 </repeat>
602
603 <repeat name="track_groups">
604 <param name="category" value="Scaled Colour" />
605 <repeat name="data_tracks">
606 <conditional name="data_format">
607 <param name="data_format_select" value="gff"/>
608 <conditional name="useuri">
609 <param name="insource" value= "history"/>
610 <param name="annotation" value="gff3/C.gff"/>
611 </conditional>
612 <conditional name="match_part">
613 <param name="match_part_select" value="false"/>
614 </conditional>
615 <section name="jbcolor_scale">
616 <conditional name="color_score">
617 <param name="color_score_select" value="score"/>
618 <param name="score_scaling" value="linear"/>
619 <conditional name="score_scales">
620 <param name="scale_select" value="automatic"/>
621 </conditional>
622 <conditional name="color_scheme">
623 <param name="score_scheme" value="opacity"/>
624 <conditional name="color">
625 <param name="color_select" value="automatic"/>
626 </conditional>
627 </conditional>
628 </conditional>
629 </section>
630 </conditional>
631 </repeat>
632 <repeat name="data_tracks">
633 <conditional name="data_format">
634 <param name="data_format_select" value="gff"/>
635 <conditional name="useuri">
636 <param name="annotation" value="gff3/B.gff"/>
637 <param name="insource" value= "history"/>
638 </conditional>
639 <conditional name="match_part">
640 <param name="match_part_select" value="false"/>
641 </conditional>
642 <section name="jbcolor_scale">
643 <conditional name="color_score">
644 <param name="color_score_select" value="score"/>
645 <param name="score_scaling" value="linear"/>
646 <conditional name="score_scales">
647 <param name="scale_select" value="automatic"/>
648 </conditional>
649 <conditional name="color_scheme">
650 <param name="score_scheme" value="opacity"/>
651 <conditional name="color">
652 <param name="color_select" value="manual"/>
653 <param name="style_color" value="#0000ff"/>
654 </conditional>
655 </conditional>
656 </conditional>
657 </section>
658 </conditional>
659 </repeat>
660 <repeat name="data_tracks">
661 <conditional name="data_format">
662 <param name="data_format_select" value="gff"/>
663 <conditional name="useuri">
664 <param name="annotation" value="gff3/A.gff"/>
665 <param name="insource" value= "history"/>
666 </conditional>
667 <conditional name="match_part">
668 <param name="match_part_select" value="false"/>
669 </conditional>
670 <section name="jbcolor_scale">
671 <conditional name="color_score">
672 <param name="color_score_select" value="score"/>
673 <param name="score_scaling" value="linear"/>
674 <conditional name="score_scales">
675 <param name="scale_select" value="manual"/>
676 <param name="minimum" value="0"/>
677 <param name="maximum" value="1000"/>
678 </conditional>
679 <conditional name="color_scheme">
680 <param name="score_scheme" value="opacity"/>
681 <conditional name="color">
682 <param name="color_select" value="automatic"/>
683 </conditional>
684 </conditional>
685 </conditional>
686 </section>
687 </conditional>
688 </repeat>
689 <repeat name="data_tracks">
690 <conditional name="data_format">
691 <param name="data_format_select" value="gff"/>
692 <conditional name="useuri">
693 <param name="annotation" value="gff3/1.gff"/>
694 <param name="insource" value= "history"/>
695 </conditional>
696 <conditional name="match_part">
697 <param name="match_part_select" value="false"/>
698 </conditional>
699 <section name="jbcolor_scale">
700 <conditional name="color_score">
701 <param name="color_score_select" value="score"/>
702 <param name="score_scaling" value="linear"/>
703 <conditional name="score_scales">
704 <param name="scale_select" value="manual"/>
705 <param name="minimum" value="0"/>
706 <param name="maximum" value="1000"/>
707 </conditional>
708 <conditional name="color_scheme">
709 <param name="score_scheme" value="opacity"/>
710 <conditional name="color">
711 <param name="color_select" value="manual"/>
712 <param name="style_color" value="#ff0000"/>
713 </conditional>
714 </conditional>
715 </conditional>
716 </section>
717 </conditional>
718 </repeat>
719 </repeat>
720
721 <repeat name="track_groups">
722 <param name="category" value="Realistic" />
723 <repeat name="data_tracks">
724 <conditional name="data_format">
725 <param name="data_format_select" value="gff"/>
726 <conditional name="useuri">
727 <param name="annotation" value="gff3/interpro.gff"/>
728 <param name="insource" value= "history"/>
729 </conditional>
730 <conditional name="match_part">
731 <param name="match_part_select" value="false"/>
732 </conditional>
733 <section name="jbcolor_scale">
734 <conditional name="color_score">
735 <param name="color_score_select" value="none"/>
736 </conditional>
737 <conditional name="color">
738 <param name="color_select" value="automatic"/>
739 </conditional>
740 </section>
741 </conditional>
742 </repeat>
743 <repeat name="data_tracks">
744 <conditional name="data_format">
745 <param name="data_format_select" value="gff"/>
746 <conditional name="useuri">
747 <param name="annotation" value="gff3/2.gff"/>
748 <param name="insource" value= "history"/>
749 </conditional>
750 <conditional name="match_part">
751 <param name="match_part_select" value="true"/>
752 <param name="name" value="cDNA_match"/>
753 </conditional>
754 <section name="jbcolor_scale">
755 <conditional name="color_score">
756 <param name="color_score_select" value="none"/>
757 </conditional>
758 <conditional name="color">
759 <param name="color_select" value="automatic"/>
760 </conditional>
761 </section>
762 </conditional>
763 </repeat>
764 </repeat>
765
766 <param name="uglyTestingHack" value="enabled" />
767 <output name="output">
768 <assert_contents>
769 <has_text text="Auto Coloured"/>
770 <has_text text="A.gff"/>
771 <has_text text="B.gff"/>
772 <has_text text="C.gff"/>
773 <has_text text="interpro.gff"/>
774 <has_text text="Scaled Colour"/>
775 <has_text text="1.gff"/>
776 <has_text text="2.gff"/>
777 </assert_contents>
778 </output>
779 </test>
780 <test>
781 <param name="reference_genome|genome_type_select" value="history"/>
782 <param name="reference_genome|genome" value="merlin.fa"/>
783
784 <repeat name="track_groups">
785 <param name="category" value="With menu or index" />
786 <repeat name="data_tracks">
787 <conditional name="data_format">
788 <param name="data_format_select" value="gff"/>
789 <conditional name="useuri">
790 <param name="annotation" value="gff3/1.gff"/>
791 <param name="insource" value= "history"/>
792 </conditional>
793 <conditional name="match_part">
794 <param name="match_part_select" value="false"/>
795 </conditional>
796 <section name="jbcolor_scale">
797 <conditional name="color_score">
798 <param name="color_score_select" value="none"/>
799 </conditional>
800 <conditional name="color">
801 <param name="color_select" value="automatic"/>
802 </conditional>
803 </section>
804 <section name="jbmenu">
805 <repeat name="track_menu">
806 <param name="menu_action" value="iframeDialog"/>
807 <param name="menu_label" value="Some menu item"/>
808 <param name="menu_title" value="Frame title"/>
809 <param name="menu_url" value="https://example.com/#!/?id={name}&amp;q={type}&amp;z=&quot;{end}&quot;"/>
810 <param name="menu_icon" value="dijitIconNewTask"/>
811 </repeat>
812 <repeat name="track_menu">
813 <param name="menu_action" value="newWindow"/>
814 <param name="menu_label" value="Another menu item"/>
815 <param name="menu_title" value="Frame title 2"/>
816 <param name="menu_url" value="https://example.com/#!/?id={name}&amp;q={type}&amp;z=&quot;{end}&quot;"/>
817 </repeat>
818 </section>
819 </conditional>
820 </repeat>
821 <repeat name="data_tracks">
822 <conditional name="data_format">
823 <param name="data_format_select" value="gff"/>
824 <conditional name="useuri">
825 <param name="annotation" value="gff3/1.gff"/>
826 <param name="insource" value= "history"/>
827 </conditional>
828 <param name="insource" value= "history"/>
829 <conditional name="match_part">
830 <param name="match_part_select" value="false"/>
831 </conditional>
832 <section name="jbcolor_scale">
833 <conditional name="color_score">
834 <param name="color_score_select" value="none"/>
835 </conditional>
836 <conditional name="color">
837 <param name="color_select" value="automatic"/>
838 </conditional>
839 </section>
840 </conditional>
841 </repeat>
842 </repeat>
843
844 <param name="uglyTestingHack" value="enabled" />
845 <output name="output">
846 <assert_contents>
847 <has_text text="With menu or index"/>
848 <has_text text="gff"/>
849 </assert_contents>
850 </output>
851 </test>
852 <!-- TODO add a synteny test -->
853 <!-- TODO add a bam and a cram test -->
854 <!-- TODO add an hic test -->
855 <!-- TODO add a vcf_bgzip test -->
856 </tests>
857 <help><![CDATA[
858
859 JBrowse2-in-Galaxy
860 ==================
861
862 JBrowse2-in-Galaxy offers a highly configurable, workflow-compatible
863 alternative to JBrowse1-in-Galaxy and Trackster.
864
865 Compared to JBrowse1-in-Galaxy, there is no support for alternative codons for unusual genomes,
866 and detailed track styling is not yet implemented. Send code.
867 JBrowse1 development has now ceased in favour of JBrowse2.
868
869 Use and local viewing
870 =====================
871
872
873 A JBrowse2 history item can be opened by viewing it (the "eye" icon).
874
875 The same browser data and setup can also be downloaded as a compressed zip archive by clicking the download ("floppy disk") icon in the history.
876 This can be shared and viewed without Galaxy.
877
878 A replacement application to serve the browser is required without Galaxy. A local python web server can be started using a script included in each archive,
879 assuming that Python3 is already working on your desktop - if not you will have to install it first. Unzip the archive (*unzip [filename].zip*) and change
880 directory to the first level in that zip archive. It contains a file named *jb2_webserver.py*
881
882 With python3 installed,
883
884 *python3 jb2_webserver.py*
885
886 will serve the unarchived JBrowse2 configuration from the same directory as the python script automatically. If a new browser window does not open,
887 but the script appears to be running, try pointing your web browser to the default of *localhost:8080*
888
889 Overview
890 --------
891
892 JBrowse is a fast, embeddable genome browser built completely with
893 JavaScript and HTML5.
894
895 The JBrowse-in-Galaxy (JiG) tool was written to help build complex
896 JBrowse installations straight from Galaxy. It allows you to build up a JBrowse instance without worrying
897 about how to run the command line tools to format your data, and which
898 options need to be supplied and where.
899
900 Options
901 -------
902
903 **Reference or Assembly**
904
905 Choose either a built-in or select one from your history.
906
907 Track coordinates and contig names *must* match this reference precisely
908 or they will not display.
909
910 **Track Groups** represent a set of tracks in a single category.
911
912 Annotation Tracks
913 -----------------
914
915 GFF3/BED
916 ~~~~~~~~
917
918 Standard feature tracks. They usually highlight genes, mRNAs and other features of interest along a genomic region.
919
920 When these contain tens of millions of features, such as repeat regions from a VGP assembly, displaying one at a time leads
921 to extremely slow loading times when a large region is in view, unless the "LinearPileupDisplay" display option is
922 selected for that track in the styling options section. The default is LinearBasicDisplay, which shows all details and works
923 well for relatively sparse bed files. A better option is to make a bigwig track using a set of windows based on the
924 lengths of each assembly or reference contig.
925
926 BAM Pileups
927 ~~~~~~~~~~~
928
929 We support BAM files and can automatically generate SNP tracks based on
930 that bam data.
931
932
933 BlastXML
934 ~~~~~~~~
935
936 JiG now supports both blastn and blastp datasets. JiG internally uses a
937 blastXML to gapped GFF3 tool to convert your blastxml datasets into a
938 format amenable to visualization in JBrowse. This tool is also
939 available separately from the IUC on the toolshed.
940
941 **Minimum Gap Size** reflects how long a gap must be before it becomes a
942 real gap in the processed gff3 file. In the picture above, various sizes
943 of gaps can be seen. If the minimum gap size was set much higher, say
944 100nt, many of the smaller gaps would disappear, and the features on
945 both sides would be merged into one, longer feature. This setting is
946 inversely proportional to runtime and output file size. *Do not set this
947 to a low value for large datasets*. By setting this number lower, you
948 will have extremely large outputs and extremely long runtimes. The
949 default was configured based off of the author's experience, but the
950 author only works on small viruses. It is *strongly* recommended that
951 you filter your blast results before display, e.g. picking out the top
952 10 hits or so.
953
954 **Protein blast search** option merely informs underlying tools that
955 they should adjust feature locations by 3x.
956
957
958 @ATTRIBUTION@
959 ]]></help>
960 <expand macro="citations"/>
961 </tool>