Mercurial > repos > yating-l > jbrowsearchivecreator
comparison tracks/CanvasFeatures.py @ 7:5d5fdcb798da draft
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit 12fb52d5b285935b2353d93a5aa291838df7893e
author | yating-l |
---|---|
date | Fri, 20 Apr 2018 13:51:23 -0400 |
parents | 237707a6b74d |
children | 56d9d10b4990 |
comparison
equal
deleted
inserted
replaced
6:237707a6b74d | 7:5d5fdcb798da |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 import os | |
2 import json | 3 import json |
3 import logging | 4 import logging |
4 | 5 |
5 from TrackDb import TrackDb | 6 from TrackDb import TrackDb |
6 from util import subtools | 7 from util import subtools |
9 class CanvasFeatures(TrackDb): | 10 class CanvasFeatures(TrackDb): |
10 def __init__(self, trackName, trackLabel, trackDataURL, trackType, dataType, extraSettings=None): | 11 def __init__(self, trackName, trackLabel, trackDataURL, trackType, dataType, extraSettings=None): |
11 super(CanvasFeatures, self).__init__(trackName, trackLabel, trackDataURL, trackType, dataType, extraSettings) | 12 super(CanvasFeatures, self).__init__(trackName, trackLabel, trackDataURL, trackType, dataType, extraSettings) |
12 | 13 |
13 def prepareExtraSetting(self): | 14 def prepareExtraSetting(self): |
14 """ set CanvasFeatures configuration options """ | 15 if 'category' not in self.extraSettings or not self.extraSettings['category']: |
15 extraConfigs = dict() | 16 self.extraSettings['category'] = "Default group" |
16 self.extraSettings["clientConfig"] = dict() | 17 self.extraSettings['style'] = {} |
17 self.extraSettings["config"] = dict() | 18 self.extraSettings['style']['className'] = 'feature' |
18 if 'color' not in self.extraSettings or not self.extraSettings['color']: | 19 if 'color' not in self.extraSettings or not self.extraSettings['color']: |
19 self.extraSettings["clientConfig"]['color'] = "#daa520" | 20 self.extraSettings['style']['color'] = "#FFA600" |
20 else: | 21 else: |
21 self.extraSettings["clientConfig"]['color'] = self.extraSettings['color'] | 22 self.extraSettings['style']['color'] = self.extraSettings['color'] |
22 if 'category' not in self.extraSettings or not self.extraSettings['category']: | 23 track = dict() |
23 self.extraSettings["config"]['category'] = "Default group" | 24 track['type'] = 'JBrowse/View/Track/' + self.trackType |
25 track['storeClass'] = 'JBrowse/Store/SeqFeature/GFF3Tabix' | |
26 if self.dataType == 'gff': | |
27 track['urlTemplate'] = os.path.join('tracks', self.trackName + '.gff3.gz') | |
24 else: | 28 else: |
25 self.extraSettings["config"]['category'] = self.extraSettings['category'] | 29 track['urlTemplate'] = os.path.join('tracks', self.trackName) |
26 if 'glyph' in self.extraSettings: | 30 track['label'] = self.trackLabel |
27 self.extraSettings["config"]['glyph'] = self.extraSettings['glyph'] | 31 track['category'] = self.extraSettings['category'] |
28 if 'transcriptType' in self.extraSettings: | 32 track['style'] = self.extraSettings['style'] |
29 self.extraSettings['config']['transcriptType'] = self.extraSettings['transcriptType'] | 33 extraConfigs = track |
30 extraConfigs["config"] = json.dumps(self.extraSettings["config"]) | |
31 extraConfigs["clientConfig"] = json.dumps(self.extraSettings["clientConfig"]) | |
32 return extraConfigs | 34 return extraConfigs |
35 |