comparison jbrowse2.xml @ 7:b04fd993b31e draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 53a108d8153c955044ae7eb8cb06bdcfd0036717
author fubar
date Wed, 17 Jan 2024 07:50:52 +0000
parents efc64d8f4b72
children f5ce31c2f47d
comparison
equal deleted inserted replaced
6:79f7265f90bd 7:b04fd993b31e
128 #end for 128 #end for
129 </files> 129 </files>
130 #end if 130 #end if
131 131
132 <options> 132 <options>
133 <style> 133
134 <display>${track.data_format.jbstyle.track_style.display}</display> 134
135 ## TODO change this to a for loop? 135 #if str($track.data_format.data_format_select) == "pileup":
136 #if 'show_labels' in $track.data_format.jbstyle.track_style
137 <trackShowLabels type="boolean">${track.data_format.jbstyle.track_style.show_labels}</trackShowLabels>
138 #end if
139 #if 'show_descriptions' in $track.data_format.jbstyle.track_style
140 <trackShowDescriptions type="boolean">${track.data_format.jbstyle.track_style.show_descriptions}</trackShowDescriptions>
141 #end if
142 #if 'display_mode' in $track.data_format.jbstyle.track_style
143 <trackDisplayMode>${track.data_format.jbstyle.track_style.display_mode}</trackDisplayMode>
144 #end if
145 #if 'max_height' in $track.data_format.jbstyle.track_style
146 <trackMaxHeight type="integer">${track.data_format.jbstyle.track_style.max_height}</trackMaxHeight>
147 #end if
148 #if 'autoscale' in $track.data_format.jbstyle.track_style
149 <autoscale>${track.data_format.jbstyle.track_style.autoscale}</autoscale>
150 #end if
151 #if 'resolution' in $track.data_format.jbstyle.track_style
152 <resolution type="integer">${track.data_format.jbstyle.track_style.resolution}</resolution>
153 #end if
154 #if 'summaryScoreMode' in $track.data_format.jbstyle.track_style
155 <summaryScoreMode>${track.data_format.jbstyle.track_style.summaryScoreMode}</summaryScoreMode>
156 #end if
157 #if 'scaleType' in $track.data_format.jbstyle.track_style
158 <scaleType>${track.data_format.jbstyle.track_style.scaleType}</scaleType>
159 #end if
160 #if 'filled' in $track.data_format.jbstyle.track_style
161 <filled type="boolean">${track.data_format.jbstyle.track_style.filled}</filled>
162 #end if
163 #if 'displayCrossHatches' in $track.data_format.jbstyle.track_style
164 <displayCrossHatches type="boolean">${track.data_format.jbstyle.track_style.displayCrossHatches}</displayCrossHatches>
165 #end if
166 #if 'minScore' in $track.data_format.jbstyle.track_style and $track.data_format.jbstyle.track_style.minScore
167 <minScore type="integer">${track.data_format.jbstyle.track_style.minScore}</minScore>
168 #end if
169 #if 'maxScore' in $track.data_format.jbstyle.track_style and $track.data_format.jbstyle.track_style.maxScore
170 <maxScore type="integer">${track.data_format.jbstyle.track_style.maxScore}</maxScore>
171 #end if
172 ## TODO other coloring/etc options in each renderer (e.g https://github.com/GMOD/jbrowse-components/blob/main/plugins/svg/src/SvgFeatureRenderer/configSchema.ts)
173 </style>
174 <style_labels>
175 ## TODO other label options: https://github.com/GMOD/jbrowse-components/blob/main/plugins/svg/src/SvgFeatureRenderer/configSchema.ts
176 #if 'label' in $track.data_format.jbstyle.track_style
177 <name>${track.data_format.jbstyle.track_style.label}</name>
178 #end if
179 #if 'description' in $track.data_format.jbstyle.track_style
180 <description>${track.data_format.jbstyle.track_style.description}</description>
181 #end if
182 </style_labels>
183 #if str($track.data_format.data_format_select) == "gene_calls" or str($track.data_format.data_format_select) == "blast" or str($track.data_format.data_format_select) == "sparql":
184 <scaling>
185 #if str($track.data_format.jbcolor_scale.color_score.color_score_select) == "none":
186 <method>ignore</method>
187 <scheme>
188 #if str($track.data_format.jbcolor_scale.color_score.color.color_select) == "automatic":
189 <color>__auto__</color>
190 #else
191 <color>${track.data_format.jbcolor_scale.color_score.color.style_color}</color>
192 #end if
193 </scheme>
194 #else
195 <method>score</method>
196 <algo>${track.data_format.jbcolor_scale.color_score.score_scaling}</algo>
197 <scales>
198 <type>${track.data_format.jbcolor_scale.color_score.score_scales.scale_select}</type>
199
200 #if str($track.data_format.jbcolor_scale.color_score.score_scales.scale_select) == "manual":
201 <min>${track.data_format.jbcolor_scale.color_score.score_scales.minimum}</min>
202 <max>${track.data_format.jbcolor_scale.color_score.score_scales.maximum}</max>
203 #end if
204 </scales>
205 <scheme>
206 <type>${track.data_format.jbcolor_scale.color_score.color_scheme.score_scheme}</type>
207 ## auto_color
208 #if str($track.data_format.jbcolor_scale.color_score.color_scheme.score_scheme) == "opacity":
209 #if str($track.data_format.jbcolor_scale.color_score.color_scheme.color.color_select) == "automatic":
210 <color>__auto__</color>
211 #else
212 <color>${track.data_format.jbcolor_scale.color_score.color_scheme.color.style_color}</color>
213 #end if
214 #end if
215 </scheme>
216 #end if
217 </scaling>
218 <menus>
219 #for $menu_item in $track.data_format.jbmenu.track_menu:
220 <menu>
221 <action>${menu_item.menu_action}</action>
222 #if str($menu_item.menu_label) != "":
223 <label>${menu_item.menu_label}</label>
224 #end if
225 #if str($menu_item.menu_title) != "":
226 <title>${menu_item.menu_title}</title>
227 #end if
228 #if str($menu_item.menu_url) != "":
229 <url>${menu_item.menu_url.replace("&", "&amp;").replace("\"", "&quot;")}</url>
230 #end if
231 #if str($menu_item.menu_icon) != "":
232 <iconClass>${menu_item.menu_icon}</iconClass>
233 #end if
234 </menu>
235 #end for
236 </menus>
237 #end if
238
239 #if str($track.data_format.data_format_select) == "wiggle":
240 <wiggle>
241 <type>${track.data_format.xyplot}</type>
242 <variance_band>${track.data_format.var_band}</variance_band>
243 #if str($track.data_format.scaling.scale_select) == "auto_local":
244 <autoscale>local</autoscale>
245 #else if str($track.data_format.scaling.scale_select) == "auto_global":
246 <autoscale>global</autoscale>
247 #else:
248 <min>${track.data_format.scaling.minimum}</min>
249 <max>${track.data_format.scaling.maximum}</max>
250 #end if
251 <scale>${track.data_format.scale_select2}</scale>
252
253 ## Wiggle tracks need special color config
254 #if str($track.data_format.jbcolor.color.color_select) != "automatic":
255 <color_pos>${track.data_format.jbcolor.color.style_pos_color}</color_pos>
256 <color_neg>${track.data_format.jbcolor.color.style_neg_color}</color_neg>
257 #else:
258 <color_pos>__auto__</color_pos>
259 <color_neg>__auto__</color_neg>
260 #end if
261
262 ## Bicolor pivot config
263 #if str($track.data_format.jbcolor.bicolor_pivot.bicolor_pivot_select) == "zero":
264 <bicolor_pivot>zero</bicolor_pivot>
265 #else if str($track.data_format.jbcolor.bicolor_pivot.bicolor_pivot_select) == "mean":
266 <bicolor_pivot>mean</bicolor_pivot>
267 #else:
268 <bicolor_pivot>${track.data_format.jbcolor.bicolor_pivot.pivot_point}</bicolor_pivot>
269 #end if
270 </wiggle>
271 #else if str($track.data_format.data_format_select) == "pileup":
272 <pileup> 136 <pileup>
273 <bam_indices> 137 <bam_indices>
274 #for $dataset in $track.data_format.annotation: 138 #for $dataset in $track.data_format.annotation:
275 <bam_index>${dataset.metadata.bam_index}</bam_index> 139 <bam_index>${dataset.metadata.bam_index}</bam_index>
276 #end for 140 #end for
289 #if str($track.data_format.blast_parent) != "": 153 #if str($track.data_format.blast_parent) != "":
290 <parent>${track.data_format.blast_parent}</parent> 154 <parent>${track.data_format.blast_parent}</parent>
291 #end if 155 #end if
292 <protein>${track.data_format.is_protein}</protein> 156 <protein>${track.data_format.is_protein}</protein>
293 <min_gap>${track.data_format.min_gap}</min_gap> 157 <min_gap>${track.data_format.min_gap}</min_gap>
294 <index>${track.data_format.index}</index>
295 </blast> 158 </blast>
296 #else if str($track.data_format.data_format_select) == "gene_calls": 159 #else if str($track.data_format.data_format_select) == "gene_calls":
297 <gff> 160 <gff>
298 #if $track.data_format.match_part.match_part_select == "true": 161 #if $track.data_format.match_part.match_part_select == "true":
299 <match>${track.data_format.match_part.name}</match> 162 <match>${track.data_format.match_part.name}</match>
300 #end if 163 #end if
301 <index>${track.data_format.index}</index>
302 </gff> 164 </gff>
303 #else if str($track.data_format.data_format_select) == "synteny": 165 #else if str($track.data_format.data_format_select) == "synteny":
304 <synteny> 166 <synteny>
305 <genome>${track.data_format.synteny_genome}</genome> 167 <genome>${track.data_format.synteny_genome}</genome>
306 <genome_label>${track.data_format.synteny_genome.element_identifier}</genome_label> 168 <genome_label>${track.data_format.synteny_genome.element_identifier}</genome_label>
358 name="category" 220 name="category"
359 type="text" 221 type="text"
360 value="Default" 222 value="Default"
361 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"/> 223 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"/>
362 <repeat name="data_tracks" title="Annotation Track"> 224 <repeat name="data_tracks" title="Annotation Track">
363 <conditional name="data_format" label="Track Options"> 225 <conditional name="data_format" label="Track Data Selection Options">
364 <param type="select" label="Track Type" name="data_format_select"> 226 <param type="select" label="Track Type" name="data_format_select">
365 <option value="pileup">BAM Pileup track</option> 227 <option value="pileup">BAM Pileup track</option>
366 <option value="wiggle">BigWig XY track</option> 228 <option value="wiggle">BigWig track</option>
367 <option value="blast">Blast XML track - converted to GFF with actual gaps between hits</option> 229 <option value="blast">Blast XML track - converted to GFF</option>
368 <option value="cram">CRAM</option> 230 <option value="cram">CRAM</option>
369 <option value="gene_calls" selected="true">GFF/GFF3/BED feature tracks</option> 231 <option value="gene_calls" selected="true">GFF/GFF3/BED feature track</option>
370 <option value="hic">HiC binary data. Existing cool format must be converted to binary hic - hic_matrix will NOT work.</option> 232 <option value="hic">HiC (compressed binary) track. Existing cool format must be converted to binary hic - hic_matrix will NOT work.</option>
371 <option value="sparql">SPARQL</option> 233 <option value="sparql">SPARQL</option>
372 <option value="synteny">Synteny</option> 234 <option value="synteny">Synteny track with PAF data</option>
373 <option value="vcf">VCF SNP annotation track</option> 235 <option value="vcf">VCF SNP annotation</option>
374 </param> 236 </param>
375 <when value="blast"> 237 <when value="blast">
376 <expand macro="input_conditional" label="BlastXML Track Data" format="blastxml" /> 238 <expand macro="input_conditional" label="BlastXML Track Data" format="blastxml" />
377 239
378 <param label="Features used in Blast Search" 240 <param label="Features used in Blast Search"
391 <param label="Is this a protein blast search?" 253 <param label="Is this a protein blast search?"
392 type="boolean" 254 type="boolean"
393 name="is_protein" 255 name="is_protein"
394 truevalue="true" 256 truevalue="true"
395 falsevalue="false" /> 257 falsevalue="false" />
396
397 <param label="Index this track" name="index" type="boolean" checked="false" truevalue="true" falsevalue="false" />
398
399 <expand macro="track_styling_feature"
400 classname="feature"
401 label="description"
402 description="Hit_titles"
403 height="600px"/>
404 <expand macro="color_selection"
405 token_scaling_lin_select="false"
406 token_scaling_log_select="true" />
407 <expand macro="track_menu" />
408 <expand macro="track_visibility" /> 258 <expand macro="track_visibility" />
409 </when> 259 </when>
410 <when value="vcf"> 260 <when value="vcf">
411 <expand macro="input_conditional" label="SNP Track Data" format="vcf,vcf_bgzip" /> 261 <expand macro="input_conditional" label="SNP Track Data" format="vcf,vcf_bgzip" />
412 <expand macro="track_styling_vcf"/> 262 <expand macro="track_styling_vcf"/>
427 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. You can leave empty to try autodetection (only works with CanvasFeatures track type)." 277 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. You can leave empty to try autodetection (only works with CanvasFeatures track type)."
428 optional="True"/> 278 optional="True"/>
429 </when> 279 </when>
430 <when value="false" /> 280 <when value="false" />
431 </conditional> 281 </conditional>
432
433 <param label="Index this track" name="index" type="boolean" checked="false" truevalue="true" falsevalue="false" />
434
435 <expand macro="track_styling_feature"
436 classname="feature"
437 label="product,name,id"
438 description="note,description"
439 height="10px"/>
440 <expand macro="color_selection" />
441 <expand macro="track_menu" />
442 <expand macro="track_visibility" /> 282 <expand macro="track_visibility" />
443 </when> 283 </when>
444 <when value="pileup"> 284 <when value="pileup">
445 <expand macro="input_conditional" label="BAM Track Data" format="bam" /> 285 <expand macro="input_conditional" label="BAM Track Data" format="bam" />
446 <expand macro="track_styling_xam"/>
447 <expand macro="track_visibility" /> 286 <expand macro="track_visibility" />
448 </when> 287 </when>
449 <when value="cram"> 288 <when value="cram">
450 <expand macro="input_conditional" label="CRAM Track Data" format="cram" /> 289 <expand macro="input_conditional" label="CRAM Track Data" format="cram" />
451 <expand macro="track_styling_xam"/>
452 <expand macro="track_visibility" /> 290 <expand macro="track_visibility" />
453 </when> 291 </when>
454 <when value="wiggle"> 292 <when value="wiggle">
455 <expand macro="input_conditional" label="BigWig Track Data" format="bigwig" /> 293 <expand macro="input_conditional" label="BigWig Track Data" format="bigwig" />
456
457 <param label="Use XYPlot"
458 help="instead of continuous colored band"
459 type="boolean"
460 name="xyplot"
461 truevalue="JBrowse/View/Track/Wiggle/XYPlot"
462 falsevalue="JBrowse/View/Track/Wiggle/Density" />
463 <param label="Show variance band"
464 help="Only for XYPlots"
465 type="boolean"
466 name="var_band"
467 truevalue="true"
468 falsevalue="false" />
469
470 <conditional name="scaling" label="Scaling">
471 <param type="select" label="Track Scaling" name="scale_select">
472 <option value="auto_local" selected="true">Autoscale (local)</option>
473 <option value="auto_global">Autoscale (global)</option>
474 <option value="fixed">Specify Min/Max</option>
475 </param>
476 <when value="auto_local"></when>
477 <when value="auto_global"></when>
478 <when value="fixed">
479 <param label="Track minimum" name="minimum"
480 type="integer" value="0" />
481 <param label="Track maximum" name="maximum"
482 type="integer" value="100" />
483 </when>
484 </conditional>
485 <param type="select" label="Visual Scaling" name="scale_select2">
486 <option value="linear" selected="true">Linear</option>
487 <option value="log">Logarithmic (Dynamically Calculated)</option>
488 </param>
489
490 <expand macro="color_selection_minmax" />
491
492 <expand macro="track_styling_bigwig"/>
493 <expand macro="track_visibility" /> 294 <expand macro="track_visibility" />
295
494 </when> 296 </when>
495 297
496 <when value="synteny"> 298 <when value="synteny">
497 <param label="Other genome sequence" 299 <param label="Other genome sequence"
498 format="fasta" 300 format="fasta"
499 name="synteny_genome" 301 name="synteny_genome"
500 type="data" /> 302 type="data" />
501 <!-- TODO add .out (MashMap) .chain (UCSC), .delta (mummer) and .anchors (mcscan) inputs --> 303
502 <expand macro="input_conditional" label="Synteny data" format="paf" /> 304 <expand macro="input_conditional" label="Synteny data" format="paf" />
503 <expand macro="track_visibility" /> 305 <expand macro="track_visibility" />
504 </when> 306 </when>
505 307
506 <when value="hic"> 308 <when value="hic">
591 <has_text text="metadata"></has_text> 393 <has_text text="metadata"></has_text>
592 <has_text text="tool_id"></has_text> 394 <has_text text="tool_id"></has_text>
593 <has_text text="trackFile path="></has_text> 395 <has_text text="trackFile path="></has_text>
594 <has_text text="file_ext=&quot;bigwig&quot;"></has_text> 396 <has_text text="file_ext=&quot;bigwig&quot;"></has_text>
595 <has_text text="format=&quot;wiggle&quot;"></has_text> 397 <has_text text="format=&quot;wiggle&quot;"></has_text>
596 <has_text text="LinearWiggleDisplay"></has_text>
597 </assert_contents> 398 </assert_contents>
598 </output> 399 </output>
599 </test> 400 </test>
600 <test> 401 <test>
601 <param name="reference_genome|genome_type_select" value="history"/> 402 <param name="reference_genome|genome_type_select" value="history"/>
906 </repeat> 707 </repeat>
907 <repeat name="data_tracks"> 708 <repeat name="data_tracks">
908 <conditional name="data_format"> 709 <conditional name="data_format">
909 <param name="data_format_select" value="gene_calls"/> 710 <param name="data_format_select" value="gene_calls"/>
910 <param name="annotation" value="gff3/1.gff"/> 711 <param name="annotation" value="gff3/1.gff"/>
911 <param name="index" value="true"/>
912 <conditional name="match_part"> 712 <conditional name="match_part">
913 <param name="match_part_select" value="false"/> 713 <param name="match_part_select" value="false"/>
914 </conditional> 714 </conditional>
915 <section name="jbcolor_scale"> 715 <section name="jbcolor_scale">
916 <conditional name="color_score"> 716 <conditional name="color_score">
926 726
927 <param name="uglyTestingHack" value="enabled" /> 727 <param name="uglyTestingHack" value="enabled" />
928 <output name="output"> 728 <output name="output">
929 <assert_contents> 729 <assert_contents>
930 <has_text text="With menu or index"/> 730 <has_text text="With menu or index"/>
931 <has_text text="Some menu item"/> 731 <has_text text="gene_calls"/>
932 <has_text text="Frame title"/>
933 <has_text text="dijitIconNewTask"/>
934 </assert_contents> 732 </assert_contents>
935 </output> 733 </output>
936 </test> 734 </test>
937
938 <!-- TODO add a synteny test --> 735 <!-- TODO add a synteny test -->
939 <!-- TODO add a bam and a cram test --> 736 <!-- TODO add a bam and a cram test -->
940 <!-- TODO add an hic test --> 737 <!-- TODO add an hic test -->
941 <!-- TODO add a vcf_bgzip test --> 738 <!-- TODO add a vcf_bgzip test -->
942 </tests> 739 </tests>
953 JBrowse1 development has now ceased in favour of JBrowse2. 750 JBrowse1 development has now ceased in favour of JBrowse2.
954 751
955 Use and local viewing 752 Use and local viewing
956 ===================== 753 =====================
957 754
755
958 A JBrowse2 history item can be opened by viewing it (the "eye" icon). 756 A JBrowse2 history item can be opened by viewing it (the "eye" icon).
959 They can also be downloaded as archives ("floppy disk" icon) to share and for local viewing. 757
960 One extra step is required before they can be viewed. A local python web server must be started using a script included in each archive. 758 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.
961 Unzip the archive (*unzip [filename].zip*) and change to the first level directory. It contains a file named "webserver.py" 759 This can be shared and viewed without Galaxy.
962 760
963 Assuming you have python3 installed, running: 761 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,
964 762 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
965 *python3 webserver.py* 763 directory to the first level in that zip archive. It contains a file named *jb2_webserver.py*
966 764
967 will serve the unarchived JBrowse2 configuration, so it can be browsed by pointing a web browser to localhost:8080 765 With python3 installed,
766
767 *python3 jb2_webserver.py*
768
769 will serve the unarchived JBrowse2 configuration from the same directory as the python script automatically. If a new browser window does not open,
770 but the script appears to be running, try pointing your web browser to the default of *localhost:8080*
968 771
969 Overview 772 Overview
970 -------- 773 --------
971 774
972 JBrowse is a fast, embeddable genome browser built completely with 775 JBrowse is a fast, embeddable genome browser built completely with
973 JavaScript and HTML5. 776 JavaScript and HTML5.
974 777
975 The JBrowse-in-Galaxy (JiG) tool was written to help build complex 778 The JBrowse-in-Galaxy (JiG) tool was written to help build complex
976 JBrowse installations straight from Galaxy, taking advantage of the 779 JBrowse installations straight from Galaxy. It allows you to build up a JBrowse instance without worrying
977 latest Galaxy features such as dataset collections, sections, and colour
978 pickers. It allows you to build up a JBrowse instance without worrying
979 about how to run the command line tools to format your data, and which 780 about how to run the command line tools to format your data, and which
980 options need to be supplied and where. Additionally it comes with many 781 options need to be supplied and where.
981 javascript functions to handle colouring of features which would be
982 nearly impossible to write without the assistance of this tool.
983 782
984 The JBrowse-in-Galaxy tool is maintained by `the Galaxy IUC 783 The JBrowse-in-Galaxy tool is maintained by `the Galaxy IUC
985 <https://github.com/galaxyproject/tools-iuc/issues>`__, who you can help you 784 <https://github.com/galaxyproject/tools-iuc/issues>`__, who you can help you
986 with missing features or bugs in the tool. 785 with missing features or bugs in the tool.
987 786
988 Options 787 Options
989 ------- 788 -------
990 789
991 The first option you encounter is the **Fasta Sequence(s)**. This option 790 The first option you encounter is the **Reference sequence(s)** to use. This option
992 now accepts multiple fasta files, allowing you to build JBrowse 791 now accepts multiple fasta files, allowing you to build JBrowse2
993 instances that contain data for multiple genomes or chrosomomes 792 instances that contain data for multiple genomes or chrosomomes
994 (generally known as "landmark features" in gff3 terminology.) 793 (generally known as "landmark features" in gff3 terminology.)
995 794
996 **Track Groups** represent a set of tracks in a single category. These 795 **Track Groups** represent a set of tracks in a single category. These
997 can be used to let your users understand relationships between large 796 can be used to let your users understand relationships between large
1044 843
1045 **Protein blast search** option merely informs underlying tools that 844 **Protein blast search** option merely informs underlying tools that
1046 they should adjust feature locations by 3x. 845 they should adjust feature locations by 3x.
1047 846
1048 847
1049 VCFs/SNPs
1050 ~~~~~~~~~
1051
1052 These tracks do not support any special configuration.
1053
1054 @ATTRIBUTION@ 848 @ATTRIBUTION@
1055 ]]></help> 849 ]]></help>
1056 <expand macro="citations"/> 850 <expand macro="citations"/>
1057 </tool> 851 </tool>