41a9770252865a7968aaa170ed14a713b1e43e1c
jcasper
  Mon Aug 12 07:51:02 2019 -0700
Fixing two bugs in displaying 4DN hic files, refs #22316

diff --git src/hg/hgTables/hic.c src/hg/hgTables/hic.c
index 153dc20..6cd092e 100644
--- src/hg/hgTables/hic.c
+++ src/hg/hgTables/hic.c
@@ -168,31 +168,31 @@
     {
     filter = asFilterFromCart(cart, db, table, as);
     if (filter)
         {
 	fprintf(f, "# Filtering on %d columns\n", slCount(filter->columnList));
 	}
     }
 
 /* Loop through outputting each region */
 struct region *region, *regionList = getRegions();
 
 int maxOut = bigFileMaxOutput();
 
 char *fileName = hicFileName(table, conn);
 struct hicMeta *fileInfo;
-char *errMsg = hicLoadHeader(fileName, &fileInfo);
+char *errMsg = hicLoadHeader(fileName, &fileInfo, database);
 if (errMsg != NULL)
     errAbort("%s", errMsg);
 
 char *norm = hicUiFetchNormalization(cart, table, fileInfo);
 
 for (region = regionList; region != NULL && (maxOut > 0); region = region->next)
     {
     struct interact *results = NULL, *result = NULL;
     int res = hicUiFetchResolutionAsInt(cart, table, fileInfo, region->end-region->start);
     char *errMsg = hicLoadData(fileInfo, res, norm, region->chrom, region->start, region->end,
             region->chrom, region->start, region->end, &results);
     if (errMsg != NULL)
         warn("%s", errMsg);
     slSort(&results, &hicCompare);
     char *row[INTERACT_NUM_COLS];
@@ -215,31 +215,31 @@
 
 if (maxOut == 0)
     errAbort("Reached output limit of %d data values, please make region smaller,\n\tor set a higher output line limit with the filter settings.", bigFileMaxOutput());
 /* Clean up and exit. */
 hashFree(&fieldHash);
 freeMem(fieldArray);
 freeMem(columnArray);
 }
 
 static void addFilteredBedsOnRegion(char *fileName, struct region *region,
 	char *table, struct asFilter *filter, struct lm *bedLm, struct bed **pBedList,
 	struct hash *idHash, int *pMaxOut)
 /* Add relevant beds in reverse order to pBedList */
 {
 struct hicMeta *fileInfo = NULL;
-char *errMsg = hicLoadHeader(fileName, &fileInfo);
+char *errMsg = hicLoadHeader(fileName, &fileInfo, database);
 
 if (errMsg != NULL)
     {
     warn("%s", errMsg);
     }
 else
     {
     int res = hicUiFetchResolutionAsInt(cart, table, fileInfo, region->end-region->start);
     char *norm = hicUiFetchNormalization(cart, table, fileInfo);
 
     struct interact *results = NULL, *result = NULL;
     errMsg = hicLoadData(fileInfo, res, norm, region->chrom, region->start, region->end,
             region->chrom, region->start, region->end, &results);
     if (errMsg != NULL)
         warn("%s", errMsg);
@@ -333,31 +333,31 @@
 /* Put up another section with sample rows. */
 webNewSection("Sample Rows");
 hTableStart();
 
 /* Print field names as column headers for example */
 hPrintf("<TR>");
 int colIx = 0;
 for (col = as->columnList; col != NULL; col = col->next)
     {
     hPrintf("<TH>%s</TH>", col->name);
     ++colIx;
     }
 hPrintf("</TR>\n");
 
 struct hicMeta *fileInfo = NULL;
-char *errMsg = hicLoadHeader(fileName, &fileInfo);
+char *errMsg = hicLoadHeader(fileName, &fileInfo, database);
 
 if (errMsg != NULL)
     {
     warn("%s", errMsg);
     }
 else
     {
     /* Print sample lines. */
     struct hash *chromAliasHash = chromAliasMakeLookupTable(database);
     char *chrName = fileInfo->chromNames[1]; // Skip 0, which is "All"
     struct chromAlias *a = hashFindVal(chromAliasHash, chrName);
     char *ucscChrName = NULL;
     if (a != NULL)
         ucscChrName = a->chrom;
     else