baed67b5aa7f67279b04e4cf2e33cafd2268f10d
angie
  Mon Mar 12 15:46:09 2018 -0700
Adding obscure util pslFixCdsJoinGap, to correct the output of genePredToFakePsl for transcripts with +1 ribosomal frameshift.
genePred exons skip over a base to maintain frame; genePredToFakePsl sees a 1-base gap on target, 0-base gap on query.
However, the query base is skipped as described in Genbank CDS strings such as "join(168..260,262..741)".
Use CDS strings to recognize these cases, and if the PSL has a 1-sided gap on target at the exact position of the skipped
base then make the gap 2-sided to avoid making the alignment off-by-1 after that point and becoming a swamp of mismatches.
The ideal solution would be to remove the gap and properly interpret join CDS in the rest of our software, but this will at
least prevent totally incorrect genePred-derived PSL for transcripts with +1 ribosomal frameshift for now.
refs #21048

diff --git src/hg/utils/makefile src/hg/utils/makefile
index 50d1e96..78b3669 100644
--- src/hg/utils/makefile
+++ src/hg/utils/makefile
@@ -59,30 +59,31 @@
 	mergeOverlapBed4.pl \
 	mergeSortedBed3Plus.pl \
 	${USER_APP_SCRIPTS}
 
 APP_SCRIPTS = ${SCRIPT_FILES}
 
 # List of directories to build of interest only at UCSC
 DIRS = ${buildRefresh} \
 	automation \
 	buildReleaseLog \
 	checkUrlsInTable \
 	geoMirrorNode \
 	hgvsToVcf \
 	makeTrackIndex \
 	mysqlSecurityCheck \
+	pslFixCdsJoinGap \
 	pslUniq \
 	refSeqGet \
 	safePush \
 	toDev64 \
 	vcfToHgvs \
 	wigBedToStep
 
 TEST_DIRS = \
 	genePredFilter \
 	genePredToProt \
 	gff3ToGenePred \
 	gff3ToPsl \
 	gtfToGenePred \
 	hgvsToVcf \
 	hubCheck \