public void DetermineIntronicEffect_IsStartSpliceSite() { var positionalEffect = new TranscriptPositionalEffect(); positionalEffect.DetermineIntronicEffect(_otherTranscriptRegions, new Interval(300, 303), VariantType.deletion); Assert.True(positionalEffect.IsStartSpliceSite); }
public void IsFivePrimeUtrVariant(bool onReverseStrand, bool withinCdna, bool beforeCoding, bool afterCoding, bool expectedResult) { var positionalEffect = new TranscriptPositionalEffect { BeforeCoding = beforeCoding, AfterCoding = afterCoding, WithinCdna = withinCdna }; var variant = new Mock <ISimpleVariant>(); var transcript = new Mock <ITranscript>(); variant.SetupGet(x => x.AltAllele).Returns("G"); variant.SetupGet(x => x.RefAllele).Returns("C"); var variantEffect = new VariantEffect(positionalEffect, variant.Object, transcript.Object, "", "", "", "", null, "", ""); var gene = new Mock <IGene>(); transcript.SetupGet(x => x.Gene).Returns(gene.Object); gene.SetupGet(x => x.OnReverseStrand).Returns(onReverseStrand); var translation = new Mock <ITranslation>(); transcript.SetupGet(x => x.Translation).Returns(translation.Object); Assert.Equal(expectedResult, variantEffect.IsFivePrimeUtrVariant()); }
public void IsWithinCds_ReturnFalse() { var positionalEffect = new TranscriptPositionalEffect(); var observedResult = positionalEffect.IsWithinCds(-1, -1, null, null); Assert.False(observedResult); }
public void IsWithinCds_ReturnTrue() { var positionalEffect = new TranscriptPositionalEffect(); var observedResult = positionalEffect.IsWithinCds(180, 180, null, null); Assert.True(observedResult); }
public void DetermineIntronicEffect_IsEndSpliceSite() { var positionalEffect = new TranscriptPositionalEffect(); positionalEffect.DetermineIntronicEffect(_otherTranscriptRegions, new Interval(400, 400), VariantType.SNV); Assert.True(positionalEffect.IsEndSpliceSite); }
public void DetermineIntronicEffect_IsWithinFrameshiftIntron() { var positionalEffect = new TranscriptPositionalEffect(); positionalEffect.DetermineIntronicEffect(_otherTranscriptRegions, new Interval(702, 705), VariantType.deletion); Assert.True(positionalEffect.IsWithinFrameshiftIntron); }
public void DetermineIntronicEffect_IsWithinSpliceSiteRegion() { var positionalEffect = new TranscriptPositionalEffect(); IInterval variant = new Interval(298, 302); positionalEffect.DetermineIntronicEffect(_otherTranscriptRegions, variant, VariantType.deletion); Assert.True(positionalEffect.IsWithinSpliceSiteRegion); }
public void DetermineIntronicEffect_IsWithinFrameshiftIntron_NotInSpliceSite() { var positionalEffect = new TranscriptPositionalEffect(); positionalEffect.DetermineIntronicEffect(_otherTranscriptRegions, new Interval(701, 709), VariantType.deletion); Assert.True(positionalEffect.IsWithinFrameshiftIntron); Assert.False(positionalEffect.IsStartSpliceSite); Assert.False(positionalEffect.IsEndSpliceSite); }
public void DetermineExonicEffect_WithinCdna() { IInterval variant = new Interval(879600, 879600); var position = new MappedPosition(1692, 1692, -1, -1, -1, -1, 7, 7, -1, -1, 12, 12); var positionalEffect = new TranscriptPositionalEffect(); positionalEffect.DetermineExonicEffect(_forwardTranscript.Object, variant, position, 1692, 1692, -1, -1, "G", false); Assert.True(positionalEffect.WithinCdna); }
public void DetermineExonicEffect_WithinCds() { IInterval variant = new Interval(876543, 876543); var position = new MappedPosition(206, 206, 206, 206, 69, 69, 2, 2, -1, -1, 2, 2); var positionalEffect = new TranscriptPositionalEffect(); positionalEffect.DetermineExonicEffect(_forwardTranscript.Object, variant, position, 206, 206, 206, 206, "G", false); Assert.True(positionalEffect.WithinCdna); }
public void DetermineExonicEffect_OverlapWithMicroRna() { IInterval variant = new Interval(3477284, 3477284); var position = new MappedPosition(71, 71, -1, -1, -1, -1, 1, 1, -1, -1, 0, 0); var positionalEffect = new TranscriptPositionalEffect(); positionalEffect.DetermineExonicEffect(_reverseTranscript.Object, variant, position, 71, 71, -1, -1, "G", false); Assert.True(positionalEffect.OverlapWithMicroRna); }
public void DetermineExonicEffect_HasExonOverlap() { IInterval variant = new Interval(876686, 876686); var position = new MappedPosition(349, 349, 349, 349, 117, 117, 2, 2, -1, -1, 2, 2); var positionalEffect = new TranscriptPositionalEffect(); positionalEffect.DetermineExonicEffect(_forwardTranscript.Object, variant, position, 349, 349, 349, 349, "G", false); Assert.True(positionalEffect.HasExonOverlap); }
public void IsWithinCds_IsWithinFrameshiftIntron_ReturnFalse() { var variant = new Interval(100, 101); var codingRegion = new Interval(102, 120); var positionalEffect = new TranscriptPositionalEffect { IsWithinFrameshiftIntron = true }; var observedResult = positionalEffect.IsWithinCds(-1, -1, codingRegion, variant); Assert.False(observedResult); }
private static VariantEffect GetVariantEffect(ITranscript transcript, ISimpleVariant variant, IMappedPositions mappedPositions, string refAminoAcids, string altAminoAcids, string refCodons, string altCodons, bool insertionInStartAndNoImpact) { var positionalEffect = new TranscriptPositionalEffect(); positionalEffect.DetermineIntronicEffect(transcript.Introns, variant, variant.Type); positionalEffect.DetermineExonicEffect(transcript, variant, mappedPositions, variant.AltAllele, insertionInStartAndNoImpact); var variantEffect = new VariantEffect(positionalEffect, variant, transcript, refAminoAcids, altAminoAcids, refCodons, altCodons, mappedPositions.ProteinInterval.Start); return(variantEffect); }
public void DetermineIntronicEffect_IsWithinIntron() { IInterval variant = new Interval(300, 302); var positionalEffect = new TranscriptPositionalEffect(); positionalEffect.DetermineIntronicEffect(_otherTranscriptRegions, variant, VariantType.deletion); Assert.False(positionalEffect.IsWithinIntron); IInterval variant2 = new Interval(303, 303); var positionalEffect2 = new TranscriptPositionalEffect(); positionalEffect2.DetermineIntronicEffect(_otherTranscriptRegions, variant2, VariantType.deletion); Assert.True(positionalEffect2.IsWithinIntron); }
private static TranscriptPositionalEffect GetPositionalEffect(ITranscript transcript, ISimpleVariant variant, IMappedPosition position, string refAminoAcid, string altAminoAcid, int coveredCdnaStart, int coveredCdnaEnd, int coveredCdsStart, int coveredCdsEnd) { bool startCodonInsertionWithNoImpact = variant.Type == VariantType.insertion && position.ProteinStart <= 1 && altAminoAcid.EndsWith(refAminoAcid); var positionalEffect = new TranscriptPositionalEffect(); positionalEffect.DetermineIntronicEffect(transcript.TranscriptRegions, variant, variant.Type); positionalEffect.DetermineExonicEffect(transcript, variant, position, coveredCdnaStart, coveredCdnaEnd, coveredCdsStart, coveredCdsEnd, variant.AltAllele, startCodonInsertionWithNoImpact); return(positionalEffect); }
public void DetermineIntronicEffect_NotWithinFrameshiftIntron() { var transcriptRegions = new ITranscriptRegion[] { new TranscriptRegion(TranscriptRegionType.Exon, 1, 201342300, 201342340, 1, 186), new TranscriptRegion(TranscriptRegionType.Intron, 1, 201342340, 201342343, 186, 187), new TranscriptRegion(TranscriptRegionType.Exon, 2, 201342344, 201342400, 187, 349) }; IInterval variant = new Interval(201342344, 201342344); var positionalEffect = new TranscriptPositionalEffect(); positionalEffect.DetermineIntronicEffect(transcriptRegions, variant, VariantType.SNV); Assert.True(positionalEffect.IsWithinSpliceSiteRegion); }
public void DetermineIntronicEffect_NullIntrons() { var positionalEffect = new TranscriptPositionalEffect(); positionalEffect.DetermineIntronicEffect(null, new Interval(400, 400), VariantType.SNV); Assert.False(positionalEffect.IsEndSpliceSite); Assert.False(positionalEffect.IsStartSpliceSite); Assert.False(positionalEffect.IsWithinFrameshiftIntron); Assert.False(positionalEffect.IsWithinIntron); Assert.False(positionalEffect.IsWithinSpliceSiteRegion); Assert.False(positionalEffect.HasExonOverlap); Assert.False(positionalEffect.AfterCoding); Assert.False(positionalEffect.BeforeCoding); Assert.False(positionalEffect.WithinCdna); Assert.False(positionalEffect.WithinCds); Assert.False(positionalEffect.HasFrameShift); Assert.False(positionalEffect.IsCoding); }
public void IsStopLost_DeletionOverStopCodon_ReturnTrue() { var positionalEffect = new TranscriptPositionalEffect { BeforeCoding = false, AfterCoding = true, WithinCdna = true }; var variant = new Mock <ISimpleVariant>(); variant.SetupGet(x => x.AltAllele).Returns("ATAGCCC"); variant.SetupGet(x => x.RefAllele).Returns("A"); var variantEffect = new VariantEffect(positionalEffect, variant.Object, null, "", "", "", "", null, "*", "X"); Assert.True(variantEffect.IsStopLost()); }
public void IsCodingSequenceVariant_WithMoreSpecificConsequence_ReturnFalse(ConsequenceTag ct) { var positionalEffect = new TranscriptPositionalEffect { BeforeCoding = false, AfterCoding = true, WithinCdna = true }; var cache = new VariantEffectCache(); cache.Add(ct, true); var variant = new Mock <ISimpleVariant>(); variant.SetupGet(x => x.AltAllele).Returns("ATAGCCC"); variant.SetupGet(x => x.RefAllele).Returns("A"); var variantEffect = new VariantEffect(positionalEffect, variant.Object, null, "", "", "", "", null, null, null, cache); Assert.False(variantEffect.IsCodingSequenceVariant()); }
public void IsSpliceDonorVariant(bool onReverseStrand, bool isStartSpliceSite, bool isEndSpliceSite, bool expectedResult) { var positionalEffect = new TranscriptPositionalEffect { IsStartSpliceSite = isStartSpliceSite, IsEndSpliceSite = isEndSpliceSite }; var variant = new Mock <ISimpleVariant>(); var transcript = new Mock <ITranscript>(); variant.SetupGet(x => x.AltAllele).Returns("G"); variant.SetupGet(x => x.RefAllele).Returns("C"); var variantEffect = new VariantEffect(positionalEffect, variant.Object, transcript.Object, "", "", "", "", null, "", ""); var gene = new Mock <IGene>(); transcript.SetupGet(x => x.Gene).Returns(gene.Object); gene.SetupGet(x => x.OnReverseStrand).Returns(onReverseStrand); Assert.Equal(expectedResult, variantEffect.IsSpliceDonorVariant()); }
public void IsWithinCdna(int cdnaStart, int cdnaEnd, int totalExonLen, bool expectedResult) { var observedResult = TranscriptPositionalEffect.IsWithinCdna(cdnaStart, cdnaEnd, totalExonLen); Assert.Equal(expectedResult, observedResult); }
public void IsBeforeCoding_True_WhenInsertion() { var observedResult = TranscriptPositionalEffect.IsBeforeCoding(101, 100, 100, 101); Assert.True(observedResult); }
public void DetermineSmallVariantEffects_tier3() { var cache = new VariantEffectCache(); cache.Add(ConsequenceTag.mature_miRNA_variant, false); cache.Add(ConsequenceTag.splice_donor_variant, true); cache.Add(ConsequenceTag.splice_acceptor_variant, true); cache.Add(ConsequenceTag.stop_gained, true); cache.Add(ConsequenceTag.frameshift_variant, true); cache.Add(ConsequenceTag.stop_lost, true); cache.Add(ConsequenceTag.start_lost, true); cache.Add(ConsequenceTag.inframe_insertion, true); cache.Add(ConsequenceTag.inframe_deletion, true); cache.Add(ConsequenceTag.missense_variant, true); cache.Add(ConsequenceTag.protein_altering_variant, true); cache.Add(ConsequenceTag.splice_region_variant, true); cache.Add(ConsequenceTag.incomplete_terminal_codon_variant, true); cache.Add(ConsequenceTag.stop_retained_variant, true); cache.Add(ConsequenceTag.synonymous_variant, true); cache.Add(ConsequenceTag.coding_sequence_variant, true); cache.Add(ConsequenceTag.five_prime_UTR_variant, true); cache.Add(ConsequenceTag.three_prime_UTR_variant, true); cache.Add(ConsequenceTag.non_coding_transcript_exon_variant, true); cache.Add(ConsequenceTag.intron_variant, true); cache.Add(ConsequenceTag.NMD_transcript_variant, true); cache.Add(ConsequenceTag.non_coding_transcript_variant, true); var simpleVariant = new Mock <ISimpleVariant>(); simpleVariant.SetupGet(x => x.RefAllele).Returns("G"); simpleVariant.SetupGet(x => x.AltAllele).Returns("C"); var positionalEffect = new TranscriptPositionalEffect { IsWithinIntron = true }; var variantEffect = new VariantEffect(positionalEffect, simpleVariant.Object, null, null, null, null, null, null, cache); var featureEffect = new Mock <IFeatureVariantEffects>(); featureEffect.Setup(x => x.Ablation()).Returns(false); featureEffect.Setup(x => x.Amplification()).Returns(false); featureEffect.Setup(x => x.Truncation()).Returns(true); featureEffect.Setup(x => x.Elongation()).Returns(true); var consequence = new Consequences(variantEffect, featureEffect.Object); consequence.DetermineSmallVariantEffects(); var observedConsequence = consequence.GetConsequences(); Assert.Equal(ConsequenceTag.splice_donor_variant, observedConsequence[0]); Assert.Equal(ConsequenceTag.splice_acceptor_variant, observedConsequence[1]); Assert.Equal(ConsequenceTag.stop_gained, observedConsequence[2]); Assert.Equal(ConsequenceTag.frameshift_variant, observedConsequence[3]); Assert.Equal(ConsequenceTag.stop_lost, observedConsequence[4]); Assert.Equal(ConsequenceTag.start_lost, observedConsequence[5]); Assert.Equal(ConsequenceTag.inframe_insertion, observedConsequence[6]); Assert.Equal(ConsequenceTag.inframe_deletion, observedConsequence[7]); Assert.Equal(ConsequenceTag.missense_variant, observedConsequence[8]); Assert.Equal(ConsequenceTag.protein_altering_variant, observedConsequence[9]); Assert.Equal(ConsequenceTag.splice_region_variant, observedConsequence[10]); Assert.Equal(ConsequenceTag.incomplete_terminal_codon_variant, observedConsequence[11]); Assert.Equal(ConsequenceTag.stop_retained_variant, observedConsequence[12]); Assert.Equal(ConsequenceTag.synonymous_variant, observedConsequence[13]); Assert.Equal(ConsequenceTag.coding_sequence_variant, observedConsequence[14]); Assert.Equal(ConsequenceTag.five_prime_UTR_variant, observedConsequence[15]); Assert.Equal(ConsequenceTag.three_prime_UTR_variant, observedConsequence[16]); Assert.Equal(ConsequenceTag.non_coding_transcript_exon_variant, observedConsequence[17]); Assert.Equal(ConsequenceTag.intron_variant, observedConsequence[18]); Assert.Equal(ConsequenceTag.NMD_transcript_variant, observedConsequence[19]); Assert.Equal(ConsequenceTag.non_coding_transcript_variant, observedConsequence[20]); }
public void IsMatureMirnaVariant_NullMirnas() { var observedResult = TranscriptPositionalEffect.IsMatureMirnaVariant(-1, -1, null, true); Assert.False(observedResult); }