956500207b58c263485009212f223836152176d3 hiram Thu Mar 26 14:58:55 2026 -0700 simplify the gcOnFly track - it does not need to by completely synthetic - it only comes in from trackDb stanzas refs #35958 diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index 3e8c9bfb7af..c915da8738e 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -4052,53 +4052,30 @@ /* Create a trackDb entry for the wikiTrack. It is not a real track, so doesn't appear in trackDb */ { return trackDbForPseudoTrack(WIKI_TRACK_TABLE, WIKI_TRACK_LABEL, WIKI_TRACK_LONGLABEL, tvFull, FALSE); } struct trackDb *trackDbForRuler() /* Create a trackDb entry for the base position ruler. It is not (yet?) a real track, so doesn't appear in trackDb */ { return trackDbForPseudoTrack(RULER_TRACK_NAME, RULER_TRACK_LABEL, RULER_TRACK_LONGLABEL, tvFull, FALSE); } -static struct trackDb *trackDbForGcOnFly(struct cart *cart) -/* Create a trackDb entry for the GC on the fly pseudo-track. */ -{ -char longLabel[1024]; -safef(longLabel, sizeof(longLabel), "GC FLY Percent in %s-Base Windows", gcOnFlyWinSize(cart)); -struct trackDb *tdb = trackDbForPseudoTrack(GC_ON_FLY_TRACK_NAME, - GC_ON_FLY_TRACK_LABEL, longLabel, tvFull, TRUE); -tdb->canPack = 0; -tdb->type = cloneString("bigWig 0 100"); -trackDbAddSetting(tdb, "autoScale", "Off"); -trackDbAddSetting(tdb, "viewLimits", "30:70"); -trackDbAddSetting(tdb, "maxHeightPixels", "128:36:16"); -trackDbAddSetting(tdb, "graphTypeDefault", "Bar"); -trackDbAddSetting(tdb, "gridDefault", "OFF"); -trackDbAddSetting(tdb, "windowingFunction", "Mean"); -trackDbAddSetting(tdb, "color", "0,0,0"); -trackDbAddSetting(tdb, "altColor", "128,128,128"); -trackDbAddSetting(tdb, "calcWinSize", gcOnFlyWinSize(cart)); -trackDbAddSetting(tdb, "syntheticTrack", "on"); -trackDbPolish(tdb); -return tdb; -} - struct trackDb *trackDbForOligoMatch() /* Create a trackDb entry for the oligo matcher pseudo-track. */ { return trackDbForPseudoTrack(OLIGO_MATCH_TRACK_NAME, OLIGO_MATCH_TRACK_LABEL, OLIGO_MATCH_TRACK_LONGLABEL, tvHide, TRUE); } static char *handleDupOp(char *track, struct hash *trackHash) /* Handle the duplication operation in the URL if any. Return dupe name if * a dupe has happened. The trackHash is keyed by track name and has * struct trackDb values. */ { char *newTrack = NULL; /* Handle duplicate, and possible in the future other operations on tracks. */ @@ -4327,32 +4304,30 @@ dupTdb = NULL; /* We use it! */ } } if (dupTdb != NULL) slAddHead(&tdbList, dupTdb); } } if (sameWord(track, WIKI_TRACK_TABLE)) tdb = trackDbForWikiTrack(); else if (sameWord(track, RULER_TRACK_NAME)) /* special handling -- it's not a full-fledged track */ tdb = trackDbForRuler(); else if (sameWord(track, OLIGO_MATCH_TRACK_NAME)) tdb = trackDbForOligoMatch(); -else if (sameWord(track, GC_ON_FLY_TRACK_NAME)) - tdb = trackDbForGcOnFly(cart); else if (sameWord(track, CUTTERS_TRACK_NAME)) tdb = trackDbForPseudoTrack(CUTTERS_TRACK_NAME, CUTTERS_TRACK_LABEL, CUTTERS_TRACK_LONGLABEL, tvHide, TRUE); else if (isCustomTrack(track)) { ctList = customTracksParseCart(database, cart, NULL, NULL); for (ct = ctList; ct != NULL; ct = ct->next) { if (sameString(track, ct->tdb->track)) { tdb = ct->tdb; break; } } } else if (isHubTrack(track))