Пример #1
0
        public void MultiAlleleProteinAlteringVariant()
        {
            // GGGACTGGA|protein_altering_variant|MODIFIER||91544|Transcript|NM_183008.2|protein_coding|16/16||NM_183008.2:c.1501_1533delinsTCCAGTCCC|NP_892120.2:p.Pro501_Pro509delinsSer|1774-1806|1501-1533|501-511|PSPGPGPGPSP/SSP|CCCAGTCCCGGTCCCGGTCCCGGCCCCAGTCCC/TCCAGTCCC|||-1|||YES||NP_892120.2|rseq_mrna_match&rseq_ens_match_cds||||||||
            var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("NM_183008_chr1_RefSeq84"),
                                                            "chr1\t26608819\t.\tAGGGACTGGGGCCGGGACCGGGACCGGGACTGGG\tAGGGACTGGG,AGGGACTGGA\t60\tPASS\tCIGAR=1M24D9M,9M25D1I;RU=.,.;REFREP=3,.;IDREP=2,.;GMAF=A|0.3934;cosmic=COSM3749046;CSQT=1|CEP85|NM_022778.3|downstream_gene_variant,2|CEP85|NM_022778.3|downstream_gene_variant,1|SH3BGRL3|NM_031286.3|downstream_gene_variant,2|SH3BGRL3|NM_031286.3|downstream_gene_variant,1|UBXN11|NM_183008.2|inframe_deletion,2|UBXN11|NM_183008.2|\tGT:GQ:GQX:DPI:AD\t1/2:143:119:23:0,3,3");

            Assert.NotNull(annotatedVariant);

            AssertUtilities.CheckAlleleCount(2, annotatedVariant);

            var altAllele = annotatedVariant.AnnotatedAlternateAlleles.ElementAt(1);

            Assert.NotNull(altAllele);

            AssertUtilities.CheckRefSeqTranscriptCount(1, altAllele);

            var transcript = altAllele.RefSeqTranscripts.FirstOrDefault();

            Assert.NotNull(transcript);

            // ReSharper disable once PossibleNullReferenceException
            var          observedConsequence = string.Join("&", transcript.Consequence);
            const string expectedConsequence = "protein_altering_variant";

            Assert.Equal(expectedConsequence, observedConsequence);
        }
Пример #2
0
        public void GatkGenomeVcf()
        {
            const bool isGatkGenomeVcf  = true;
            var        vcfVariant       = VcfUtilities.GetVcfVariant("1	10360	.	C	<NON_REF>	.	PASS	END=10362	GT:DP:GQ:MIN_DP:PL	0/0:198:99:196:0,120,1800", isGatkGenomeVcf);
            var        annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("ENST00000483270_chr1_Ensembl84"), vcfVariant);

            Assert.NotNull(annotatedVariant);
            AssertUtilities.CheckAlleleCount(0, annotatedVariant);
        }
Пример #3
0
        public void DuplicatedTranscripts()
        {
            var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("ENST00000483270_chr1_Ensembl84"),
                                                            "1	15910881	MantaBND:17185:0:1:0:9:0:0	G	[2:86827867[G	.	MinSomaticScore SVTYPE=BND;MATEID=MantaBND:17185:0:1:0:9:0:1;CIPOS=0,7;HOMLEN=7;HOMSEQ=TGATCCG;SOMATIC;SOMATICSCORE=19;BND_DEPTH=26;MATE_BND_DEPTH=21 PR:SR	30,0:20,0	64,2:173,8");

            Assert.NotNull(annotatedVariant);

            AssertUtilities.CheckAlleleCount(1, annotatedVariant);

            var altAllele = annotatedVariant.AnnotatedAlternateAlleles.First();

            AssertUtilities.CheckEnsemblTranscriptCount(1, altAllele);
        }
Пример #4
0
        public void ReferenceNoCallsOverlapTranscript(bool enableRefNoCall, bool limitToTranscript, int numberOfAnnotatedAlleles)
        {
            var annotationSource = ResourceUtilities.GetAnnotationSource(Resources.CacheGRCh37("ENST00000483270_chr1_Ensembl84"), null) as NirvanaAnnotationSource;

            if (enableRefNoCall)
            {
                annotationSource?.EnableReferenceNoCalls(limitToTranscript);
            }

            var annotatedVariant = DataUtilities.GetVariant(annotationSource,
                                                            "1	15886104	.	C	.	.	LowQ	END=15890000	.	.");

            Assert.NotNull(annotatedVariant);
            AssertUtilities.CheckAlleleCount(numberOfAnnotatedAlleles, annotatedVariant);
        }
