6823728f16334d9b53bd595688c8f5780cf833fe
braney
  Sun Feb 16 12:13:13 2025 -0800
ongoing work on quickLift.  Added support for SQL beds

diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index 05375ebeff0..b51fa89417f 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -9194,41 +9194,41 @@
 sqlFreeResult(&sr);
 hFreeConn(&conn);
 return gpList;
 }
 
 struct genePred *getGenePredForPositionBigGene(struct trackDb *tdb,  char *geneName)
 /* Find the genePred to the current gene using a bigGenePred. */
 {
 char *fileName = hReplaceGbdb(trackDbSetting(tdb, "bigDataUrl"));
 struct bbiFile *bbi =  bigBedFileOpenAlias(fileName, chromAliasFindAliases);
 struct lm *lm = lmInit(0);
 char *quickLiftFile = cloneString(trackDbSetting(tdb, "quickLiftUrl"));
 struct bigBedInterval *bb, *bbList = NULL;
 struct hash *chainHash = NULL;
 if (quickLiftFile)
-    bbList = quickLiftIntervals(quickLiftFile, bbi, seqName, winStart, winEnd, &chainHash);
+    bbList = quickLiftGetIntervals(quickLiftFile, bbi, seqName, winStart, winEnd, &chainHash);
 else
     bbList = bigBedIntervalQuery(bbi, seqName, winStart, winEnd, 0, lm);
 struct genePred *gpList = NULL;
 for (bb = bbList; bb != NULL; bb = bb->next)
     {
     struct genePred *gp = NULL;
     if (quickLiftFile)
         {
         struct bed *bed;
-        if ((bed = quickLiftBed(bbi, chainHash, bb)) != NULL)
+        if ((bed = quickLiftIntervalsToBed(bbi, chainHash, bb)) != NULL)
             {
             struct bed *bedCopy = cloneBed(bed);
             gp =(struct genePred *) genePredFromBedBigGenePred(seqName, bedCopy, bb);
             }
         }
     else
         gp = (struct genePred *)genePredFromBigGenePred(seqName, bb); 
 
     if ((gp != NULL) && sameString(gp->name, geneName))
 	slAddHead(&gpList, gp);
     }
 lmCleanup(&lm);
 
 return gpList;
 }
@@ -9676,44 +9676,44 @@
     }
 }
 
 
 static struct bed *getBedsFromBigBedRange(struct trackDb *tdb, char *geneName)
 /* get a list of beds from a bigBed in the current range */
 {
 struct bbiFile *bbi;
 char *fileName = hReplaceGbdb(trackDbSetting(tdb, "bigDataUrl"));
 bbi =  bigBedFileOpenAlias(fileName, chromAliasFindAliases);
 struct lm *lm = lmInit(0);
 char *quickLiftFile = cloneString(trackDbSetting(tdb, "quickLiftUrl"));
 struct hash *chainHash = NULL;
 struct bigBedInterval *bb, *bbList = NULL;
 if (quickLiftFile)
-    bbList = quickLiftIntervals(quickLiftFile, bbi, seqName, winStart, winEnd, &chainHash);
+    bbList = quickLiftGetIntervals(quickLiftFile, bbi, seqName, winStart, winEnd, &chainHash);
 else
     bbList = bigBedIntervalQuery(bbi, seqName, winStart, winEnd, 0, lm);
 
 struct bed *bedList = NULL;
 char *bedRow[32];
 char startBuf[16], endBuf[16];
 for (bb = bbList; bb != NULL; bb = bb->next)
     {
     bigBedIntervalToRow(bb, seqName, startBuf, endBuf, bedRow, ArraySize(bedRow));
     struct bed *bed = NULL;
     if (quickLiftFile)
         {
-        if ((bed = quickLiftBed(bbi, chainHash, bb)) == NULL)
+        if ((bed = quickLiftIntervalsToBed(bbi, chainHash, bb)) == NULL)
             errAbort("can't port %s",bedRow[3]);
         }
     else
         bed = bedLoadN(bedRow, 12);
     if (sameString(bed->name, geneName))
 	slAddHead(&bedList, bed);
     }
 lmCleanup(&lm);
 
 return bedList;
 }
 
 static int getSeqForBigGene(struct trackDb *tdb, char *geneName)
 /* Output sequence for a gene in a bigGenePred file. */
 {