Mercurial > repos > fubar > jbrowse2
diff jbrowse2.py @ 79:14ecbe46ae9f draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit d03454f949af9f3fff638f6a3e52fe42bc96be3b-dirty
author | fubar |
---|---|
date | Mon, 01 Apr 2024 09:36:07 +0000 |
parents | 7bb6259ea52f |
children | dff27c9f6d72 |
line wrap: on
line diff
--- a/jbrowse2.py Mon Apr 01 05:40:29 2024 +0000 +++ b/jbrowse2.py Mon Apr 01 09:36:07 2024 +0000 @@ -403,7 +403,9 @@ def __init__(self, outdir, jbrowse2path): self.assemblies = [] # these require more than a few line diff. self.assmeta = {} - self.ass_first_contigs = [] # for default session - these are read as first line of the assembly .fai + self.ass_first_contigs = ( + [] + ) # for default session - these are read as first line of the assembly .fai self.giURL = GALAXY_INFRASTRUCTURE_URL self.outdir = outdir self.jbrowse2path = jbrowse2path @@ -1402,20 +1404,27 @@ ) # paf genomes have no tracks associated so nothing for the view if len(tracks_data) > 0: - view_json = {"type": "LinearGenomeView", "tracks": tracks_data} - logging.debug("Looking for %s in self.ass_ %s" % (gnome, self.ass_first_contigs)) + view_json = { + "type": "LinearGenomeView", + "offsetPx": 0, + "minimized": False, + "tracks": tracks_data, + } + logging.debug( + "Looking for %s in self.ass_ %s" % (gnome, self.ass_first_contigs) + ) first = [x for x in self.ass_first_contigs if x[0] == gnome] if len(first) > 0: [gnome, refName, end] = first[0] - start = 1 + start = 0 end = int(end) refName = self.assmeta[gnome][0].get("genome_firstcontig", None) drdict = { + "refName": refName, + "start": start, + "end": end, "reversed": False, "assemblyName": gnome, - "start": start, - "end": end, - "refName": refName, } else: ddl = default_data.get("defaultLocation", None) @@ -1426,7 +1435,9 @@ refName = loc_match.group(1) drdict["refName"] = refName if loc_match.group(2) > "": - drdict["start"] = int(loc_match.group(2).replace(",", "")) + drdict["start"] = int( + loc_match.group(2).replace(",", "") + ) if loc_match.group(3) > "": drdict["end"] = int(loc_match.group(3).replace(",", "")) else: @@ -1463,8 +1474,15 @@ def add_defsess_to_index(self, data): """ - Broken in Anthony's PR because only ever dealt with the first assembly. + This was included on request of the new codeowner from Anthony's IUC PR. + Now fixed to deal with each assembly and tracks separately. + Originally used only the first assembly, putting all tracks there and + generally falling apart when tested with 2 or more. Seems ironic that + this vital feature was never tested given the rejection of my original IUC PR + because it was not there. And no, reviewer, I do not want this important piece of history + removed. I prefer that it remain here since it has caused me considerable discomfort. + ---------------------------------------------------------- Add some default session settings: set some assemblies/tracks on/off This allows to select a default view: @@ -1748,6 +1766,7 @@ jc.config_json["assemblies"] = assconf logging.debug("assemblies=%s, gnames=%s" % (assconf, jc.genome_names)) jc.write_config() - jc.add_default_session(default_session_data) + # jc.add_default_session(default_session_data) + # note that this can be left in the config.json but has NO EFFECT if add_defsess_to_index is called. jc.add_defsess_to_index(default_session_data) # jc.text_index() not sure what broke here.