11bc4be74936249529960fb3a532376779debbe5 braney Thu Feb 6 11:06:45 2025 -0800 add hgc support for click throughs on quickLifted custom tracks diff --git src/hg/lib/trackHub.c src/hg/lib/trackHub.c index ba7b18863c7..4b5023cfd05 100644 --- src/hg/lib/trackHub.c +++ src/hg/lib/trackHub.c @@ -44,30 +44,31 @@ #include "hgFind.h" #include "hubConnect.h" #include "trix.h" #include "vcf.h" #include "vcfUi.h" #include "htmshell.h" #include "bigBedFind.h" #include "customComposite.h" #include "interactUi.h" #include "bedTabix.h" #include "hic.h" #include "hui.h" #include "chromAlias.h" #include "trashDir.h" #include "hgConfig.h" +#include "cartTrackDb.h" #ifdef USE_HAL #include "halBlockViz.h" #endif struct grp *trackHubGrps = NULL; // global with grps loaded from track hubs static struct hash *hubCladeHash; // mapping of clade name to hub pointer static struct hash *hubAssemblyHash; // mapping of assembly name to genome struct static struct hash *hubAssemblyUndecoratedHash; // mapping of undecorated assembly name to genome struct static struct hash *hubOrgHash; // mapping from organism name to hub pointer static struct trackHub *globalAssemblyHubList; // list of trackHubs in the user's cart static struct hash *trackHubHash; static void tdbListAddHubToGroup(char *hubName, struct trackDb *tdbList) /* Prepend hub name to group name for every tdb. */ @@ -1667,39 +1668,34 @@ hashReplace(tdb->settingsHash, "shortLabel", trackDbSetting(tdb, "name")); hashReplace(tdb->settingsHash, "longLabel", trackDbSetting(tdb, "description")); } struct dyString *dy = trackDbString(tdb); fprintf(f, "%s\n", dy->string); } } } } char *trackHubBuild(char *db, struct cart *cart, struct dyString *visDy) /* Build a track hub using trackDb and the cart. */ { -struct trackDb *tdbList = hTrackDb(db); +struct trackDb *tdbList; +struct grp *grpList; +cartTrackDbInit(cart, &tdbList, &grpList, FALSE); -// add custom tracks -struct customTrack *ctList, *ct; -ctList = customTracksParseCart(db, cart, NULL, NULL); -for (ct = ctList; ct != NULL; ct = ct->next) - slAddHead(&tdbList, ct->tdb); - -slSort(&tdbList,trackDbCmp); char *filename = getHubName(cart, db); FILE *f = mustOpen(filename, "a"); chmod(filename, 0666); walkTree(f, cart, tdbList, visDy); fclose(f); return cloneString(filename); } struct grp *trackHubGetGrps() /* Get the groups defined by attached track hubs. */ { return trackHubGrps;