public static IAnnotatedTranscript GetAnnotatedTranscript(ITranscript transcript, IVariant leftShiftedVariant, ISequence refSequence, IPredictionCache siftCache, IPredictionCache polyphenCache, AminoAcids aminoAcids) { var rightShiftedVariant = VariantRotator.Right(leftShiftedVariant, transcript, refSequence, transcript.Gene.OnReverseStrand); var leftAnnotation = AnnotateTranscript(transcript, leftShiftedVariant, aminoAcids, refSequence); var rightAnnotation = ReferenceEquals(leftShiftedVariant, rightShiftedVariant) ? leftAnnotation : AnnotateTranscript(transcript, rightShiftedVariant, aminoAcids, refSequence); var consequences = GetConsequences(transcript, leftShiftedVariant, leftAnnotation.VariantEffect); var hgvsCoding = HgvsCodingNomenclature.GetHgvscAnnotation(transcript, rightShiftedVariant, refSequence, rightAnnotation.Position.RegionStartIndex, rightAnnotation.Position.RegionEndIndex); var hgvsProtein = HgvsProteinNomenclature.GetHgvsProteinAnnotation(transcript, rightAnnotation.RefAminoAcids, rightAnnotation.AltAminoAcids, rightAnnotation.TranscriptAltAllele, rightAnnotation.Position, rightAnnotation.VariantEffect, rightShiftedVariant, refSequence, hgvsCoding, leftShiftedVariant.Chromosome.UcscName == "chrM"); var predictionScores = GetPredictionScores(leftAnnotation.Position, leftAnnotation.RefAminoAcids, leftAnnotation.AltAminoAcids, siftCache, polyphenCache, transcript.SiftIndex, transcript.PolyPhenIndex); return(new AnnotatedTranscript(transcript, leftAnnotation.RefAminoAcids, leftAnnotation.AltAminoAcids, leftAnnotation.RefCodons, leftAnnotation.AltCodons, leftAnnotation.Position, hgvsCoding, hgvsProtein, predictionScores.Sift, predictionScores.PolyPhen, consequences, false)); }
public void Insertion() { var variantEffect = new Mock <IVariantEffect>(); variantEffect.Setup(x => x.IsFrameshiftVariant()).Returns(false); variantEffect.Setup(x => x.IsStopRetained()).Returns(false); variantEffect.Setup(x => x.IsStartLost()).Returns(false); variantEffect.Setup(x => x.IsStopLost()).Returns(false); var proteinChange = HgvsProteinNomenclature.GetProteinChange(4, "", "A", "MACTAWR", variantEffect.Object); Assert.Equal(ProteinChange.Insertion, proteinChange); }
public void IsDuplicatedAminoAcidsTests(string refAminoAcids, string altAminoAcids, bool result) { Assert.Equal(result, HgvsProteinNomenclature.IsDuplicatedAminoAcids(refAminoAcids, altAminoAcids)); }