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/hgTracks/bigWigTrack.c src/hg/hgTracks/bigWigTrack.c
index 7d8d4433704..b09ebbda81c 100644
--- src/hg/hgTracks/bigWigTrack.c
+++ src/hg/hgTracks/bigWigTrack.c
@@ -445,73 +445,15 @@
 track->preDrawMultiRegion = wigMultiRegionGraphLimits;
 track->drawItems = bigWigDrawItems;
 track->loadPreDraw = bigWigLoadPreDraw;
 }
 
 void gc5BaseOnTheFlyMethods(struct track *tg, struct cart *cart)
 /* Install on-the-fly GC computation methods on a track that was
  *     loaded from trackDb.  Overrides the bigWig loadItems/loadPreDraw
  *     so data is computed from genome sequence instead of read from a file.
  */
 {
 tg->loadItems   = gc5BaseOnTheFlyLoadItems;
 tg->loadPreDraw = gc5BaseOnTheFlyLoadPreDraw;
 }
 
-struct track *gc5BaseOnTheFlyTg(struct cart *cart)
-/* Create an on-the-fly GC percent track computed directly from
- *     genome sequence.  Default visibility is dense; the cart
- *     override happens later in the getTrackList() visibility loop.
- */
-{
-struct track *tg = trackNew();
-struct trackDb *tdb = trackDbNew();
-char longLabel[1024];
-safef(longLabel, sizeof(longLabel), "GC FLY Percent in %s-Base Windows", gcOnFlyWinSize(cart));
-
-/* Fill in trackDb fields needed by wigCartOptionsNew and bigWigMethods. */
-tdb->track      = cloneString(GC_ON_FLY_TRACK_NAME);
-tdb->table      = cloneString(GC_ON_FLY_TRACK_NAME);
-tdb->type       = cloneString("bigWig 0 100");
-tdb->shortLabel = cloneString(GC_ON_FLY_TRACK_LABEL);
-tdb->longLabel  = cloneString(longLabel);
-tdb->grp        = cloneString("map");
-tdb->canPack    = 0;
-tdb->visibility = tvHide;
-
-/* Add wig display settings to match what gc5BaseBw trackDb would have. */
-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, "gcComputeOnTheFly", "on");
-// trackDbAddSetting(tdb, "gcOnTheFlyMaxBases", "500000");
-// trackDbAddSetting(tdb, "gcFallbackBigWig", "/gbdb/ce1x/bbi/gc5BaseBw/gc5Base.bw");
-trackDbAddSetting(tdb, "calcWinSize", gcOnFlyWinSize(cart));
-trackDbPolish(tdb);
-
-/* Set up bigWig display methods (drawItems, preDrawItems, etc.) */
-char *words[] = {"bigWig", "0", "100"};
-bigWigMethods(tg, tdb, 3, words);
-
-/* Override data loading with on-the-fly sequence computation. */
-tg->loadItems   = gc5BaseOnTheFlyLoadItems;
-tg->loadPreDraw = gc5BaseOnTheFlyLoadPreDraw;
-
-/* Fill in track struct fields. */
-tg->tdb              = tdb;
-tg->track            = tdb->track;
-tg->table            = tdb->table;
-tg->visibility       = tdb->visibility;
-tg->shortLabel       = tdb->shortLabel;
-tg->longLabel        = tdb->longLabel;
-tg->priority         = tdb->priority;
-tg->defaultPriority  = tg->priority;
-tg->groupName        = tdb->grp;
-tg->defaultGroupName = cloneString(tg->groupName);
-tg->hasUi            = TRUE;
-return tg;
-}