cc2335c2d1f3f50ff9e1deb19172c2695db65339
hiram
Thu Mar 24 13:52:45 2022 -0700
correctly link to chromAlias.txt instead of chromAlias.bb to display in the chromInfo page as a link to view refs #27228
diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 8256556..6da421a 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -10419,40 +10419,45 @@
{
cgiSimpleTableRowStart();
cgiSimpleTableFieldStart();
puts("Download as file:");
cgiTableFieldEnd();
cgiSimpleTableFieldStart();
if (chromSizesFile)
{
printf("%s.chrom.sizes.txt", chromSizesFile, trackHubSkipHubName(database));
puts(" ");
}
else
puts(" ");
cgiTableFieldEnd();
cgiSimpleTableFieldStart();
- printf("%s.chromAlias.txt", hubAliasFile, trackHubSkipHubName(database));
+ char *aliasUrl = cloneString(hubAliasFile);
+ /* this URL reference needs to be a text file to work as a click in the
+ * html page. Both files chromAlias.bb and chromAlias.txt exist.
+ */
+ if (endsWith(hubAliasFile, "chromAlias.bb"))
+ aliasUrl = replaceChars(hubAliasFile, "chromAlias.bb", "chromAlias.txt");
+ printf("%s.chromAlias.txt", aliasUrl, trackHubSkipHubName(database));
cgiTableFieldEnd();
cgiTableRowEnd();
}
}
void chromInfoPage()
/* Show list of chromosomes (or scaffolds, etc) on which this db is based. */
{
-fprintf(stderr, "# DBG chromInfoPage entered\n");
boolean hasAlias = FALSE;
char *chromSizesFile = NULL;
char *aliasFile = NULL;
if (trackHubDatabase(database))
{ /* either one of these files present will work */
aliasFile = trackHubAliasFile(database);
if (aliasFile)
{
hasAlias = TRUE;
} else {
aliasFile = trackHubAliasBbFile(database);
if (aliasFile)
hasAlias = TRUE;
}
chromSizesFile = trackHubChromSizes(database);