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 */
 {