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(""); int colIx = 0; for (col = as->columnList; col != NULL; col = col->next) { hPrintf("%s", col->name); ++colIx; } hPrintf("\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