Mercurial > repos > fubar > jbrowse2
comparison jbrowse2.py @ 110:c017111e976a draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 9de1453a009c254ab11b16ae8a56cb5c22b131bf-dirty
| author | fubar |
|---|---|
| date | Sat, 29 Jun 2024 09:10:04 +0000 |
| parents | 27e9ddaaf325 |
| children | 56f9a6e0fe80 |
comparison
equal
deleted
inserted
replaced
| 109:27e9ddaaf325 | 110:c017111e976a |
|---|---|
| 1361 tracks_data = [] | 1361 tracks_data = [] |
| 1362 for track_conf in self.tracksToAdd[gnome]: | 1362 for track_conf in self.tracksToAdd[gnome]: |
| 1363 tId = track_conf["trackId"] | 1363 tId = track_conf["trackId"] |
| 1364 if tId in default_data[gnome]["visibility"]["default_on"]: | 1364 if tId in default_data[gnome]["visibility"]["default_on"]: |
| 1365 track_types[tId] = track_conf["type"] | 1365 track_types[tId] = track_conf["type"] |
| 1366 display = {"type": "linearBasicDisplay"} | 1366 style_data = default_data[gnome]["style"].get(tId, {}) |
| 1367 if not style_data: | |
| 1368 logging.debug( | |
| 1369 "No style data for %s in available default data %s" | |
| 1370 % (tId, default_data) | |
| 1371 ) | |
| 1372 else: | |
| 1373 logging.debug( | |
| 1374 "style data for %s = %s" | |
| 1375 % (tId, style_data) | |
| 1376 ) | |
| 1377 if style_data.get('type',None) == None: | |
| 1378 style_data["type"] = "LinearBasicDisplay" | |
| 1379 if "displays" in track_conf: | |
| 1380 disp = track_conf["displays"][0]["type"] | |
| 1381 style_data["type"] = disp | |
| 1367 if track_conf.get("displays", None): | 1382 if track_conf.get("displays", None): |
| 1368 display["type"] = track_conf["displays"][0]["type"] | 1383 style_data["configuration"] = track_conf["displays"][0]["displayId"] |
| 1369 display["configuration"] = track_conf["displays"][0]["displayId"] | |
| 1370 else: | 1384 else: |
| 1371 logging.debug("no display in track_conf for %s" % tId) | 1385 logging.debug("no display in track_conf for %s" % tId) |
| 1372 if track_conf.get("style_labels", None): | 1386 if track_conf.get("style_labels", None): |
| 1373 # TODO fix this: it should probably go in a renderer block (SvgFeatureRenderer) but still does not work | 1387 # TODO fix this: it should probably go in a renderer block (SvgFeatureRenderer) but still does not work |
| 1374 # TODO move this to per track displays? | 1388 # TODO move this to per track displays? |
| 1375 style_data["labels"] = track_conf["style_labels"] | 1389 style_data["labels"] = track_conf["style_labels"] |
| 1376 tracks_data.append( | 1390 tracks_data.append( |
| 1377 { | 1391 { |
| 1378 "type": track_types[tId], | 1392 "type": track_types[tId], |
| 1379 "configuration": tId, | 1393 "configuration": tId, |
| 1380 "displays": [display], | 1394 "displays": [style_data], |
| 1381 } | 1395 } |
| 1382 ) | 1396 ) |
| 1383 first = [x for x in self.ass_first_contigs if x[0] == gnome] | 1397 first = [x for x in self.ass_first_contigs if x[0] == gnome] |
| 1384 drdict = { | 1398 drdict = { |
| 1385 "reversed": False, | 1399 "reversed": False, |
| 1393 drdict["end"] = end | 1407 drdict["end"] = end |
| 1394 else: | 1408 else: |
| 1395 ddl = default_data.get("defaultLocation", None) | 1409 ddl = default_data.get("defaultLocation", None) |
| 1396 if ddl: | 1410 if ddl: |
| 1397 loc_match = re.search(r"^([^:]+):([\d,]*)\.*([\d,]*)$", ddl) | 1411 loc_match = re.search(r"^([^:]+):([\d,]*)\.*([\d,]*)$", ddl) |
| 1398 # allow commas like 100,000 but ignore as integer | 1412 # allow commas like 100,000 but ignore as integer |
| 1399 if loc_match: | 1413 if loc_match: |
| 1400 refName = loc_match.group(1) | 1414 refName = loc_match.group(1) |
| 1401 drdict["refName"] = refName | 1415 drdict["refName"] = refName |
| 1402 if loc_match.group(2) > "": | 1416 if loc_match.group(2) > "": |
| 1403 drdict["start"] = int(loc_match.group(2).replace(",", "")) | 1417 drdict["start"] = int(loc_match.group(2).replace(",", "")) |
| 1699 for key in keys: | 1713 for key in keys: |
| 1700 vis = track.attrib.get("visibility", "default_off") | 1714 vis = track.attrib.get("visibility", "default_off") |
| 1701 if not vis: | 1715 if not vis: |
| 1702 vis = "default_off" | 1716 vis = "default_off" |
| 1703 default_session_data[primaryGenome]["visibility"][vis].append(key) | 1717 default_session_data[primaryGenome]["visibility"][vis].append(key) |
| 1718 trakdat = jc.tracksToAdd[primaryGenome] | |
| 1719 stile = {} | |
| 1720 for trak in trakdat: | |
| 1721 if trak["trackId"] == key: | |
| 1722 stile = trak.get("style", {}) | |
| 1723 if track.find("options/style"): | |
| 1724 for item in track.find("options/style"): | |
| 1725 if item.text: | |
| 1726 stile[item.tag] = parse_style_conf(item) | |
| 1727 logging.debug("stile=%s" % stile) | |
| 1728 default_session_data[primaryGenome]["style"][key] = stile | |
| 1704 default_session_data[primaryGenome]["tracks"].append(key) | 1729 default_session_data[primaryGenome]["tracks"].append(key) |
| 1705 default_session_data["defaultLocation"] = root.find( | 1730 default_session_data["defaultLocation"] = root.find( |
| 1706 "metadata/general/defaultLocation" | 1731 "metadata/general/defaultLocation" |
| 1707 ).text | 1732 ).text |
| 1708 default_session_data["session_name"] = root.find( | 1733 default_session_data["session_name"] = root.find( |
