a74c645505a135d5c1e923afe477cdeb9c15bded markd Wed Jul 8 22:27:42 2020 -0700 added including multiple container directoies in genome dir path to gfServer diff --git src/hg/lib/trackHub.c src/hg/lib/trackHub.c index 8222eb1..3a3300d 100644 --- src/hg/lib/trackHub.c +++ src/hg/lib/trackHub.c @@ -1153,63 +1153,63 @@ void trackHubFindPos(struct cart *cart, char *db, char *term, struct hgPositions *hgp) /* Look for term in track hubs. Update hgp if found */ { struct trackDb *tdbList = NULL; if (trackHubDatabase(db)) { struct trackHubGenome *genome = trackHubGetGenome(db); tdbList = trackHubTracksForGenome(genome->trackHub, genome); } else tdbList = hubCollectTracks(db, NULL); findBigBedPosInTdbList(cart, db, tdbList, term, hgp, NULL); } -boolean trackHubGetBlatParams(char *database, boolean isTrans, char **pHost, char **pPort, boolean* pDynamic) +boolean trackHubGetBlatParams(char *database, boolean isTrans, char **pHost, char **pPort, char **pDynGenomeDir) { char *setting; if (isTrans) { setting = trackHubAssemblyField(database, "transBlat"); } else { setting = trackHubAssemblyField(database, "blat"); } if (setting == NULL) return FALSE; char *conf = trimSpaces(cloneString(setting)); -int numWords = chopByWhite(conf, NULL, 4); -if ((numWords < 2) || (numWords > 3)) - errAbort("invalid configuration for hub BLAT server, expect 2 or 3 words: %s", setting); -char *words[3]; +int numWords = chopByWhite(conf, NULL, 5); +if ((numWords < 2) || (numWords > 4)) + errAbort("invalid configuration for hub BLAT server, expect 2 or 4 arguments: %s", setting); +char *words[4]; chopByWhite(conf, words, numWords); *pHost = words[0]; *pPort = words[1]; if (numWords > 2) { if (!sameString(words[2], "dynamic")) errAbort("invalid configuration for hub BLAT server, third argument should be 'dynamic' or omitted, got: %s", words[2]); - *pDynamic = TRUE; + *pDynGenomeDir = words[3]; } else - *pDynamic = FALSE; + *pDynGenomeDir = NULL; return TRUE; } void hubCheckBigDataUrl(struct trackHub *hub, struct trackHubGenome *genome, struct trackDb *tdb) /* Check remote file exists and is of correct type. Wrap this in error catcher */ { char *relativeUrl = trackDbSetting(tdb, "bigDataUrl"); if (relativeUrl != NULL) { char *type = trackDbRequiredSetting(tdb, "type"); char *bigDataUrl = trackHubRelativeUrl(genome->trackDbFile, relativeUrl); char *bigDataIndex = NULL; char *relIdxUrl = trackDbSetting(tdb, "bigDataIndex");