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 | 
| 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><