Mercurial > repos > yating-l > jbrowsearchivecreator
view tracks/CanvasFeatures.py @ 11:8886033b4f84 draft
planemo upload for repository https://github.com/goeckslab/jbrowse-archive-creator.git commit 4e8e5448a54f794bced67046e236988031616180
author | yating-l |
---|---|
date | Mon, 14 May 2018 23:30:31 -0400 |
parents | e2ebf58c9068 |
children | 3f9971a91096 |
line wrap: on
line source
#!/usr/bin/env python import os import json import logging from TrackDb import TrackDb from util import subtools class CanvasFeatures(TrackDb): def __init__(self, trackName, trackLabel, trackDataURL, trackType, dataType, extraSettings=None): super(CanvasFeatures, self).__init__(trackName, trackLabel, trackDataURL, trackType, dataType, extraSettings) def prepareExtraSetting(self): if 'category' not in self.extraSettings or not self.extraSettings['category']: self.extraSettings['category'] = "Default group" self.extraSettings['style'] = {} self.extraSettings['style']['className'] = 'feature' if 'color' not in self.extraSettings or not self.extraSettings['color']: self.extraSettings['style']['color'] = "#FFA600" else: self.extraSettings['style']['color'] = self.extraSettings['color'] track = dict() track['type'] = 'JBrowse/View/Track/' + self.trackType track['storeClass'] = 'JBrowse/Store/SeqFeature/GFF3Tabix' if self.dataType == 'gff': # need .gff3.gz extension to index the name of the track with generate-name.pl track['urlTemplate'] = os.path.join('tracks', self.trackName + '.gff3.gz') else: track['urlTemplate'] = os.path.join('tracks', self.trackName) if 'glyph' in self.extraSettings: track['glyph'] = self.extraSettings['glyph'] if 'subfeatureClasses' in self.extraSettings: track['subfeatureClasses'] = self.extraSettings['subfeatureClasses'] track['label'] = self.trackLabel track['category'] = self.extraSettings['category'] track['style'] = self.extraSettings['style'] extraConfigs = track return extraConfigs