34b00a6ec9f42cc2c1d16e43e571c67e800e0604
angie
  Fri Oct 13 16:18:11 2017 -0700
Fix error that caused insertion between splice site and the rest of the splice region to fall through the conditions for splice_region.  fixes #20328.

diff --git src/hg/lib/gpFx.c src/hg/lib/gpFx.c
index 2b98633..3432428 100644
--- src/hg/lib/gpFx.c
+++ src/hg/lib/gpFx.c
@@ -807,32 +807,32 @@
 struct gpFx *effectsList = NULL;
 boolean minusStrand = (pred->strand[0] == '-');
 // If on - strand, flip intron number back to + strand for getting intron coords:
 int intronPos = minusStrand ? (pred->exonCount - intronIx - 2) : intronIx;
 int intronStart = pred->exonEnds[intronPos];
 int intronEnd = pred->exonStarts[intronPos+1];
 if (variant->chromEnd > intronStart && variant->chromStart < intronEnd)
     {
     enum soTerm soNumber = intron_variant;
     if (variant->chromEnd > intronStart && variant->chromStart < intronStart+2)
 	// Within 2 bases of intron start(/end for '-'):
 	soNumber = minusStrand ? splice_acceptor_variant : splice_donor_variant;
     if (variant->chromEnd > intronEnd-2 && variant->chromStart < intronEnd)
 	// Within 2 bases of intron end(/start for '-'):
 	soNumber = minusStrand ? splice_donor_variant : splice_acceptor_variant;
-    else if ((variant->chromEnd > intronStart+3 && variant->chromStart < intronStart+8) ||
-	     (variant->chromEnd > intronEnd-8 && variant->chromStart < intronEnd+3))
+    else if ((variant->chromEnd >= intronStart+2 && variant->chromStart < intronStart+8) ||
+	     (variant->chromEnd > intronEnd-8 && variant->chromStart <= intronEnd-2))
 	// Within 3 to 8 bases of intron start or end:
 	soNumber = splice_region_variant;
     if (predIsNmd)
 	// This transcript is already subject to nonsense-mediated decay, so the effect
 	// is probably not a big deal:
 	soNumber = NMD_transcript_variant;
     struct gpFx *effects = gpFxNew(altAllele, pred->name, soNumber, intron, lm);
     effects->details.intron.intronNumber = intronIx;
     slAddTail(&effectsList, effects);
     }
 return effectsList;
 }
 
 static struct gpFx *gpFxCheckTranscript(struct variant *variant, struct genePred *pred,
 					struct dnaSeq *transcriptSeq, struct lm *lm)