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)