93bdf148d3a0408d7e668190c5046fd3b34eef90
galt
  Tue Feb 23 22:32:50 2021 -0800
Fixing some bugs in liftOver. Increased max fields from 64 to 256. Now it requires 3 or more fields. It detects if the field counts are not consistent for all rows. And it detects if there are too many fields. Fixes annoying bug in bed 1 or bed 2 that would confabulate output. refs #27023

diff --git src/hg/liftOver/tests/makefile src/hg/liftOver/tests/makefile
index e862075..858b79f 100644
--- src/hg/liftOver/tests/makefile
+++ src/hg/liftOver/tests/makefile
@@ -1,21 +1,21 @@
 kentSrc = ../../..
 include ../../../inc/common.mk
 
 # make VERBOSE=-verbose=2 will echo out positions as they convert
 
-test:   bin bedPlus3 bed8 bed12 simpleTest minus enm001 chuckTest chuckBigTest enr223 scaffoldEndBug
+test:   bin bedPlus3 bedPlus3-200 bed8 bed12 simpleTest minus enm001 chuckTest chuckBigTest enr223 scaffoldEndBug
 
 # tests too slow to use in default test suite
 testSlow: mm3 multiple
 
 liftOver=${DESTBINDIR}/liftOver
 liftOverMerge=${DESTBINDIR}/liftOverMerge
 
 bed12:	mkdirs
 	${liftOver} \
             input/bed12.bed \
             /cluster/data/hg38/bed/liftOver/hg38ToPanTro6.over.chain.gz \
                 output/bed12.good.bed output/bed12.bad.bed 2> /dev/null
 	cat output/bed12.{good,bad}.bed | \
                 diff - expected/bed12.bed 1>&2
 
@@ -31,30 +31,38 @@
 	${liftOver} -hasBin -bedPlus=6\
             input/bin.bed \
             /cluster/data/mm2/bed/liftOver/mm2ToMm5.over.chain.gz \
                 output/bin.good.bed output/bin.bad.bed 2> /dev/null
 	cat output/bin.{good,bad}.bed | \
                 diff - expected/bin.bed 1>&2
 
 bedPlus3:	mkdirs
 	${liftOver} -bedPlus=3 \
             input/bedPlus.bed \
             /cluster/data/mm2/bed/liftOver/mm2ToMm5.over.chain.gz \
                 output/bedPlus3.good.bed output/bedPlus3.bad.bed 2> /dev/null
 	cat output/bedPlus3.{good,bad}.bed | \
                 diff - expected/bedPlus3.bed 1>&2
 
+bedPlus3-256:	mkdirs
+	${liftOver} -bedPlus=3 \
+            input/bedPlus-256.bed \
+            /cluster/data/mm2/bed/liftOver/mm2ToMm5.over.chain.gz \
+                output/bedPlus3-256.good.bed output/bedPlus3-256.bad.bed 2> /dev/null
+	cat output/bedPlus3-256.{good,bad}.bed | \
+                diff - expected/bedPlus3-256.bed 1>&2
+
 simpleTest:     mkdirs
 	${liftOver} \
             input/mouseRegions.bed \
                 /cluster/data/hg16/bed/blastz.mm3/axtChain/subset/chr16.chain \
                     output/mouseRegions.good.bed \
                     output/mouseRegions.bad.bed 2> /dev/null
 	cat output/mouseRegions.{good,bad}.bed | \
                 diff - expected/mouseRegions.bed 1>&2
 
 minus:	mkdirs
 	${liftOver} -minMatch=.01 minSizeT=4000 minSizeQ=20000 -multiple ${VERBOSE} \
                 input/enr223.S.bed \
                     /cluster/data/hg16/bed/blastz.mm3/axtChain/subset/chr6.chain \
                     output/enr223.S.good.bed \
                     output/enr223.S.bad.bed 2> /dev/null