diff tracks/HTMLFeatures.py @ 25:31a41ce128cc draft

planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit 691e5366893905d30943a3cb8cdfb6341f0f5362-dirty
author yating-l
date Fri, 13 Oct 2017 12:44:31 -0400
parents
children be34d213ec6a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tracks/HTMLFeatures.py	Fri Oct 13 12:44:31 2017 -0400
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+import json
+import logging
+
+from TrackDb import TrackDb
+from util import subtools
+from util import santitizer
+
+
+class HTMLFeatures(TrackDb):
+    def __init__(self, trackName, trackLabel, trackDataURL, trackType, dataType, extraSettings=None):
+        super(HTMLFeatures, self).__init__(trackName, trackLabel, trackDataURL, trackType, dataType, extraSettings)
+ 
+    def prepareExtraSetting(self):
+        """ set HTMLFeatures configuration options """
+        extraConfigs = dict()
+        self.extraSettings["clientConfig"] = dict()
+        self.extraSettings["config"] = dict()
+        if 'type' in self.extraSettings:
+            extraConfigs["type"] = self.extraSettings['type']
+        if 'color' in self.extraSettings and self.extraSettings['color']:
+            extraConfigs['feature_color'] = self.extraSettings['color']
+        else:
+            extraConfigs['feature_color'] = "#000000"
+        #self.extraSettings['clientConfig']['color'] = self.extraSettings['color']
+        if 'subfeatureClasses' in self.extraSettings:
+            subfeature_css_class = santitizer.sanitize_name(self.trackLabel + "_" + self.extraSettings['subfeatureClasses'])
+            extraConfigs['subfeatureClasses'] = {self.extraSettings['subfeatureClasses']: subfeature_css_class}
+
+        if 'category' not in self.extraSettings or not self.extraSettings['category']:
+            self.extraSettings['config']['category'] = "Default group"
+        else:
+            self.extraSettings['config']['category'] = self.extraSettings['category']
+    
+        extraConfigs['config'] = json.dumps(self.extraSettings["config"])
+        extraConfigs['clientConfig'] = json.dumps(self.extraSettings["clientConfig"])
+        return extraConfigs
+
+    
\ No newline at end of file