コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }