e0fa0d154d7c8a3068bdfcd0668ca09b2f57a464
hiram
  Fri Aug 22 18:33:24 2025 -0700
initial prototype for a liftOver end point - need to get some of the hgConvert code into a library - refs #35976

diff --git src/hg/hubApi/dataApi.h src/hg/hubApi/dataApi.h
index a8c3421567e..f4f4eb8df86 100644
--- src/hg/hubApi/dataApi.h
+++ src/hg/hubApi/dataApi.h
@@ -13,31 +13,30 @@
 #include "cart.h"
 #include "hui.h"
 #include "udc.h"
 #include "knetUdc.h"
 #include "genbank.h"
 #include "trackHub.h"
 #include "hgConfig.h"
 #include "hCommon.h"
 #include "hPrint.h"
 #include "bigWig.h"
 #include "hubConnect.h"
 #include "obscure.h"
 #include "errCatch.h"
 #include "vcf.h"
 #include "bedTabix.h"
-#include "bamFile.h"
 #include "jsonParse.h"
 #include "jsonWrite.h"
 #include "chromInfo.h"
 #include "wiggle.h"
 #include "hubPublic.h"
 #include "cartTrackDb.h"
 #include "chromAlias.h"
 #include "pipeline.h"
 #include "genark.h"
 
 #ifdef USE_HAL
 #include "halBlockViz.h"
 #endif
 
 /* reference for these error codes:
@@ -71,46 +70,51 @@
 #define argEnd	"end"
 #define argRevComp	"revComp"
 #define argMaxItemsOutput	"maxItemsOutput"
 #define argFormat	"format"
 #define argJsonOutputArrays	"jsonOutputArrays"
 #define argCategories "categories"
 #define argSearchTerm "search"
 /* used in findGenome, 'q' is for the query search term */
 #define argQ "q"
 #define argStatsOnly "statsOnly"
 #define argBrowser "browser"
 #define argYear "year"
 #define argCategory "category"
 #define argStatus "status"
 #define argLevel "level"
+#define argFromGenome "fromGenome"
+#define argToGenome "toGenome"
+/* used in liftOver 'listExisting' function to filter the result */
+#define argFilter "filter"
 
 /* valid argument listings to verify extraneous arguments
  *  initialized in hubApi.c
  */
 extern char *argListPublicHubs[];
 extern char *argListUcscGenomes[];
 extern char *argListGenarkGenomes[];
 extern char *argListHubGenomes[];
 extern char *argListTracks[];
 extern char *argListChromosomes[];
 extern char *argListSchema[];
 extern char *argListFiles[];
 extern char *argGetDataTrack[];
 extern char *argGetDataSequence[];
 extern char *argSearch[];
 extern char *argFindGenome[];
+extern char *argLiftOver[];
 
 /* maximum number of words expected in PATH_INFO parsing
  *   so far only using 2
  */
 #define MAX_PATH_INFO 32
 
 /* maximum amount of DNA allowed in a get sequence request */
 #define MAX_DNA_LENGTH	499999999
 /* this size is directly related to the max limit in needMem used in
  * jsonWriteString
  */
 
 extern long enteredMainTime;	/* will become = clock1000() on entry */
 
 /* limit amount of output to a maximum to avoid overload */
@@ -276,16 +280,19 @@
 void apiList(char *words[MAX_PATH_INFO]);
 /* 'list' function words[1] is the subCommand */
 
 /* ######################################################################### */
 /*  functions in search.c */
 
 void apiSearch(char *words[MAX_PATH_INFO]);
 /* search function */
 
 /* ######################################################################### */
 /*  functions in findGenome.c */
 
 void apiFindGenome(char *words[MAX_PATH_INFO]);
 /* 'findGenome' function */
 
+void apiLiftOver(char *words[MAX_PATH_INFO]);
+/* 'liftOver' function */
+
 #endif	/*	 DATAAPH_H	*/