d59d6cbe4dfc0ba40588132b1776cb2038f5216b
chmalee
  Wed Jan 26 17:29:35 2022 -0800
Add missing hReplaceGbdb calls to various barChart functions, refs #28828

diff --git src/hg/hgc/barChartClick.c src/hg/hgc/barChartClick.c
index 02e114a..57164dc 100644
--- src/hg/hgc/barChartClick.c
+++ src/hg/hgc/barChartClick.c
@@ -114,31 +114,31 @@
     if (row != NULL)
         {
         barChart = barChartBedLoadOptionalOffsets(row, hasOffsets);
         }
     sqlFreeResult(&sr);
     }
 hFreeConn(&conn);
 return barChart;
 }
 
 static struct barChartBed *getBarChart(struct trackDb *tdb, char *item, char *chrom, int start, int end,
                                         struct asObject **retAs, char **extraFieldsReg, int *extraFieldsCountRet)
 /* Retrieve barChart BED item from track */
 {
 struct barChartBed *barChart = NULL;
-char *file = trackDbSetting(tdb, "bigDataUrl");
+char *file = hReplaceGbdb(trackDbSetting(tdb, "bigDataUrl"));
 if (file != NULL)
     barChart = getBarChartFromFile(tdb, file, item, chrom, start, end, retAs, extraFieldsReg, extraFieldsCountRet);
 else
     barChart = getBarChartFromTable(tdb, tdb->table, item, chrom, start, end);
 return barChart;
 }
 
 static struct barChartItemData *getSampleValsFromFile(struct trackDb *tdb, 
                         struct hash *categoryHash, struct barChartBed *bed, 
                         char *dataFile, char *sampleFile)
 /* Get all data values in a file for this item (locus) */
 {
 // Get sample categories from sample file
 // Format: id, category, extras
 struct lineFile *lf = udcWrapShortLineFile(sampleFile, NULL, 0);
@@ -278,40 +278,40 @@
         AllocVar(data);
         data->sample = cloneString(val->sample);
         data->category = cloneString(sample->category);
         data->value = val->value;
         slAddHead(&sampleVals, data);
         }
     }
 return sampleVals;
 }
 
 static struct barChartItemData *getSampleVals(struct trackDb *tdb, struct barChartBed *chartItem,
                                                 char **retMatrixUrl, char **retSampleUrl)
 /* Get data values for this item (locus) from all samples */
 {
 struct barChartItemData *vals = NULL;
-char *dataFile = trackDbSetting(tdb, "barChartMatrixUrl");
+char *dataFile = hReplaceGbdb(trackDbSetting(tdb, "barChartMatrixUrl"));
 // for backwards compatibility during qa review
 if (dataFile == NULL)
-    dataFile = trackDbSetting(tdb, "barChartDataUrl");
+    dataFile = hReplaceGbdb(trackDbSetting(tdb, "barChartDataUrl"));
 // for backwards compatibility during qa review
 struct barChartCategory *categories = barChartUiGetCategories(database, tdb, NULL);
 struct hash *categoryHash = barChartCategoriesToHash(categories);
 if (dataFile != NULL)
     {
-    char *sampleFile = trackDbSetting(tdb, "barChartSampleUrl");
+    char *sampleFile = hReplaceGbdb(trackDbSetting(tdb, "barChartSampleUrl"));
     if (sampleFile == NULL)
         return NULL;
     if (retMatrixUrl != NULL)
         *retMatrixUrl = dataFile;
     if (retSampleUrl != NULL)
         *retSampleUrl = sampleFile;
     vals = getSampleValsFromFile(tdb, categoryHash, chartItem, dataFile, sampleFile);
     }
 else
     vals = getSampleValsFromTable(tdb, categoryHash, chartItem);
 return vals;
 }
 
 static char *makeDataFrame(char *track, struct barChartItemData *vals)
 /* Create R data frame from sample data.  This is a tab-sep file, one row per sample.
@@ -413,31 +413,31 @@
 
 static void svgBarChart(struct barChartBed *chart, struct trackDb *tdb, double maxVal, char *metric)
 /* Plot bar chart without quartiles or anything fancy just using SVG */
 {
 puts("<p>");
 /* Load up input labels, color, and data */
 struct barChartCategory *categs = barChartUiGetCategories(database, tdb, NULL);
 int categCount = slCount(categs);
 if (categCount != chart->expCount)
     {
     warn("Problem in %s barchart track. There are %d categories in trackDb and %d in data",
 	tdb->track, categCount, chart->expCount);
     return;
     }
 
-char *statsFile = trackDbSetting(tdb, "barChartStatsUrl");
+char *statsFile = hReplaceGbdb(trackDbSetting(tdb, "barChartStatsUrl"));
 struct hash *statsHash = NULL;
 int countStatIx = 0;
 double statsSize = 0.0;
 if (statsFile != NULL)
     {
     char *required[] = { "count", "total"};
     struct fieldedTable *ft = fieldedTableFromTabFile(
 	statsFile, statsFile, required, ArraySize(required));
     deunderbarColumn(ft, 0);
     statsHash = fieldedTableIndex(ft, ft->fields[0]);
     countStatIx = fieldedTableFindFieldIx(ft, "count");
     statsSize = 8*(fieldedTableMaxColChars(ft, countStatIx)+1);
     }
 
 /* Some constants that control layout */
@@ -503,31 +503,31 @@
 	    printf("<text x=\"%g\" y=\"%g\" font-size=\"%g\" text-anchor=\"end\">%s</text>\n", 
 		statsRightOffset, yPos+innerHeight-1, innerHeight-1, fr->row[countStatIx]);
 	    }
 	}
     printf("<text x=\"%g\" y=\"%g\" font-size=\"%g\">%5.3f</text>\n", 
 	barOffset+barWidth+2, yPos+innerHeight-1, innerHeight-1, score);
     }
 printf("</svg>");
 }
 
 
 static void printBarChart(char *item, struct barChartBed *chart, struct trackDb *tdb, 
     double maxVal, char *metric)
 /* Plot bar chart without expressionMatrix or R plots*/
 {
-char *statsFile = trackDbSetting(tdb, "barChartStatsUrl");
+char *statsFile = hReplaceGbdb(trackDbSetting(tdb, "barChartStatsUrl"));
 char *facets = trackDbSetting(tdb, "barChartFacets");
 if (facets != NULL && statsFile != NULL)
     facetedBarChart(item, chart, tdb, maxVal, statsFile, facets, metric);
 else
     svgBarChart(chart, tdb, maxVal, metric);
 }
 
 struct asColumn *asFindColByIx(struct asObject *as, int ix)
 /* Find AS column by index */
 {
 struct asColumn *asCol;
 int i;
 for (i=0, asCol = as->columnList; asCol != NULL && i<ix; asCol = asCol->next, i++);
     return asCol;
 }