Mercurial > repos > iuc > jbrowse
changeset 31:2bb2e07a7a21 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse commit 12dff0abf006f6c81f6462cdf4ea9c0c740d1e9c
author | iuc |
---|---|
date | Mon, 15 Apr 2019 10:31:26 -0400 |
parents | ca2def38369c |
children | 6b774e9d6387 |
files | jbrowse.py jbrowse.xml macros.xml test-data/bam/test.xml test-data/custom_config/test.xml test-data/gencode/test.xml test-data/gff3/test.xml test-data/menus/test.xml test-data/track_config/test.xml |
diffstat | 9 files changed, 313 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/jbrowse.py Thu Apr 11 09:35:00 2019 -0400 +++ b/jbrowse.py Mon Apr 15 10:31:26 2019 -0400 @@ -80,8 +80,7 @@ var opacity = (score - ({min})) / (({max}) - ({min})); """, 'logarithmic': """ - var opacity = (score - ({min})) / (({max}) - ({min})); - opacity = Math.log10(opacity) + Math.log10({max}); + var opacity = Math.log10(score - ({min})) / Math.log10(({max}) - ({min})); """, 'blast': """ var opacity = 0; @@ -682,6 +681,36 @@ } self._add_track_json(data) + def traverse_to_option_parent(self, splitKey, outputTrackConfig): + trackConfigSubDict = outputTrackConfig + for part in splitKey[:-1]: + if trackConfigSubDict.get(part) is None: + trackConfigSubDict[part] = dict() + trackConfigSubDict = trackConfigSubDict[part] + assert isinstance(trackConfigSubDict, dict), 'Config element {} is not a dict'.format(trackConfigSubDict) + return trackConfigSubDict + + def get_formatted_option(self, valType2ValDict, mapped_chars): + assert isinstance(valType2ValDict, dict) and len(valType2ValDict.items()) == 1 + for valType, value in valType2ValDict.items(): + if valType == "text": + for char, mapped_char in mapped_chars.items(): + value = value.replace(mapped_char, char) + elif valType == "integer": + value = int(value) + elif valType == "float": + value = float(value) + else: # boolean + value = {'true': True, 'false': False}[value] + return value + + def set_custom_track_options(self, customTrackConfig, outputTrackConfig, mapped_chars): + for optKey, optType2ValDict in customTrackConfig.items(): + splitKey = optKey.split('.') + trackConfigOptionParent = self.traverse_to_option_parent(splitKey, outputTrackConfig) + optVal = self.get_formatted_option(optType2ValDict, mapped_chars) + trackConfigOptionParent[splitKey[-1]] = optVal + def process_annotations(self, track): category = track['category'].replace('__pd__date__pd__', TODAY) outputTrackConfig = { @@ -747,6 +776,10 @@ menus = self.cs.parse_menus(track['conf']['options']) outputTrackConfig.update(menus) + customTrackConfig = track['conf']['options'].get('custom_config', {}) + if customTrackConfig: + self.set_custom_track_options(customTrackConfig, outputTrackConfig, mapped_chars) + # import pprint; pprint.pprint(track) # import sys; sys.exit() if dataset_ext in ('gff', 'gff3', 'bed'):
--- a/jbrowse.xml Thu Apr 11 09:35:00 2019 -0400 +++ b/jbrowse.xml Mon Apr 15 10:31:26 2019 -0400 @@ -210,6 +210,15 @@ #end for </menus> #end if + #if str($track.data_format.data_format_select) in ["gene_calls", "pileup", "blast", "wiggle", "vcf"]: + <custom_config> + #for $custom_option in $track.data_format.jb_custom_config.option: + <${custom_option.opt_key}> + <${custom_option.opt_value.val_type}>${$custom_option.opt_value.val}</${custom_option.opt_value.val_type}> + </${custom_option.opt_key}> + #end for + </custom_config> + #end if #if str($track.data_format.data_format_select) == "wiggle": <wiggle> @@ -318,7 +327,8 @@ BlastView="${plugins.BlastView}" theme="" /> -</root>]]></configfile> +</root> +]]></configfile> </configfiles> <inputs> <conditional name="reference_genome"> @@ -431,11 +441,13 @@ <expand macro="color_selection" token_scaling_lin_select="false" token_scaling_log_select="true" /> + <expand macro="track_custom_config" /> <expand macro="track_menu" /> <expand macro="track_display" /> </when> <when value="vcf"> <expand macro="input_conditional" label="SNP Track Data" format="vcf" /> + <expand macro="track_custom_config" /> <expand macro="track_display" /> </when> <when value="gene_calls"> @@ -487,6 +499,7 @@ description="note,description" height="10px"/> <expand macro="color_selection" /> + <expand macro="track_custom_config" /> <expand macro="track_menu" /> <expand macro="track_display" /> </when> @@ -503,6 +516,7 @@ type="integer" help="Maximum size in bytes of BAM chunks that the browser will try to deal with. When this is exceeded, most tracks will display 'Too much data' message." value="5000000" /> + <expand macro="track_custom_config" /> <expand macro="track_display" /> </when> <when value="wiggle"> @@ -545,6 +559,7 @@ help="MultiBigWig is a plugin to group multiple big-wig tracks in a more aesthetically pleasing format and to show data in a higher density display." /> <expand macro="color_selection_minmax" /> + <expand macro="track_custom_config" /> <expand macro="track_display" /> </when> <when value="rest"> @@ -642,7 +657,7 @@ <param name="gencode" value="1" /> <param name="standalone" value="Data Directory" /> <param name="uglyTestingHack" value="enabled" /> - <output name="output" file="gencode/test-1.xml" lines_diff="14"/> + <output name="output" file="gencode/test-1.xml" lines_diff="16"/> </test> <test> <param name="reference_genome|genome_type_select" value="history"/> @@ -650,7 +665,7 @@ <param name="gencode" value="11" /> <param name="standalone" value="Data Directory" /> <param name="uglyTestingHack" value="enabled" /> - <output name="output" file="gencode/test.xml" lines_diff="14"/> + <output name="output" file="gencode/test.xml" lines_diff="16"/> </test> <test> <param name="reference_genome|genome_type_select" value="history"/> @@ -846,7 +861,7 @@ </repeat> <param name="uglyTestingHack" value="enabled" /> - <output name="output" file="gff3/test.xml" lines_diff="256" /> + <output name="output" file="gff3/test.xml" lines_diff="170" /> </test> <test> <param name="reference_genome|genome_type_select" value="history"/> @@ -909,7 +924,7 @@ </repeat> <param name="uglyTestingHack" value="enabled" /> - <output name="output" file="menus/test.xml" lines_diff="24"/> + <output name="output" file="menus/test.xml" lines_diff="44"/> </test> <test> <param name="reference_genome|genome_type_select" value="history"/> @@ -927,6 +942,7 @@ <param name="match_part_select" value="false"/> </conditional> <conditional name="track_config"> + <param name="track_class" value="JBrowse/View/Track/CanvasFeatures"/> <section name="canvas_options"> <param name="transcriptType" value="transcript"/> <param name="subParts" value="exon"/> @@ -946,7 +962,59 @@ </repeat> <param name="uglyTestingHack" value="enabled" /> - <output name="output" file="track_config/test.xml" lines_diff="26"/> + <output name="output" file="track_config/test.xml" lines_diff="30"/> + </test> + <test> + <param name="reference_genome|genome_type_select" value="history"/> + <param name="reference_genome|genome" value="merlin.fa"/> + <param name="gencode" value="11" /> + <param name="standalone" value="Data Directory" /> + + <repeat name="track_groups"> + <param name="category" value="With custom track config" /> + <repeat name="data_tracks"> + <conditional name="data_format"> + <param name="data_format_select" value="gene_calls"/> + <param name="annotation" value="gff3/1.gff"/> + <conditional name="match_part"> + <param name="match_part_select" value="false"/> + </conditional> + <section name="jb_custom_config"> + <repeat name="option"> + <param name="opt_key" value="displayMode"/> + <conditional name="opt_value"> + <param name="val_type" value="text"/> + <param name="val" value="collapsed"/> + </conditional> + </repeat> + <repeat name="option"> + <param name="opt_key" value="histograms.height"/> + <conditional name="opt_value"> + <param name="val_type" value="integer"/> + <param name="val" value="150"/> + </conditional> + </repeat> + <repeat name="option"> + <param name="opt_key" value="maxFeatureScreenDensity"/> + <conditional name="opt_value"> + <param name="val_type" value="float"/> + <param name="val" value="0.1"/> + </conditional> + </repeat> + <repeat name="option"> + <param name="opt_key" value="style.strandArrow"/> + <conditional name="opt_value"> + <param name="val_type" value="boolean"/> + <param name="val" value="false"/> + </conditional> + </repeat> + </section> + </conditional> + </repeat> + </repeat> + + <param name="uglyTestingHack" value="enabled" /> + <output name="output" file="custom_config/test.xml" lines_diff="30"/> </test> <test> <param name="reference_genome|genome_type_select" value="history"/> @@ -965,7 +1033,7 @@ </repeat> <param name="uglyTestingHack" value="enabled" /> - <output name="output" file="bam/test.xml" lines_diff="48"/> + <output name="output" file="bam/test.xml" lines_diff="42"/> </test> <test> @@ -975,7 +1043,7 @@ <param name="gencode" value="1" /> <param name="standalone" value="Data Directory" /> <param name="uglyTestingHack" value="enabled" /> - <output name="output" file="gencode/test-data_table.xml" lines_diff="6" /> + <output name="output" file="gencode/test-data_table.xml" lines_diff="4" /> </test> <test> @@ -1022,7 +1090,7 @@ </repeat> <param name="uglyTestingHack" value="enabled" /> - <output name="output" file="endpoints/test.xml" lines_diff="48"/> + <output name="output" file="endpoints/test.xml" lines_diff="16"/> </test> </tests> <help><![CDATA[
--- a/macros.xml Thu Apr 11 09:35:00 2019 -0400 +++ b/macros.xml Mon Apr 15 10:31:26 2019 -0400 @@ -14,7 +14,7 @@ </requirements> </xml> <token name="@DATA_DIR@">\$GALAXY_JBROWSE_SHARED_DIR</token> - <token name="@WRAPPER_VERSION@">galaxy2</token> + <token name="@WRAPPER_VERSION@">galaxy3</token> <token name="@ATTRIBUTION@"><![CDATA[ **Attribution** @@ -290,6 +290,44 @@ </section> </xml> + <xml name="track_custom_config"> + <section name="jb_custom_config" title="JBrowse Custom Track Config [Advanced]" expanded="false"> + <repeat name="option" title="Custom Track Config Option"> + <param name="opt_key" type="text" label="Key for JBrowse track config option" + help="Multilevel keys (e.g., 'style.label') are delimited by a period character ('.')."> + <validator type="regex" message="Key must consist of alphanumeric characters only, possibly separated by the period character ('.')">^[\w]+(\.\w+)*$</validator> + </param> + <conditional name="opt_value"> + <param name="val_type" type="select" label="Choose the type of value for the option"> + <option value="text" selected="true">Text</option> + <option value="integer">Integer number</option> + <option value="float">Floating point number</option> + <option value="boolean">Boolean</option> + </param> + <when value="text"> + <param name="val" type="text" label="Value for custom track option." + help="Will override other track options set elsewhere."> + <validator type="empty_field" /> + </param> + </when> + <when value="integer"> + <param name="val" type="integer" value="0" label="Value for custom track option." + help="Will override other track options set elsewhere." /> + </when> + <when value="float"> + <param name="val" type="float" value="0" label="Value for custom track option." + help="Will override other track options set elsewhere." /> + </when> + <when value="boolean"> + <param name="val" type="boolean" truevalue="true" falsevalue="false" + label="Value for custom track option." + help="Will override other track options set elsewhere." /> + </when> + </conditional> + </repeat> + </section> + </xml> + <xml name="track_menu"> <section name="jbmenu" title="JBrowse Contextual Menu options [Advanced]" expanded="false"> <repeat name="track_menu" title="Track Menu">
--- a/test-data/bam/test.xml Thu Apr 11 09:35:00 2019 -0400 +++ b/test-data/bam/test.xml Mon Apr 15 10:31:26 2019 -0400 @@ -54,15 +54,14 @@ display_name="test_history"/> <metadata dbkey="?" - bam_index="__lt__galaxy.model.MetadataFile object at 0x7f6200f6d1d0__gt__" bam_version="1.3" sort_order="coordinate" - read_groups="" reference_names="[SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f62008d8a70 on: u__sq__Merlin__sq__]" reference_lengths="[172788]" bam_header="{SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f62006f0a10 on: u__sq__SQ__sq__: [{SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f62006f0d70 on: u__sq__LN__sq__: 172788, SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f62006f0f50 on: u__sq__SN__sq__: SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe0470 on: u__sq__Merlin__sq__}], SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe0b90 on: u__sq__PG__sq__: [{SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe07d0 on: u__sq__PN__sq__: SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe0d10 on: u__sq__minimap2__sq__, SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe0590 on: u__sq__ID__sq__: SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe0cb0 on: u__sq__minimap2__sq__, SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe03b0 on: u__sq__VN__sq__: SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe0ad0 on: u__sq__2.5-r572__sq__, SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe0e90 on: u__sq__CL__sq__: SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe00b0 on: u__sq__minimap2 -a -x sr -t 1 reference.fa /net/datasrv3hs.sanbi.ac.za/datastore/cip0/software/galaxy/galaxy-ctb/galaxy/database/files/004/dataset_4697.dat__sq__}], SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe0a10 on: u__sq__HD__sq__: {SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe0830 on: u__sq__SO__sq__: SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe0350 on: u__sq__coordinate__sq__, SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200fe0e30 on: u__sq__VN__sq__: SafeStringWrapper(unicode:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f62008d10b0 on: u__sq__1.3__sq__}}" columns="12" column_names="[SafeStringWrapper(str:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200e95f18 on: __sq__QNAME__sq__, SafeStringWrapper(str:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200e958e8 on: __sq__FLAG__sq__, SafeStringWrapper(str:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200e957e0 on: __sq__RNAME__sq__, SafeStringWrapper(str:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200e95b50 on: __sq__POS__sq__, SafeStringWrapper(str:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200e95788 on: __sq__MAPQ__sq__, SafeStringWrapper(str:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200e95730 on: __sq__CIGAR__sq__, SafeStringWrapper(str:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200e95d60 on: __sq__MRNM__sq__, SafeStringWrapper(str:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200e95d08 on: __sq__MPOS__sq__, SafeStringWrapper(str:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200e95c58 on: __sq__ISIZE__sq__, SafeStringWrapper(str:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200e952b8 on: __sq__SEQ__sq__, SafeStringWrapper(str:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200e95418 on: __sq__QUAL__sq__, SafeStringWrapper(str:__lt__class __sq__galaxy.tools.wrappers.ToolParameterValueWrapper__sq____gt__,__lt__class __sq__galaxy.util.object_wrapper.SafeStringWrapper__sq____gt__,__lt__class __sq__numbers.Number__sq____gt__,__lt__type __sq__NoneType__sq____gt__,__lt__type __sq__NotImplementedType__sq____gt__,__lt__type __sq__bool__sq____gt__,__lt__type __sq__bytearray__sq____gt__,__lt__type __sq__ellipsis__sq____gt__) object at 7f6200e95998 on: __sq__OPT__sq__]" + bam_index="__lt__galaxy.model.MetadataFile object at 0x7f6200f6d1d0__gt__" /> <tool tool_id="upload1" @@ -73,12 +72,15 @@ </files> <options> + <custom_config> + </custom_config> <pileup> <auto_snp>false</auto_snp> <bam_indices> <bam_index>/tmp/tmpWtvfKr/files/_metadata_files/000/metadata_1.dat</bam_index> </bam_indices> + <chunkSizeLimit>5000000</chunkSizeLimit> </pileup> </options> </track> @@ -87,6 +89,7 @@ ComboTrackSelector="" Bookmarks="" GCContent="" + BlastView="True" theme="" /> -</root> \ No newline at end of file +</root>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/custom_config/test.xml Mon Apr 15 10:31:26 2019 -0400 @@ -0,0 +1,119 @@ +<?xml version="1.0"?> +<root> + <metadata> + <gencode>11</gencode> + <genomes> + <genome path="/tmp/tmpWtvfKr/files/000/dataset_17.dat"> + <metadata> + <dataset id="27ee89e2e3d631e0" hid="1" + size="171.6 KB" + edam_format="format_1929" + file_ext="fasta" /> + <history id="7b55dbb89df8f4e5" + user_email="test@bx.psu.edu" + user_id="2" + display_name="test_history"/> + <metadata + dbkey="?" + data_lines="2881" + sequences="1" + /> + <tool + tool_id="upload1" + tool_version="1.1.6" + /> + </metadata> + </genome> + </genomes> + <general> + <defaultLocation></defaultLocation> + <trackPadding>20</trackPadding> + + <shareLink>true</shareLink> + <aboutDescription></aboutDescription> + <show_tracklist>true</show_tracklist> + <show_nav>true</show_nav> + <show_overview>true</show_overview> + <show_menu>true</show_menu> + <hideGenomeOptions>false</hideGenomeOptions> + </general> + <galaxyUrl>http://localhost</galaxyUrl> + </metadata> + <tracks> + <track cat="With custom track config" format="gene_calls" visibility="default_off"> + <files> + <trackFile path="/tmp/tmpWtvfKr/files/000/dataset_18.dat" ext="gff3" label="1.gff"> + <metadata> + <dataset id="61f03d5eef6f1538" hid="2" + size="2.3 KB" + edam_format="format_1975" + file_ext="gff3" /> + <history id="7b55dbb89df8f4e5" + user_email="test@bx.psu.edu" + user_id="2" + display_name="test_history"/> + <metadata + dbkey="?" + data_lines="27" + comment_lines="19" + columns="9" + delimiter="__tc__" + attributes="6" + /> + <tool + tool_id="upload1" + tool_version="1.1.6" + /> + </metadata> + </trackFile> + </files> + + <options> + <style> + <overridePlugins>False</overridePlugins> + <overrideDraggable>False</overrideDraggable> + <className>feature2</className> + <description>note,description</description> + <label>product,name,id</label> + <height>10px</height> + <maxHeight>600</maxHeight> + </style> + <scaling> + <method>ignore</method> + <scheme> + <color>__auto__</color> + </scheme> + </scaling> + <menus> + </menus> + <custom_config> + <displayMode> + <text>collapsed</text> + </displayMode> + <histograms.height> + <integer>150</integer> + </histograms.height> + <maxFeatureScreenDensity> + <float>0.1</float> + </maxFeatureScreenDensity> + <style.strandArrow> + <boolean>false</boolean> + </style.strandArrow> + </custom_config> + + <gff> + <trackType>NeatHTMLFeatures/View/Track/NeatFeatures</trackType> + <topLevelFeatures>mRNA</topLevelFeatures> + <index>false</index> + </gff> + </options> + </track> + </tracks> + <plugins + ComboTrackSelector="" + Bookmarks="" + GCContent="" + BlastView="True" + theme="" + /> +</root>
--- a/test-data/gencode/test.xml Thu Apr 11 09:35:00 2019 -0400 +++ b/test-data/gencode/test.xml Mon Apr 15 10:31:26 2019 -0400 @@ -45,6 +45,7 @@ ComboTrackSelector="" Bookmarks="" GCContent="" + BlastView="True" theme="" /> </root>
--- a/test-data/gff3/test.xml Thu Apr 11 09:35:00 2019 -0400 +++ b/test-data/gff3/test.xml Mon Apr 15 10:31:26 2019 -0400 @@ -158,6 +158,8 @@ </scaling> <menus> </menus> + <custom_config> + </custom_config> <gff> <trackType>NeatHTMLFeatures/View/Track/NeatFeatures</trackType> @@ -212,6 +214,8 @@ </scaling> <menus> </menus> + <custom_config> + </custom_config> <gff> <trackType>NeatHTMLFeatures/View/Track/NeatFeatures</trackType> @@ -272,6 +276,8 @@ </scaling> <menus> </menus> + <custom_config> + </custom_config> <gff> <trackType>NeatHTMLFeatures/View/Track/NeatFeatures</trackType> @@ -332,6 +338,8 @@ </scaling> <menus> </menus> + <custom_config> + </custom_config> <gff> <trackType>NeatHTMLFeatures/View/Track/NeatFeatures</trackType> @@ -394,6 +402,8 @@ </scaling> <menus> </menus> + <custom_config> + </custom_config> <gff> <trackType>NeatHTMLFeatures/View/Track/NeatFeatures</trackType> @@ -456,6 +466,8 @@ </scaling> <menus> </menus> + <custom_config> + </custom_config> <gff> <trackType>NeatHTMLFeatures/View/Track/NeatFeatures</trackType> @@ -510,6 +522,8 @@ </scaling> <menus> </menus> + <custom_config> + </custom_config> <gff> <trackType>NeatHTMLFeatures/View/Track/NeatFeatures</trackType> @@ -564,6 +578,8 @@ </scaling> <menus> </menus> + <custom_config> + </custom_config> <gff> <trackType>NeatHTMLFeatures/View/Track/NeatFeatures</trackType>
--- a/test-data/menus/test.xml Thu Apr 11 09:35:00 2019 -0400 +++ b/test-data/menus/test.xml Mon Apr 15 10:31:26 2019 -0400 @@ -57,7 +57,6 @@ data_lines="27" comment_lines="19" columns="9" - column_names="" delimiter="__tc__" attributes="6" /> @@ -73,7 +72,7 @@ <style> <overridePlugins>False</overridePlugins> <overrideDraggable>False</overrideDraggable> - <className>feature</className> + <className>feature2</className> <description>note,description</description> <label>product,name,id</label> <height>10px</height> @@ -101,9 +100,12 @@ <iconClass>dijitIconBookmark</iconClass> </menu> </menus> + <custom_config> + </custom_config> <gff> - <trackType>JBrowse/View/Track/CanvasFeatures</trackType> + <trackType>NeatHTMLFeatures/View/Track/NeatFeatures</trackType> + <topLevelFeatures>mRNA</topLevelFeatures> <index>false</index> </gff> </options> @@ -125,7 +127,6 @@ data_lines="27" comment_lines="19" columns="9" - column_names="" delimiter="__tc__" attributes="6" /> @@ -141,7 +142,7 @@ <style> <overridePlugins>False</overridePlugins> <overrideDraggable>False</overrideDraggable> - <className>feature</className> + <className>feature2</className> <description>note,description</description> <label>product,name,id</label> <height>10px</height> @@ -155,9 +156,12 @@ </scaling> <menus> </menus> + <custom_config> + </custom_config> <gff> - <trackType>JBrowse/View/Track/CanvasFeatures</trackType> + <trackType>NeatHTMLFeatures/View/Track/NeatFeatures</trackType> + <topLevelFeatures>mRNA</topLevelFeatures> <index>true</index> </gff> </options> @@ -167,6 +171,7 @@ ComboTrackSelector="" Bookmarks="" GCContent="" + BlastView="True" theme="" /> -</root> \ No newline at end of file +</root>
--- a/test-data/track_config/test.xml Thu Apr 11 09:35:00 2019 -0400 +++ b/test-data/track_config/test.xml Mon Apr 15 10:31:26 2019 -0400 @@ -57,7 +57,6 @@ data_lines="27" comment_lines="19" columns="9" - column_names="" delimiter="__tc__" attributes="6" /> @@ -73,7 +72,7 @@ <style> <overridePlugins>False</overridePlugins> <overrideDraggable>False</overrideDraggable> - <className>feature</className> + <className>feature2</className> <description>note,description</description> <label>product,name,id</label> <height>10px</height> @@ -87,9 +86,14 @@ </scaling> <menus> </menus> + <custom_config> + </custom_config> <gff> <trackType>JBrowse/View/Track/CanvasFeatures</trackType> + <transcriptType>transcript</transcriptType> + <subParts>exon</subParts> + <impliedUTRs>true</impliedUTRs> <index>false</index> </gff> </options> @@ -99,6 +103,7 @@ ComboTrackSelector="" Bookmarks="" GCContent="" + BlastView="True" theme="" /> -</root> \ No newline at end of file +</root>