f48fc325d72424177878c4849096c77e06c2d3b0 max Mon Aug 17 07:34:42 2026 -0700 BLAT results: own track group, Delete-all button, clearer names, refs #38086 Behind hg.conf blatResultsGroup (default off, a release gate): - BLAT result custom tracks go into their own "BLAT Results" track group instead of the generic Custom Tracks group. - That group's header gets a "Delete all" button that removes every BLAT result track at once, so users are not stuck deleting them one by one. - Headerless queries are named by query size + the top hit's gene, e.g. "360bp SOD1", instead of the useless "blat YourSeq"; the date goes in the longLabel. hgBlat.c getCustomName naming + blatDateStamp/topHitLocusLabel helpers hgc.c buildBigPsl tags the results track group=blat customFactory.c checkGroup accepts the synthetic "blat" group hgTracks.c synthesize the BLAT Results group; Delete-all button; keep the per-track delete icon for the new group hgTracks.js deleteAllBlatTracks() hgCustom.c hgct_do_delete_blat action (removes all blatResult=on tracks) hgConfCatalog.py register blatResultsGroup as a release gate diff --git src/hg/utils/hgConfCatalog/hgConfCatalog.py src/hg/utils/hgConfCatalog/hgConfCatalog.py index 3e9c5694f44..a2fa0c80b7c 100755 --- src/hg/utils/hgConfCatalog/hgConfCatalog.py +++ src/hg/utils/hgConfCatalog/hgConfCatalog.py @@ -267,30 +267,39 @@ note="The banner on the classic BLAT results page that offers a " "one-click switch to the new sortable table display. Guards " "the advertisement, not the feature: turning it on makes the " "browser recommend the new page without releasing new CGIs, " "and users who already opted in or follow a direct link get " "the new page either way. Goes away with the banner, once the " "new page is the default. Born TRUE at c683ecb63d7 and put " "back to FALSE at 81d7cff6cb6 while the new page is still " "being tested, so it is gating again rather than shipped. " "Kept a gate rather than a knob because what it " "turns off is a sentence recommending another page, and no " "mirror needs that switch forever; the deadline the report " "computes for it is really a deadline on deciding whether the " "new page becomes the default, which is the conversation the " "nag is supposed to force."), + h("blatResultsGroup", "flag", "hg/hgTracks/hgTracks.c:7262", default="FALSE", + role="gate", verified=True, ticket="38086", + note="Put BLAT result custom tracks in their own \"BLAT Results\" track " + "group (with a \"Delete all\" button) instead of Custom Tracks, and " + "give headerless queries a useful default name (query size + top-hit " + "gene) rather than \"blat YourSeq\". Read in three CGIs that must " + "agree: hgBlat.c:1493 (naming), hgc.c:27514 (tags the track " + "group=blat), hgTracks.c:7262 (synthesizes the group). Off during " + "QA; flip to TRUE once released."), h("genarkLiftOver", "flag", "hg/lib/genark.c:413", default="FALSE", role="gate", verified=True, note="Offer liftOver between GenArk assemblies. Four call sites in " "genark.c and hdb.c."), h("showIgv", "flag", "hg/hgTracks/hgTracks.c:12142", default="FALSE", role="gate", verified=True, note="An IGV link in the track hamburger menus."), h("showLiftRequest", "flag", "hg/hgConvert/hgConvert.c:183", default="FALSE", role="gate", verified=True, ticket="37973", note="A link from the Convert page to liftRequest.html, the page " "that requests a new whole-genome alignment. The assembly " "list only offers targets that already have a chain from the " "source, so the Convert page is where a user finds out theirs " "is missing, but nothing in the tree linked to the request " "page. Off until the request pipeline is confirmed ready to "