e5269f4f19e072d14e01eb2b4e53dccd32e04aef
braney
  Tue May 24 16:20:28 2022 -0700
fixes problem where interact clicks don't grok chromAlias refs #29453

diff --git src/hg/hgc/interactClick.c src/hg/hgc/interactClick.c
index 67bbe4d..5701bb2 100644
--- src/hg/hgc/interactClick.c
+++ src/hg/hgc/interactClick.c
@@ -1,30 +1,32 @@
 /* Details page for interact type tracks */
 
 /* Copyright (C) 2018 The Regents of the University of California 
  * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */
 
 #include "common.h"
 #include "obscure.h"
 #include "hdb.h"
 #include "jksql.h"
 #include "hgc.h"
 #include "customTrack.h"
 #include "trashDir.h"
 #include "hex.h"
 #include "jsHelper.h"
 #include <openssl/sha.h>
+#include "bigBed.h"
+#include "chromAlias.h"
 
 #include "interact.h"
 #include "interactUi.h"
 
 struct interactPlusRow
     {
     /* Keep field values in string format, for url processing */
     struct interactPlusRow *next;
     struct interact *interact;
     char **row;
     };
 
 static struct interactPlusRow *getInteractsFromTable(struct trackDb *tdb, char *chrom, 
                                     int start, int end, char *name, char *foot)
 /* Retrieve interact items at this position from track table */
@@ -64,31 +66,31 @@
     int i;
     for (i = 0; i < fieldCount; i++)
         fieldVals[i] = cloneString(row[i]);
     ipr->row = fieldVals;
     slAddHead(&iprs, ipr);
     }
 sqlFreeResult(&sr);
 hFreeConn(&conn);
 return iprs;
 }
 
 static struct interactPlusRow *getInteractsFromFile(char *file, char *chrom, int start, int end, 
                                                         char *name, char *foot)
 /* Retrieve interact items at this position from big file */
 {
-struct bbiFile *bbi = bigBedFileOpen(file);
+struct bbiFile *bbi = bigBedFileOpenAlias(file, chromAliasFindAliases);
 struct lm *lm = lmInit(0);
 struct bigBedInterval *bb, *bbList = bigBedIntervalQuery(bbi, chrom, start, end, 0, lm);
 struct interactPlusRow *iprs = NULL;
 
 for (bb = bbList; bb != NULL; bb = bb->next)
     {
     char startBuf[16], endBuf[16];
     int maxFields = 32;
     char *row[maxFields];      // big enough ?
     int fieldCount = bigBedIntervalToRow(bb, chrom, startBuf, endBuf, row, maxFields);
     struct interact *inter = interactLoadAndValidate(row);
     if (inter == NULL)
         continue;
 
     // got one, save object and row representation