c9cb558b37ad87c86ca3a0f1efb1a75c1b83465c braney Tue May 7 11:08:19 2024 -0700 strip off hub_#_ for genark hubs when sending to Galaxy diff --git src/hg/hgTables/galaxy.c src/hg/hgTables/galaxy.c index 85162a3..2f4e2ac 100644 --- src/hg/hgTables/galaxy.c +++ src/hg/hgTables/galaxy.c @@ -12,30 +12,31 @@ #include "customTrack.h" #include "hdb.h" #include "web.h" #include "portable.h" #include "hui.h" #include "featureBits.h" #include "hgTables.h" #include "obscure.h" #include "cart.h" #include "grp.h" #include "net.h" #include "htmlPage.h" #include "wiggle.h" #include "trashDir.h" #include "hgConfig.h" +#include "trackHub.h" char *getGalaxyUrl() /* Returns the url for the galaxy cgi; default can be overriden by cart var GALAXY_URL. * Don't free result. */ { char *url = NULL; /* use parameter if available */ if (cartVarExists(cart, "GALAXY_URL")) url = cartString(cart, "GALAXY_URL"); else { if (cfgOption("galaxyUrl")) url = cfgOption("galaxyUrl"); else @@ -101,32 +102,36 @@ /* Galaxy requires tool_id and URL */ /* set default if no tool_id for Galaxy */ if (!cartVarExists(cart, "tool_id")) cgiMakeHiddenVar("tool_id", "ucsc_table_direct1"); else cgiMakeHiddenVar("tool_id", cartString(cart, "tool_id")); safef(selfUrl, sizeof(selfUrl), "http%s://%s%s", cgiAppendSForHttps(), cgiServerNamePort(), cgiScriptName()); cgiMakeHiddenVar("URL", selfUrl); hPrintf("\n"); /* forward user parameters */ if (hguid) { cgiMakeHiddenVar("hguid", hguid); hPrintf("\n"); } -/* send database and organism and table for Galaxy's info */ -cgiMakeHiddenVar("db", database); +/* send database and organism and table for Galaxy's info. If hub is genark, strip off hub_#_ prefix */ +char *galaxyDb = database; +char *skipHubDb = trackHubSkipHubName(galaxyDb); +if ((skipHubDb != NULL) && startsWith("GC", skipHubDb)) + galaxyDb = skipHubDb; +cgiMakeHiddenVar("db", galaxyDb); if (cartVarExists(cart, "org")) cgiMakeHiddenVar("org", cartString(cart, "org")); cgiMakeHiddenVar("hgta_table", curTable); cgiMakeHiddenVar(hgtaTrack, cartString(cart, hgtaTrack)); if (cartVarExists(cart, "hgta_regionType")) cgiMakeHiddenVar("hgta_regionType", cartString(cart, "hgta_regionType")); if (cartVarExists(cart, "hgta_outputType")) cgiMakeHiddenVar("hgta_outputType", cartString(cart, "hgta_outputType")); if (cartVarExists(cart, "position")) cgiMakeHiddenVar("position", cartString(cart, "position")); } void printGalaxySubmitButtons () /* print submit button to send query results to Galaxy */ {