diff jbrowse2.py @ 101:e4ba5f1da6ef draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit a1537aea75fc902d0e38c0b7c698830a939648b1-dirty
author fubar
date Sat, 22 Jun 2024 03:52:09 +0000
parents 990291e918c7
children 099370690407
line wrap: on
line diff
--- a/jbrowse2.py	Fri Jun 21 23:49:10 2024 +0000
+++ b/jbrowse2.py	Sat Jun 22 03:52:09 2024 +0000
@@ -403,6 +403,7 @@
 
 class JbrowseConnector(object):
     def __init__(self, outdir, jbrowse2path):
+        self.bpPerPx = 50
         self.trackCounter = 0  # to avoid name clashes
         self.assemblies = []  # these require more than a few line diff.
         self.assmeta = {}
@@ -1319,7 +1320,7 @@
          https://github.com/abretaud/tools-iuc/blob/jbrowse2/tools/jbrowse2/jbrowse2.py
         """
         # TODO using the default session for now, but check out session specs in the future https://github.com/GMOD/jbrowse-components/issues/2708
-        bpPerPx = 50 # this is tricky since browser window width is unknown - this seems a compromise that sort of works....
+        bpPerPx = self.bpPerPx # Browser window width is unknown and apparently cannot be figured out in JB2 code so could be 200-2000+ pixels.
         track_types = {}
         with open(self.config_json_file, "r") as config_file:
             config_json = json.load(config_file)
@@ -1669,6 +1670,7 @@
             track_conf["category"] = track.attrib["cat"]
             track_conf["format"] = track.attrib["format"]
             track_conf["conf"] = etree_to_dict(track.find("options"))
+            logging
             keys = jc.process_annotations(track_conf)
             if keys:
                 for key in keys:
@@ -1702,6 +1704,7 @@
     ).text
     logging.debug("default_session=%s" % (json.dumps(default_session_data, indent=2)))
     jc.zipOut = root.find("metadata/general/zipOut").text == "true"
+    jc.bpPerPx = root.find("metadata/general/bpPerPx").text
     general_data = {
         "analytics": root.find("metadata/general/analytics").text,
         "primary_color": root.find("metadata/general/primary_color").text,