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/lib/liftOver.c src/hg/lib/liftOver.c index 904b64dd204..8b7eafc1b84 100644 --- src/hg/lib/liftOver.c +++ src/hg/lib/liftOver.c @@ -1706,30 +1706,31 @@ genePredTabOut(gp, unmapped); } } else { int exonCount = gp->exonCount; struct bed *bedList = bed; for (; bed != NULL; bed = bed->next) { if (bed->blockCount > exonCount) errAbort("program error: need to allocate extra blocks for bed."); freeMem(gp->chrom); gp->chrom = cloneString(bed->chrom); int start = gp->txStart = bed->chromStart; gp->txEnd = bed->chromEnd; + gp->origStrand = gp->strand[0]; gp->strand[0] = bed->strand[0]; gp->cdsStart = bed->thickStart; gp->cdsEnd = bed->thickEnd; int count = gp->exonCount = bed->blockCount; int i; for (i=0; i<count; ++i) { int s = start + bed->chromStarts[i]; int e = s + bed->blockSizes[i]; gp->exonStarts[i] = s; gp->exonEnds[i] = e; } if (mapped) genePredTabOut(gp, mapped); }