9fd202b891f2e2d5be9cfa807e5d5ba15e7fc02d
hiram
Fri Nov 21 15:59:50 2025 -0800
protect the hs1 assembly on the outlinks with db=hs1 instead of genome=hs1 refs #36540
diff --git src/hg/hgHubConnect/hgHubConnect.c src/hg/hgHubConnect/hgHubConnect.c
index a1a3d73f855..60005a96b98 100644
--- src/hg/hgHubConnect/hgHubConnect.c
+++ src/hg/hgHubConnect/hgHubConnect.c
@@ -137,48 +137,56 @@
int charCount = 0;
struct slName *genome = genomes;
for(; genome; genome = genome->next)
{
char *trimmedName = trackHubSkipHubName(genome->name);
char *shortName = cloneString(trimmedName);
// If even the first element is too long, truncate its short name.
if (genome==genomes && strlen(trimmedName) > GENLISTWIDTH)
shortName[GENLISTWIDTH] = 0;
// append to dyShortHtml if necessary
if (charCount == 0 || (charCount+strlen(trimmedName)<=GENLISTWIDTH))
{
if (withLink)
{
+ if (hubConnectIsCurated(genome->name)) {
+ dyStringPrintf(dyShortHtml,"%s" , genome->name, hubUrl, genome->name, shortName);
+ } else {
dyStringPrintf(dyShortHtml,"%s" , genome->name, hubUrl, genome->name, shortName);
+ }
// https://hgdownload-test.gi.ucsc.edu/hubs/GCA/009/914/755/GCA_009914755.4/hub.txt
if (withPaste)
dyStringPrintf(dyShortHtml, linkHtml, hubUrl);
}
else
dyStringPrintf(dyShortHtml,"%s" , shortName);
dyStringPrintf(dyShortHtml,", ");
}
freeMem(shortName);
charCount += strlen(trimmedName);
// always append to dyLongHtml
if (withLink)
{
+ if (hubConnectIsCurated(genome->name)) {
+ dyStringPrintf(dyLongHtml,"%s" , genome->name, hubUrl, genome->name, trimmedName);
+ } else {
dyStringPrintf(dyLongHtml,"%s" , genome->name, hubUrl, genome->name, trimmedName);
+ }
if (withPaste)
dyStringPrintf(dyLongHtml, linkHtml, hubUrl);
}
else
dyStringPrintf(dyLongHtml,"%s" , trimmedName);
if (genome->next)
{
dyStringPrintf(dyLongHtml,", ");
}
}
char *longHtml = dyStringCannibalize(&dyLongHtml);
char *shortHtml = dyStringCannibalize(&dyShortHtml);