b622d147b7dbac52dbf3ba26928cd18e02d42bd8
braney
  Sat Feb 26 12:34:37 2022 -0800
add support for using a bigBed as the chromAlias file

diff --git src/hg/hgTracks/wigMafTrack.c src/hg/hgTracks/wigMafTrack.c
index 1a24f85..a6af667 100644
--- src/hg/hgTracks/wigMafTrack.c
+++ src/hg/hgTracks/wigMafTrack.c
@@ -973,31 +973,31 @@
                                int width, MgFont *font,
                                Color color, Color altColor,
                                enum trackVisibility vis)
 /* Draw density plot or graph for overall maf scores rather than computing
  * by sections, for speed.  Don't actually load the mafs -- just
  * the scored refs from the table.
  */
 {
 struct lm *lm = lmInit(0);
 char *fileName = trackDbSetting(track->tdb, "summary");
 if (fileName == NULL)
     {
     warn("cannot find summary information in trackDb for track '%s'", track->track);
     return;
     }
-struct bbiFile *bbi =  bigBedFileOpenAlias(fileName, chromAliasChromToAliasHash(database));
+struct bbiFile *bbi =  bigBedFileOpenAlias(fileName, chromAliasFindAliases);
 struct bigBedInterval *bb, *bbList =  bigBedIntervalQuery(bbi, chromName, seqStart, seqEnd, 0, lm);
 char *bedRow[7];
 char startBuf[16], endBuf[16];
 double scale = scaleForPixels(width);
 
 for (bb = bbList; bb != NULL; bb = bb->next)
     {
     bigBedIntervalToRow(bb, chromName, startBuf, endBuf, bedRow, ArraySize(bedRow));
     struct mafSummary *ms;
     ms = mafSummaryLoad(bedRow);
     drawScore(ms->score, ms->chromStart, ms->chromEnd, seqStart, scale,
                     hvg, xOff, yOff, height, color, vis);
 
     }
 }
@@ -1219,31 +1219,31 @@
     return FALSE;
 
 if (cartVarExistsAnyLevel(cart, track->tdb,FALSE,MAF_CHAIN_VAR))
     useIrowChains = cartUsualBooleanClosestToHome(cart, track->tdb, FALSE, MAF_CHAIN_VAR,TRUE);
 else
     {
     char *irowString = trackDbSetting(track->tdb, "irows");
     if (irowString && sameString(irowString, "off"))
 	useIrowChains = FALSE;
     }
 
 if (track->isBigBed)
     {
     struct lm *lm = lmInit(0);
     char *fileName = trackDbSetting(track->tdb, "summary");
-    struct bbiFile *bbi =  bigBedFileOpenAlias(fileName, chromAliasChromToAliasHash(database));
+    struct bbiFile *bbi =  bigBedFileOpenAlias(fileName, chromAliasFindAliases);
     struct bigBedInterval *bb, *bbList =  bigBedIntervalQuery(bbi, chromName, seqStart, seqEnd, 0, lm);
     char *bedRow[7];
     char startBuf[16], endBuf[16];
 
     for (bb = bbList; bb != NULL; bb = bb->next)
         {
         bigBedIntervalToRow(bb, chromName, startBuf, endBuf, bedRow, ArraySize(bedRow));
         ms = mafSummaryLoad(bedRow);
         if ((hel = hashLookup(componentHash, ms->src)) == NULL)
             hashAdd(componentHash, ms->src, ms);
         else
             slAddHead(&(hel->val), ms);
         }
     bbiFileClose(&bbi);
     }
@@ -1945,31 +1945,31 @@
     {
     if (newTableType)
         mf = mafFramesLoad(row + rowOffset);
     else
         mf = mafFramesLoadOld(row + rowOffset);
     slAddHead(&mfList, mf);
     }
 sqlFreeResult(&sr);
 hFreeConn(&conn);
 return mfList;
 }
 
 static struct mafFrames *getFramesFromBb(  char *framesTable, char *chromName, int seqStart, int seqEnd, char *component)
 {
 struct lm *lm = lmInit(0);
-struct bbiFile *bbi =  bigBedFileOpenAlias(framesTable, chromAliasChromToAliasHash(database));
+struct bbiFile *bbi =  bigBedFileOpenAlias(framesTable, chromAliasFindAliases);
 struct bigBedInterval *bb, *bbList =  bigBedIntervalQuery(bbi, chromName, seqStart, seqEnd, 0, lm);
 char *bedRow[11];
 char startBuf[16], endBuf[16];
 struct mafFrames *mfList = NULL, *mf;
 
 for (bb = bbList; bb != NULL; bb = bb->next)
     {
     bigBedIntervalToRow(bb, chromName, startBuf, endBuf, bedRow, ArraySize(bedRow));
     if (sameString(bedRow[3], component))
         {
         mf = mafFramesLoad( bedRow );
         slAddHead(&mfList, mf);
         }
     }