c7fcdde6db52ba01fbabfa695b49205bf7261a33 max Tue Aug 4 07:40:32 2026 -0700 hgBlat/hgc: QA fixes for the new BLAT table view and alignment page Address Gerardo's QA findings on the new BLAT UI: - Table view: label each hit with its own query (new Query column + "Queries" count in the summary) when the search has multiple queries, reading cfg.multiQuery / hit.qName from the payload. - Table view: strip the "hub_NNN_" prefix from the Assembly field so hub assemblies no longer show a doubled prefix. - Alignment page: strip the same prefix from the organism in the page title for non-GenArk assembly hubs (blatAsmLabel fallback path). - Table view: do not pre-select hit #1; show a prompt until the user clicks a row, since top hits are often tied. - Table view: add a divider between the Browser / New tab / Alignment links. - Alignment page: sidebar link now reads "Side by Side Alignment" to match the section heading. - Alignment page: comma-format coordinates and base counts in the summary, matching the table view and the rest of the browser. refs #37893 diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 8ea4709b154..e8ae42ba93d 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -9014,31 +9014,34 @@ htmlFramesetStart(title); /*showSomeAlignment(psl, qSeq, gftDnaX, psl->qStart, psl->qEnd, name, 0, 0); */ showSomeAlignment(psl, qSeq, gftDnaX, psl->qStart, psl->qEnd, name, cdsStart, cdsEnd); } static char *blatAsmLabel(char *database) /* A user-facing assembly label for the page title. For an assembly hub the internal * "hub_NNN_GCA_..." database name is not helpful, so use the assembly's friendly organism plus its * accession; for a native assembly just use the db name (e.g. "hg38"). */ { if (!trackHubDatabase(database)) return cloneString(database); char *acc = trackHubSkipHubName(database); /* drop the "hub_NNN_" prefix -> the accession */ char *org = hGenome(acc); /* GenArk table's friendly genome name for GC* accs */ if (isEmpty(org)) + { org = trackHubAssemblyField(database, "organism"); /* else the hub's genomes.txt organism */ + org = trackHubSkipHubName(org); /* strip the "hub_NNN_" prefix addHubName() baked in */ + } if (isEmpty(org)) return cloneString(acc); char buf[256]; safef(buf, sizeof buf, "%s %s", org, acc); return cloneString(buf); } static void showSomeAlignmentModern(struct psl *psl, bioSeq *oSeq, enum gfType qType, int qStart, int qEnd, char *qName, int cdsS, int cdsE) /* Modern single-page version of showSomeAlignment for hgBlat's new table mode: a gold title bar with * Back/Share buttons, a full-height "jump to" sidebar, then an "Alignment Summary" and the base-by- * base alignment inlined below with steel-blue section headers, so the whole page scrolls (no *