예제 #1
0
        private static void AssignCodonsAndAminoAcids(string transcriptRefAllele, string transcriptAltAllele,
                                                      IMappedPositions mappedPositions, ISequence codingSequence, AminoAcids aminoAcidProvier, out string refCodons,
                                                      out string altCodons, out string refAminoAcids, out string altAminoAcids)
        {
            AssignExtended(transcriptRefAllele, transcriptAltAllele, mappedPositions.CdsInterval,
                           mappedPositions.ProteinInterval, codingSequence, out refCodons, out altCodons);


            aminoAcidProvier.Assign(refCodons, altCodons, out refAminoAcids, out altAminoAcids);
        }
예제 #2
0
 public PianoAnnotatedTranscript(ITranscript transcript, string referenceAminoAcids, string alternateAminoAcids, IMappedPositions mappedPositions, string upstreamAminoAcids,
                                 string downStreamAminoAcids, IEnumerable <ConsequenceTag> consequences)
 {
     Transcript           = transcript;
     ReferenceAminoAcids  = referenceAminoAcids;
     AlternateAminoAcids  = alternateAminoAcids;
     MappedPositions      = mappedPositions;
     UpstreamAminoAcids   = upstreamAminoAcids;
     DownStreamAminoAcids = downStreamAminoAcids;
     Consequences         = consequences;
 }
예제 #3
0
        private static Tuple <string, string, string, string> GetCodonsAndAminoAcids(ITranscript transcript, ISequence refSequence,
                                                                                     string transcriptRefAllele, string transcriptAltAllele, ISimpleVariant variant,
                                                                                     IMappedPositions mappedPositions, AminoAcids aminoAcidsProvider)
        {
            var codingSequence = transcript.Translation == null
                ? null
                : new CodingSequence(refSequence, transcript.Translation.CodingRegion.Start,
                                     transcript.Translation.CodingRegion.End, transcript.CdnaMaps, transcript.Gene.OnReverseStrand,
                                     transcript.StartExonPhase);

            // compute codons and amino acids
            AssignCodonsAndAminoAcids(transcriptRefAllele, transcriptAltAllele, mappedPositions,
                                      codingSequence, aminoAcidsProvider, out string referenceCodons,
                                      out string alternateCodons, out string referenceAminoAcids, out string alternateAminoAcids);

            return(Tuple.Create(referenceCodons ?? "", alternateCodons ?? "", referenceAminoAcids ?? "",
                                alternateAminoAcids ?? ""));
        }
예제 #4
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);
        }