Пример #5
0
        public void InsertionAtRegFeatureStart()
        {
            var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("ENSR00001625040_chr11_Ensembl84_reg"),
                                                            "11\t121973583\t.\tC\tCA\t.\tRepeat;QSI_ref  SOMATIC;QSI=29;TQSI=1;NT=hom;QSI_NT=29;TQSI_NT=1;SGT=hom->het;RU=A;RC=9;IC=10;IHP=10     DP:DP2:TAR:TIR:TOR:DP50:FDP50:SUBDP50\t52:52:0,0:49,49:3,3:54.96:0.00:0.00\t131:131:34,34:77,77:19,19:130.89:1.24:0.00");

            Assert.NotNull(annotatedVariant);

            AssertUtilities.CheckAlleleCount(1, annotatedVariant);

            var altAllele = annotatedVariant.AnnotatedAlternateAlleles.First();

            Assert.NotNull(altAllele);

            AssertUtilities.CheckRegulatoryCount(0, altAllele);
        }
Пример #6
0
        public void FuzzyInsertion()
        {
            var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh38("ENST00000471857_chr2_Ensembl84"), null,
                                                            "chr2\t90221381\tMantaINS:49750:2:2:0:6:0\tC\t<INS>\t282\tPASS\tEND=90221390;SVTYPE=INS;LEFT_SVINSSEQ=CCGTGGCCACTCAGTTTTAGCGTCTCTGCTCTATTTGGACATTTTGCAGTTCT;RIGHT_SVINSSEQ=GATGTTGCAACTTATTACGGTCAACGGACTTACAATGCCCCTGA;DQ=0\tGT:FT:GQ:PL:PR:SR\t0/1:PASS:107:157,0,975:1,0:19,7\t0/1:PASS:175:225,0,730:1,0:14,7\t0/0:PASS:112:0,62,899:1,0:14,0");

            Assert.NotNull(annotatedVariant);

            AssertUtilities.CheckAlleleCount(1, annotatedVariant);

            var altAllele = annotatedVariant.AnnotatedAlternateAlleles.First();

            Assert.NotNull(altAllele);

            AssertUtilities.CheckEnsemblTranscriptCount(1, altAllele);
        }
Пример #7
0
        public void CdnaPositionShouldNotBeReported()
        {
            var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("NM_005101_chr1_RefSeq84"), null,
                                                            "1	948846	.	T	TA	.	.	.");

            Assert.NotNull(annotatedVariant);

            AssertUtilities.CheckAlleleCount(1, annotatedVariant);

            var altAllele = annotatedVariant.AnnotatedAlternateAlleles.First();

            Assert.NotNull(altAllele);

            AssertUtilities.CheckRefSeqTranscriptCount(1, altAllele);
            Assert.Null(altAllele.RefSeqTranscripts.First().ComplementaryDnaPosition);
        }
Пример #8
0
        public void DisableMitochondrialAnnotation()
        {
            var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("ENST00000387314_chrM_Ensembl84"), null,
                                                            "MT	589	.	C	A	.	PASS	.	.	.");

            Assert.NotNull(annotatedVariant);

            AssertUtilities.CheckAlleleCount(1, annotatedVariant);

            var altAllele = annotatedVariant.AnnotatedAlternateAlleles.First();

            Assert.NotNull(altAllele);

            AssertUtilities.CheckEnsemblTranscriptCount(0, altAllele);
            Assert.DoesNotContain("ENST00000387314", altAllele.ToString());
        }
Пример #9
0
        public void MissingCosmicId()
        {
            var annotatedVariant = DataUtilities.GetVariant(DataUtilities.EmptyCachePrefix, Resources.MiniSuppAnnot("chr1_26608814_26608815.nsa"),
                                                            "1	26608811	.	TCCAGGACAGGGACTGGGGCCGGGACCGGGACC	TCCGGGACC,TCCAGGACA	139	LowGQXHetAltDel	CIGAR=1M24D8M,9M24");

            Assert.NotNull(annotatedVariant);

            AssertUtilities.CheckAlleleCount(2, annotatedVariant);

            var altAllele  = JsonUtilities.GetAllele(annotatedVariant);
            var altAllele2 = JsonUtilities.GetAllele(annotatedVariant, 1);

            Assert.Contains(
                "\"cosmic\":[{\"id\":\"COSM4143711\",\"refAllele\":\"A\",\"altAllele\":\"G\",\"gene\":\"UBXN11\",\"sampleCount\":22,\"studies\":[{\"histology\":\"carcinoma\",\"primarySite\":\"upper aerodigestive tract\"},{\"id\":589,\"histology\":\"other\",\"primarySite\":\"thyroid\"}]}]",
                altAllele);

            Assert.DoesNotContain("\"cosmic\":", altAllele2);
        }
Пример #10
0
        public void AlleleMissingPhylop()
        {
            const string vcfLine    = "1	4004037	.	CG	CA,TG	0	LowDP;LowGQ	DP=0	GT:GQ:AD:VF:NL:SB:GQX	./.:0:0:0.000:20:-100.0000:0";
            var          vcfVariant = VcfUtilities.GetVcfVariant(vcfLine);

            var annotatedVariant = DataUtilities.GetVariant(DataUtilities.EmptyCachePrefix, vcfLine);

            Assert.NotNull(annotatedVariant);

            AssertUtilities.CheckAlleleCount(2, annotatedVariant);

            var altAllele = annotatedVariant.AnnotatedAlternateAlleles.First();

            DataUtilities.SetConservationScore(altAllele, "-0.344");

            var vcf             = new VcfConversion();
            var observedVcfLine = vcf.Convert(vcfVariant, annotatedVariant);

            Assert.Contains("phyloP=-0.344,.", observedVcfLine);
        }
