ebc825e893d3ecab0e4827d2d5f2e5af532d34f6 chmalee Wed Feb 26 09:49:53 2025 -0800 Add missing chromAlias calls to hgSearch, refs #34437 diff --git src/hg/hgSearch/hgSearch.c src/hg/hgSearch/hgSearch.c index fd3da959bf2..1b62e0e1cb5 100644 --- src/hg/hgSearch/hgSearch.c +++ src/hg/hgSearch/hgSearch.c @@ -346,46 +346,48 @@ // Write the skeleton HTML, which will get filled out by the javascript webIncludeFile("inc/hgSearch.html"); webIncludeFile("inc/gbFooter.html"); } /* End handler helper functions */ /* Handlers for returning JSON to client */ static void getSearchResults(struct cartJson *cj, struct hash *paramHash) /* User has entered a term to search, search this term against the selected categories */ { char *db = cartJsonRequiredParam(paramHash, "db", cj->jw, "getSearchResults"); cartSetString(cj->cart, "db", db); initGenbankTableNames(db); hashTracksAndGroups(cj->cart, db); +chromAliasSetup(db); char *searchTerms = cartJsonRequiredParam(paramHash, SEARCH_TERM_VAR, cj->jw, "getSearchResults"); measureTiming = cartUsualBoolean(cj->cart, "measureTiming", FALSE); struct jsonElement *searchCategs = hashFindVal(paramHash, "categs"); struct searchCategory *searchCategoryList = makeCategsFromJson(searchCategs, db); boolean doRedirect = FALSE; (void)doQuery(cj->jw, db, searchCategoryList, doRedirect, searchTerms, measureTiming); fprintf(stderr, "performed query on %s\n", searchTerms); } static void getUiState(struct cartJson *cj, struct hash *paramHash) /* We haven't seen this database before, return list of all searchable stuff */ { char *db = cartJsonRequiredParam(paramHash, "db", cj->jw, "getUiState"); cartSetString(cj->cart, "db", db); initGenbankTableNames(db); hashTracksAndGroups(cj->cart, db); +chromAliasSetup(db); writeDefaultForDb(cj->jw, db); } static struct jsonElement *getGenomes() /* Return a string that the javascript can use to put up a species and db select. */ { struct jsonElement *genomesObj = newJsonObject(hashNew(0)); struct dbDbHelper *localDbs = getDbDbWithDefault(); struct dbDbHelper *temp; struct hash *curatedHubs = hashNew(0); for (temp = localDbs; temp != NULL; temp = temp->next) { // fill out the dbDb fields into a struct struct jsonElement *genomeObj = newJsonObject(hashNew(0)); jsonObjectAdd(genomeObj, "organism", newJsonString(temp->dbDb->organism)); @@ -522,30 +524,31 @@ void doSearchOnly() /* Send back search results along with whatever we need to make the UI */ { cartJsonPushErrHandlers(); char *db = NULL; char *genome = NULL; getDbAndGenome(cart, &db, &genome, oldVars); char *userSearch = cartCgiUsualString(cart, "search", NULL); if (userSearch == NULL || isEmpty(userSearch)) { doMainPage(); return; } initGenbankTableNames(db); hashTracksAndGroups(cart, db); +chromAliasSetup(db); struct searchCategory *allCategories = getAllCategories(cart, db, hgFindGroupHash); struct jsonElement *categsJsonElement = jsonElementFromSearchCategory(allCategories, db); struct cartJson *cj = cartJsonNew(cart); // since we are coming directly from hgTracks/hgGateway (or a URL manipulation), // if the search would normally be a singlePos, like a chromosome name or HGVS search, // we can just go directly there. But if we aren't a singlePos, we need to show // the results page boolean doRedirect = TRUE; measureTiming = cartUsualBoolean(cart, "measureTiming", FALSE); struct hgPositions *hgp = doQuery(cj->jw, db, allCategories, doRedirect, userSearch, measureTiming); // Since we are coming from another CGI or a URL manip, go directly to hgTracks // if we resolve to a single position if (cartJsonIsNoWarns() && hgp && hgp->singlePos) {