/// <summary> /// One or more exons fully included (no partial overlap) /// </summary> private void exons() { Interval cdsMarker = null; if (Transcript.IsProteinCoding()) { cdsMarker = Transcript.CdsMarker(); } foreach (Exon ex in Transcript.Exons) { if (Variant.Intersects(ex)) { EffectImpact impact = EffectImpact.LOW; // Is the variant affecting a coding part of the exon? // If so, then this is a HIGH impact effect. if (cdsMarker != null && Variant.Intersect(ex).Intersects(cdsMarker)) { impact = EffectImpact.HIGH; } // Is the whole exon inverted or just part of it? EffectType effType = Variant.Includes(ex) ? EffectType.EXON_INVERSION : EffectType.EXON_INVERSION_PARTIAL; EffectNoCodon(ex, effType, impact); } } }