a733eb4377d20aad86d9e1b3657b00da2f9028fe
braney
  Sat Jan 17 10:42:42 2026 -0800
when quicklifting a genePred we need to reverse the exon frames if the
strand changed

diff --git src/hg/inc/genePred.h src/hg/inc/genePred.h
index c25292cfea1..ef1598aeaf1 100644
--- src/hg/inc/genePred.h
+++ src/hg/inc/genePred.h
@@ -118,30 +118,31 @@
     unsigned *exonStarts;	/* Exon start positions */
     unsigned *exonEnds;	/* Exon end positions */
 
     /* optional fields */
     unsigned optFields;           /* which optional fields are used (not in
                                    * database) */
     int score;                    /* score */
     char *name2;                  /* Secondary name. (e.g. name of gene), or
                                    * empty if none, NULL if field not
                                    * requested */
     enum cdsStatus cdsStartStat;  /* Status of cdsStart annotation */
     enum cdsStatus cdsEndStat;    /* Status of cdsEnd annotation */
     int *exonFrames;              /* List of frame for each exon, or -1
                                    * if no frame or not known. NULL if not
                                    * available. */
+    char origStrand;              /* if quickLifted, this is the original strand. */
 };
 
 /* Standard value to use for insertMergeSize when creating genePred.
  * Set to 8 due to microdeletions.
  */
 #define genePredStdInsertMergeSize 8
 
 #define GENEPRED_NUM_COLS 10  /* number of columns in a genePred */
 #define GENEPREDX_NUM_COLS 15  /* max number of columns in extended genePred */
 
 struct genePred *genePredLoad(char **row);
 /* Load a genePred from row fetched with select * from genePred
  * from database.  Dispose of this with genePredFree(). 
  * NOTE: cannabalizes the row argument */