5f032f4769aca06fedde822c0ccff089321369a4
braney
  Thu Jan 27 15:46:04 2022 -0800
stop passing in NULL for database in getChromAlias()

diff --git src/hg/lib/chainNetDbLoad.c src/hg/lib/chainNetDbLoad.c
index f030cd1..4a0147f 100644
--- src/hg/lib/chainNetDbLoad.c
+++ src/hg/lib/chainNetDbLoad.c
@@ -208,38 +208,38 @@
 struct chainLink link;
 while ((row = sqlNextRow(sr)) != NULL)
     {
     chainLinkStaticLoad(row+rowOffset, &link);
     AllocVar(b);
     b->tStart = link.tStart;
     b->tEnd = link.tEnd;
     b->qStart = link.qStart;
     b->qEnd = link.qStart + (link.tEnd - link.tStart);
     slAddHead(&list, b);
     }
 slSort(&list, cBlockCmpTarget);
 chain->blockList = list;
 }
 
-struct chain *chainLoadIdRangeHub(char *fileName, char *linkFileName,   char *chrom, int start, int end, int id)
+struct chain *chainLoadIdRangeHub(char *db, char *fileName, char *linkFileName,   char *chrom, int start, int end, int id)
 /* Load parts of chain of given ID from bigChain file.  Note the chain header
  * including score, tStart, tEnd, will still reflect the whole chain,
  * not just the part in range.  However only the blocks of the chain
  * overlapping the range will be loaded. */
 {
 struct lm *lm = lmInit(0);
-struct bbiFile *bbi =  bigBedFileOpenAlias(fileName, chromAliasChromToAliasHash(NULL));
+struct bbiFile *bbi =  bigBedFileOpenAlias(fileName, chromAliasChromToAliasHash(db));
 struct bigBedInterval *bb, *bbList =  bigBedIntervalQuery(bbi, chrom, start, end, 0, lm);
 char *bedRow[12];
 char startBuf[16], endBuf[16];
 bbiFileClose(&bbi);
 boolean loadAll = FALSE;
 
 struct chain *chain;
 AllocVar(chain);
 
 for (bb = bbList; bb != NULL; bb = bb->next)
     {
     bigBedIntervalToRow(bb, chrom, startBuf, endBuf, bedRow, ArraySize(bedRow));
 
     unsigned chainId = sqlUnsigned(bedRow[3]);
     if (chainId == id)
@@ -250,31 +250,31 @@
     errAbort("chain %d is not in %s", id, fileName);
 
 chain->tName = cloneString(chrom);
 chain->tSize = sqlUnsigned(bedRow[6]);
 chain->tStart = sqlUnsigned(bedRow[1]);
 chain->tEnd = sqlUnsigned(bedRow[2]);
 chain->qName = cloneString(bedRow[7]);
 chain->qSize = sqlUnsigned(bedRow[8]);
 chain->qStrand = *bedRow[5];
 chain->qStart = sqlUnsigned(bedRow[9]);
 chain->qEnd = sqlUnsigned(bedRow[10]);
 chain->score = sqlUnsigned(bedRow[11]);
 chain->id = id;
 
 // Now load the links.
-bbi =  bigBedFileOpenAlias(linkFileName, chromAliasChromToAliasHash(NULL));
+bbi =  bigBedFileOpenAlias(linkFileName, chromAliasChromToAliasHash(db));
 if (loadAll)
     {
     start = chain->tStart;
     end = chain->tEnd;
     }
 bbList =  bigBedIntervalQuery(bbi, chrom, start, end, 0, lm);
 bbiFileClose(&bbi);
 
 for (bb = bbList; bb != NULL; bb = bb->next)
     {
     bigBedIntervalToRow(bb, chrom, startBuf, endBuf, bedRow, ArraySize(bedRow));
     unsigned chainId = sqlUnsigned(bedRow[3]);
     if (chainId == id)
         {
         struct cBlock *cBlock;