7f7a9a5579d7acec698c51dbf93f5030ce1a0439
braney
  Tue Apr 8 15:43:17 2025 -0700
support genePred in quickLift

diff --git src/hg/inc/liftOver.h src/hg/inc/liftOver.h
index 6c2359302f7..7b1bfc0cddd 100644
--- src/hg/inc/liftOver.h
+++ src/hg/inc/liftOver.h
@@ -1,24 +1,25 @@
 /* lift genome annotations between assemblies using chain files */
 
 /* Copyright (C) 2013 The Regents of the University of California 
  * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */
 
 #ifndef LIFTOVER_H
 #define LIFTOVER_H
 
 #include "chain.h"
+#include "genePred.h"
 
 #define LIFTOVER_MINMATCH        0.95
 #define LIFTOVER_MINBLOCKS       1.00
 
 enum liftOverFileType
 {
     none = 0,
     bed = 1,
     positions = 2,
 };
 
 struct liftOverChain *liftOverChainList();
 /* Get list of all liftOver chains in the central database */
 
 void filterOutMissingChains(struct liftOverChain **pChainList);
@@ -97,30 +98,35 @@
 void liftOverGff(char *fileName, struct hash *chainHash, 
                     double minMatch, double minBlocks, 
                     FILE *mapped, FILE *unmapped, bool preserveInput);
 /* Lift over GFF file */
 
 void liftOverPsl(char *fileName, struct hash *chainHash, 
                             double minMatch, double minBlocks, bool fudgeThick,
                                 FILE *f, FILE *unmapped);
 /* Open up PSL file, and lift it. */
 
 void liftOverGenePred(char *fileName, struct hash *chainHash, 
                         double minMatch, double minBlocks, bool fudgeThick,
                       FILE *mapped, FILE *unmapped, boolean multiple, bool preserveInput);
 /* Lift over file in genePred format. */
 
+void calcLiftOverGenePreds( struct genePred *gpList, struct hash *chainHash, 
+                        double minMatch, double minBlocks, bool fudgeThick,
+                      FILE *mapped, FILE *unmapped, boolean multiple, bool preserveInput);
+/* worker function for liftOverGenePred. */
+
 void liftOverSample(char *fileName, struct hash *chainHash, 
                         double minMatch, double minBlocks, bool fudgeThick,
                         FILE *mapped, FILE *unmapped, bool preserveInput);
 /* Open up sample file,  and lift it */
 
 void readLiftOverMap(char *fileName, struct hash *chainHash);
 /* Read map file into hashes. */
 
 char *liftOverErrHelp();
 /* Help message explaining liftOver failures */
 
 char *remapBlockedBed(struct hash *chainHash, struct bed *bed,  
                              double minMatch, double minBlocks, bool fudgeThick,
                              bool multiple, char *db, char *chainTable);
 /* Remap blocks in bed, and also chromStart/chromEnd.  If multiple, then bed->next may be