Пример #11
0
        public void VepMissingRegulatoryFeature()
        {
            var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("ENSR00000554042_chr1_Ensembl84_reg"),
                                                            "1	225615945	.	T	C	.	PASS	SOMATIC;QSS=78;TQSS=1;NT=ref;QSS_NT=78;TQSS_NT=1;SGT=TT->CT;DP=159;MQ=60.00;MQ0=0;ALTPOS=44;ALTMAP=26;ReadPosRankSum=-0.92;SNVSB=0.00;PNOISE=0.00;PNOISE2=0.00;VQSR=9.59	DP:FDP:SDP:SUBDP:AU:CU:GU:TU	48:0:0:0:0,0:1,1:1,1:46,46	111:6:0:0:0,0:29,33:1,2:75,76");

            Assert.NotNull(annotatedVariant);

            AssertUtilities.CheckAlleleCount(1, annotatedVariant);

            var altAllele = annotatedVariant.AnnotatedAlternateAlleles.First();

            Assert.NotNull(altAllele);

            AssertUtilities.CheckRegulatoryCount(1, altAllele);

            var regulatoryRegion = altAllele.RegulatoryRegions.FirstOrDefault();

            Assert.NotNull(regulatoryRegion);
            Assert.Equal("ENSR00000554042", regulatoryRegion.ID);
        }
Пример #12
0
        public void IntronNumbers()
        {
            var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("ENST00000380060_chrX_Ensembl84"),
                                                            "chrX	17705850	rs397759640;rs5901624	C	CT	1815.96	PASS	.	.	.");

            Assert.NotNull(annotatedVariant);

            AssertUtilities.CheckAlleleCount(1, annotatedVariant);

            var altAllele = annotatedVariant.AnnotatedAlternateAlleles.First();

            Assert.NotNull(altAllele);

            AssertUtilities.CheckEnsemblTranscriptCount(1, altAllele);

            var transcript = altAllele.EnsemblTranscripts.FirstOrDefault();

            Assert.NotNull(transcript);

            Assert.Equal("1/7", transcript.Introns);

            AssertUtilities.CheckJsonContains("\"introns\":\"1/7\"", annotatedVariant);
        }
Пример #13
0
        public void AlleleSpecificPhylop()
        {
            const string vcfLine    = "1	4004037	.	CG	CA,TG	0	LowDP;LowGQ	DP=0	GT:GQ:AD:VF:NL:SB:GQX	./.:0:0:0.000:20:-100.0000:0";
            var          vcfVariant = VcfUtilities.GetVcfVariant(vcfLine);

            var annotatedVariant = DataUtilities.GetVariant(DataUtilities.EmptyCachePrefix, vcfLine);

            Assert.NotNull(annotatedVariant);

            AssertUtilities.CheckAlleleCount(2, annotatedVariant);

            var altAllele = annotatedVariant.AnnotatedAlternateAlleles.ElementAt(0);

            DataUtilities.SetConservationScore(altAllele, "-0.344");

            var altAllele2 = annotatedVariant.AnnotatedAlternateAlleles.ElementAt(1);

            DataUtilities.SetConservationScore(altAllele2, "0.135");

            var vcf             = new VcfConversion();
            var observedVcfLine = vcf.Convert(vcfVariant, annotatedVariant).Split('\t')[VcfCommon.InfoIndex];

            Assert.Contains("phyloP=-0.344,0.135", observedVcfLine);
        }
Пример #14
0
        public void NoPhylopScores()
        {
            const string vcfLine    = "1	103188976	rs35710136	CTCTA	ATATA,CTCTC	41	PASS	SNVSB=0.0;SNVHPOL=3;AA=.,a;GMAF=A|0.09465,A|0.4898;AF1000G=.,0.510184;phyloP=-0.094	GT:GQ:GQX:DP:DPF:AD	1/2:63:16:12:1:0,7,5";
            var          vcfVariant = VcfUtilities.GetVcfVariant(vcfLine);

            var annotatedVariant = DataUtilities.GetVariant(DataUtilities.EmptyCachePrefix, vcfLine);

            Assert.NotNull(annotatedVariant);

            AssertUtilities.CheckAlleleCount(2, annotatedVariant);

            var altAllele = annotatedVariant.AnnotatedAlternateAlleles.First();

            DataUtilities.SetConservationScore(altAllele, null);

            var altAllele2 = annotatedVariant.AnnotatedAlternateAlleles.ElementAt(1);

            DataUtilities.SetConservationScore(altAllele2, null);

            var vcf             = new VcfConversion();
            var observedVcfLine = vcf.Convert(vcfVariant, annotatedVariant).Split('\t')[VcfCommon.InfoIndex];

            Assert.DoesNotContain("phyloP", observedVcfLine);
        }