7ac9dba0abbb050561bb41ea08d98fa76a27d4cb
max
  Thu Feb 13 03:03:31 2025 -0800
improvements to data schema page to make it easier for users to convert and download big data, refs #35223

diff --git src/hg/hgTables/hgTables.c src/hg/hgTables/hgTables.c
index 15b2ec1954e..07605b0bd20 100644
--- src/hg/hgTables/hgTables.c
+++ src/hg/hgTables/hgTables.c
@@ -238,56 +238,56 @@
 /* print a link to the file, so the user can download it right here */
 {
 if (fileName==NULL)
     return;
 
 boolean disableGenome = (tdb && cartTrackDbIsNoGenome(database, tdb->table));
 
 if (disableGenome) 
     printNoGenomeWarning(tdb);
 else 
     {
     char *downPrefix = "";
     if (startsWith("/gbdb", fileName))
         downPrefix = "https://hgdownload.soe.ucsc.edu";
 
-    hPrintf("<B>%s File Download:</B> <A HREF='%s%s'>%s</A>", typeLabel, downPrefix, fileName, fileName);
+    hPrintf("<B>%s File Download:</B> <A HREF='%s%s'>%s%s</A>", typeLabel, downPrefix, fileName, downPrefix, fileName);
     }
 }
 
 boolean printTypeHelpDesc(char *type)
 /* print a little link to our help docs given a track type. Return true if file type is a big* file format. */
 {
 boolean isBig = FALSE;
 
 if (startsWith("vcf", type))
     {
     hPrintf("See the <A HREF=\"%s\" target=_blank>Variant Call Format specification</A> for  more details<BR>\n",
             "http://www.1000genomes.org/wiki/analysis/vcf4.0");
     }
 else if (startsWithWord("bigWig", type))
     {
     printf("<BR>The data is stored in the binary "
            "<A HREF=\"/goldenPath/help/bigWig.html\" TARGET=_BLANK>"
-           "BigWig</A> format.\n");
+           "BigWig</A> format. Our tools <tt>bigWigToBedGraph</tt> or <tt>bigWigToWig</tt> accept a file or the URL above and output text.\n");
     isBig = TRUE;
     }
 else if (startsWith("big", type))
     {
     printf("<BR>The data is stored in the binary "
            "<A HREF=\"/goldenPath/help/bigBed.html\" TARGET=_BLANK>"
-           "BigBed</A> format.<BR>\n");
+           "BigBed</A> format. Our tool <tt>bigBedToBed</tt> accepts a file or the URL above as the input and outputs text.<BR>\n");
     isBig = TRUE;
     }
 
 return isBig;
 }
 
 void textOpen()
 /* Start up page in text format. (No need to close this).
  *	In case of pipeline output to a compressor, it is closed
  *	at main() exit.
  */
 {
 
 // hgBotDelay function is now in earlyBotCheck() at the start of main(), and in
 // this case, the issueBotWarning flag is ignored to avoid any output here