e275bb31c96733585d0a1d511fa992f10fa56b69 chmalee Fri Oct 31 16:13:13 2025 -0700 Support gnomAD variation and range specifiers like 4-1234-2234 and 5-12345-A-C, refs #36388 diff --git src/hg/js/hgSearch.js src/hg/js/hgSearch.js index 19558363f3d..c013ff5b1a8 100644 --- src/hg/js/hgSearch.js +++ src/hg/js/hgSearch.js @@ -763,31 +763,33 @@ var dnaRe = new RegExp("^(>[^\n\r ]+[\n\r ]+)?(\\s*[actgnACTGN \n\r]{19,}\\s*)$"); if (dnaRe.test(searchTerm)) { var blatUrl = "hgBlat?type=BLAT%27s+guess&userSeq="+searchTerm; window.location.href = blatUrl; return false; } // if the user entered a plain position string like chr1:blah-blah, just // go to the old cgi/hgTracks var canonMatch = searchTerm.match(canonicalRangeExp); var gbrowserMatch = searchTerm.match(gbrowserRangeExp); var lengthMatch = searchTerm.match(lengthRangeExp); var bedMatch = searchTerm.match(bedRangeExp); var sqlMatch = searchTerm.match(sqlRangeExp); var singleMatch = searchTerm.match(singleBaseExp); - var positionMatch = canonMatch || gbrowserMatch || lengthMatch || bedMatch || sqlMatch || singleMatch; + var gnomadRangeMatch = searchTerm.match(gnomadRangeExp); + var gnomadVarMatch = searchTerm.match(gnomadVarExp); + var positionMatch = canonMatch || gbrowserMatch || lengthMatch || bedMatch || sqlMatch || singleMatch || gnomadVarMatch || gnomadRangeMatch; if (positionMatch !== null) { var prevCgi = uiState.prevCgi !== undefined ? uiState.prevCgi : "hgTracks"; window.location.replace("../cgi-bin/" + prevCgi + "?db=" + db + "&position=" + encodeURIComponent(searchTerm)); return; } _.assign(uiState, {"search": searchTerm}); cart.send({ getSearchResults: { db: db, search: searchTerm } }, handleRefreshState, handleErrorState);