comparison tracks/CanvasFeatures.py @ 38:d17f629f5486 draft

planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit e4c1d387db160a3bf4a1e8abc288bdffbbbe2818-dirty
author yating-l
date Fri, 06 Apr 2018 13:44:56 -0400
parents 31a41ce128cc
children 4a69515eed63
comparison
equal deleted inserted replaced
37:43909f065bee 38:d17f629f5486
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
24 else: 25 track['storeClass'] = 'JBrowse/Store/SeqFeature/GFF3Tabix'
25 self.extraSettings["config"]['category'] = self.extraSettings['category'] 26 track['urlTemplate'] = os.path.join('tracks', self.trackName)
26 if 'glyph' in self.extraSettings: 27 track['label'] = self.trackLabel
27 self.extraSettings["config"]['glyph'] = self.extraSettings['glyph'] 28 track['category'] = self.extraSettings['category']
28 if 'transcriptType' in self.extraSettings: 29 track['style'] = self.extraSettings['style']
29 self.extraSettings['config']['transcriptType'] = self.extraSettings['transcriptType'] 30 extraConfigs = track
30 extraConfigs["config"] = json.dumps(self.extraSettings["config"])
31 extraConfigs["clientConfig"] = json.dumps(self.extraSettings["clientConfig"])
32 return extraConfigs 31 return extraConfigs
32
33 # def prepareExtraSetting(self):
34 # """ set CanvasFeatures configuration options """
35 # extraConfigs = dict()
36 # self.extraSettings["clientConfig"] = dict()
37 # self.extraSettings["config"] = dict()
38 # if 'color' not in self.extraSettings or not self.extraSettings['color']:
39 # self.extraSettings["clientConfig"]['color'] = "#daa520"
40 # else:
41 # self.extraSettings["clientConfig"]['color'] = self.extraSettings['color']
42 # if 'category' not in self.extraSettings or not self.extraSettings['category']:
43 # self.extraSettings["config"]['category'] = "Default group"
44 # else:
45 # self.extraSettings["config"]['category'] = self.extraSettings['category']
46 # if 'glyph' in self.extraSettings:
47 # self.extraSettings["config"]['glyph'] = self.extraSettings['glyph']
48 # if 'transcriptType' in self.extraSettings:
49 # self.extraSettings['config']['transcriptType'] = self.extraSettings['transcriptType']
50 # extraConfigs["config"] = json.dumps(self.extraSettings["config"])
51 # extraConfigs["clientConfig"] = json.dumps(self.extraSettings["clientConfig"])
52 # return extraConfigs