Mercurial > repos > iuc > jbrowse
changeset 10:1a6d882d340d draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse commit ac44b067ee08de23180e8b5030374cf362ac4524
author | iuc |
---|---|
date | Fri, 02 Dec 2016 17:58:54 -0500 (2016-12-02) |
parents | f422ba2e9aa5 |
children | 4cbceec1d6b4 |
files | jbrowse.py jbrowse.xml macros.xml readme.rst test-data/track_config/test.xml |
diffstat | 5 files changed, 152 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/jbrowse.py Tue Nov 29 12:31:56 2016 -0500 +++ b/jbrowse.py Fri Dec 02 17:58:54 2016 -0500 @@ -264,11 +264,11 @@ if children: dd = defaultdict(list) for dc in map(etree_to_dict, children): - for k, v in dc.iteritems(): + for k, v in dc.items(): dd[k].append(v) - d = {t.tag: {k: v[0] if len(v) == 1 else v for k, v in dd.iteritems()}} + d = {t.tag: {k: v[0] if len(v) == 1 else v for k, v in dd.items()}} if t.attrib: - d[t.tag].update(('@' + k, v) for k, v in t.attrib.iteritems()) + d[t.tag].update(('@' + k, v) for k, v in t.attrib.items()) if t.text: text = t.text.strip() if children or t.attrib: @@ -370,7 +370,7 @@ self.subprocess_check_call(cmd) def _add_track_json(self, json_data): - if len(json_data.keys()) == 0: + if len(json_data) == 0: return tmp = tempfile.NamedTemporaryFile(delete=False) @@ -499,7 +499,6 @@ self.TN_TABLE.get(format, 'gff'), data, '--trackLabel', trackData['label'], - # '--trackType', 'JBrowse/View/Track/CanvasFeatures', '--key', trackData['key'] ] @@ -514,14 +513,21 @@ cmd += ['--clientConfig', json.dumps(clientConfig), ] + trackType = 'JBrowse/View/Track/CanvasFeatures' if 'trackType' in gffOpts: - cmd += [ - '--trackType', gffOpts['trackType'] - ] - else: - cmd += [ - '--trackType', 'JBrowse/View/Track/CanvasFeatures' - ] + trackType = gffOpts['trackType'] + + if trackType == 'JBrowse/View/Track/CanvasFeatures': + if 'transcriptType' in gffOpts and gffOpts['transcriptType']: + config['transcriptType'] = gffOpts['transcriptType'] + if 'subParts' in gffOpts and gffOpts['subParts']: + config['subParts'] = gffOpts['subParts'] + if 'impliedUTRs' in gffOpts and gffOpts['impliedUTRs']: + config['impliedUTRs'] = gffOpts['impliedUTRs'] + + cmd += [ + '--trackType', gffOpts['trackType'] + ] cmd.extend(['--config', json.dumps(config)]) @@ -544,7 +550,7 @@ log.info('Processing %s / %s', track['category'], track_human_label) outputTrackConfig['key'] = track_human_label hashData = [dataset_path, track_human_label, track['category']] - outputTrackConfig['label'] = hashlib.md5('|'.join(hashData)).hexdigest() + '_%s' % i + outputTrackConfig['label'] = hashlib.md5('|'.join(hashData).encode('utf-8')).hexdigest() + '_%s' % i # Colour parsing is complex due to different track types having # different colour options. @@ -640,7 +646,7 @@ if __name__ == '__main__': parser = argparse.ArgumentParser(description="", epilog="") - parser.add_argument('xml', type=file, help='Track Configuration') + parser.add_argument('xml', type=argparse.FileType('r'), help='Track Configuration') parser.add_argument('--jbrowse', help='Folder containing a jbrowse release') parser.add_argument('--outdir', help='Output directory', default='out')
--- a/jbrowse.xml Tue Nov 29 12:31:56 2016 -0500 +++ b/jbrowse.xml Fri Dec 02 17:58:54 2016 -0500 @@ -216,7 +216,18 @@ </blast> #else if str($track.data_format.data_format_select) == "gene_calls": <gff> - <trackType>${track.data_format.track_class}</trackType> + <trackType>${track.data_format.track_config.track_class}</trackType> + #if $track.data_format.track_config.track_class == 'JBrowse/View/Track/CanvasFeatures': + #if str($track.data_format.track_config.canvas_options.transcriptType) != "": + <transcriptType>${track.data_format.track_config.canvas_options.transcriptType}</transcriptType> + #end if + #if str($track.data_format.track_config.canvas_options.subParts) != "": + <subParts>${track.data_format.track_config.canvas_options.subParts}</subParts> + #end if + #if str($track.data_format.track_config.canvas_options.impliedUTRs) != "false": + <impliedUTRs>${track.data_format.track_config.canvas_options.impliedUTRs}</impliedUTRs> + #end if + #end if #if $track.data_format.match_part.match_part_select: <match>${track.data_format.match_part.name}</match> #end if @@ -381,10 +392,36 @@ <param label="Index this track" name="index" type="boolean" checked="false" truevalue="true" falsevalue="false" /> - <param type="select" label="JBrowse Track Type [Advanced]" name="track_class"> - <option value="JBrowse/View/Track/HTMLFeatures">HTML Features</option> - <option value="JBrowse/View/Track/CanvasFeatures" selected="true">Canvas Features</option> - </param> + <conditional name="track_config"> + <param type="select" label="JBrowse Track Type [Advanced]" name="track_class"> + <option value="JBrowse/View/Track/HTMLFeatures">HTML Features</option> + <option value="JBrowse/View/Track/CanvasFeatures" selected="true">Canvas Features</option> + </param> + <when value="JBrowse/View/Track/CanvasFeatures"> + <section name="canvas_options" title="CanvasFeatures Options [Advanced]" expanded="false"> + <param label="Transcript type" + name="transcriptType" + type="text" + value="" + help="If your input files represents transcripts with features not named 'mRNA', give the alternate name here (e.g. 'transcript')" + optional="True"/> + <param label="Subfeatures type" + name="subParts" + type="text" + value="" + help="If you have 'exons' but no corresponding 'CDS' features, specify here the subfeatures that should be displayed (e.g. 'exon')" + optional="True"/> + <param label="Implied UTRs" + name="impliedUTRs" + type="boolean" + checked="false" + truevalue="true" + falsevalue="false" + help="Check this your input files does not contain UTR features, but the UTR can be 'implied' from the difference between the exon and CDS boundaries"/> + </section> + </when> + <when value="JBrowse/View/Track/HTMLFeatures" /> + </conditional> <expand macro="track_styling" /> <expand macro="color_selection" /> <expand macro="track_menu" /> @@ -729,6 +766,43 @@ <param name="uglyTestingHack" value="enabled" /> <output name="output" file="menus/test.xml" lines_diff="6"/> </test> + <test> + <param name="reference_genome|genome_type_select" value="history"/> + <param name="reference_genome|genomes" value="merlin.fa"/> + <param name="gencode" value="11" /> + <param name="standalone" value="Data Directory" /> + + <repeat name="track_groups"> + <param name="category" value="With canvas 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> + <conditional name="track_config"> + <section name="canvas_options"> + <param name="transcriptType" value="transcript"/> + <param name="subParts" value="exon"/> + <param name="impliedUTRs" value="true"/> + </section> + </conditional> + <section name="jbcolor_scale"> + <conditional name="color_score"> + <param name="color_score_select" value="none"/> + </conditional> + <conditional name="color"> + <param name="color_select" value="automatic"/> + </conditional> + </section> + </conditional> + </repeat> + </repeat> + + <param name="uglyTestingHack" value="enabled" /> + <output name="output" file="track_config/test.xml" lines_diff="6"/> + </test> </tests> <help><![CDATA[ JBrowse-in-Galaxy
--- a/macros.xml Tue Nov 29 12:31:56 2016 -0500 +++ b/macros.xml Fri Dec 02 17:58:54 2016 -0500 @@ -12,7 +12,7 @@ </requirements> </xml> <token name="@DATA_DIR@">\$GALAXY_JBROWSE_SHARED_DIR</token> - <token name="@WRAPPER_VERSION@">0.5.1</token> + <token name="@WRAPPER_VERSION@">0.5.2</token> <xml name="stdio"> <stdio> <exit_code range="1:"/> @@ -265,7 +265,7 @@ <param label="Menu title" type="text" name="menu_title" - help="Will be displayed in the popup title bar if displayed ({name}, {id}, {type}, {start}, {end}, {strand} variables will be interpreted)"> + help="Will be displayed in the popup title bar if displayed ({id}, {type}, {start}, {end}, {strand} variables will be interpreted)"> <expand macro="menu_sanitize" /> </param> <param label="Menu url"
--- a/readme.rst Tue Nov 29 12:31:56 2016 -0500 +++ b/readme.rst Fri Dec 02 17:58:54 2016 -0500 @@ -25,6 +25,7 @@ History ======= +- 0.5.2 Support for CanvasFeatures options. - 0.5.1 Support for contextual menus. Conda tests. - 0.5 Update existing instances on disk. Index names. Support HTML tracks instead of Canvas. Support default tracks. General JBrowse optinos
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/track_config/test.xml Fri Dec 02 17:58:54 2016 -0500 @@ -0,0 +1,50 @@ +<?xml version="1.0"?> +<root> + <metadata> + <gencode>11</gencode> + <genomes> + <genome>/tmp/tmplFZ5li/files/000/dataset_14.dat</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> + </metadata> + <tracks> + <track cat="With canvas config" format="gene_calls" visibility="default_off"> + <files> + <trackFile path="/tmp/tmplFZ5li/files/000/dataset_15.dat" ext="gff3" label="1.gff" /> + </files> + + <options> + <style> + <className>feature</className> + <description>note,description</description> + <label>name,id</label> + <height>100px</height> + </style> + <scaling> + <method>ignore</method> + <scheme> + <color>__auto__</color> + </scheme> + </scaling> + <menus> + </menus> + + <gff> + <trackType>JBrowse/View/Track/CanvasFeatures</trackType> + <index>false</index> + </gff> + </options> + </track> + </tracks> +</root>