d8900846fdae9183808ccd57864191ee48fca00e chmalee Fri Jun 5 10:07:25 2026 -0700 myVariants: fix item display and HGVS gene-track lookup on GenArk hubs, refs #33808 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> diff --git src/hg/lib/trackHub.c src/hg/lib/trackHub.c index 593c8a950b3..8ef7f5b5a10 100644 --- src/hg/lib/trackHub.c +++ src/hg/lib/trackHub.c @@ -1256,30 +1256,45 @@ *under = 0; return ret; } return NULL; } char *trackHubSkipHubName(char *name) /* Skip the hub_#_ prefix in a hub name. */ { if ((name == NULL) || !startsWith("hub_", name)) return name; return strchr(&name[4], '_') + 1; } +struct trackDb *findTdbByBareName(struct trackDb *tdbList, char *bareName) +/* Recursively search tdbList (and subtracks) for a tdb whose bare track name matches. */ +{ +struct trackDb *tdb; +for (tdb = tdbList; tdb != NULL; tdb = tdb->next) + { + if (sameString(trackHubSkipHubName(tdb->track), bareName)) + return tdb; + struct trackDb *found = findTdbByBareName(tdb->subtracks, bareName); + if (found != NULL) + return found; + } +return NULL; +} + void trackHubAddGroupName(char *hubName, struct trackDb *tdbList) /* Add group tag that references the hubs symbolic name. */ { struct trackDb *tdb; for (tdb = tdbList; tdb != NULL; tdb = tdb->next) { tdb->grp = cloneString(hubName); hashReplace(tdb->settingsHash, "group", tdb->grp); } } void trackHubAddOneDescription(char *trackDbFile, struct trackDb *tdb) /* Fetch tdb->track's html description and store in tdb->html. */ { /* html setting should always be set because we set it at load time */