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