public void UpstreamGeneVariant() { var sa = new SupplementaryAnnotationPosition(46107) { IsRefMinorAllele = true, GlobalMajorAllele = "G", GlobalMajorAlleleFrequency = "0.9029", GlobalMinorAllele = "A", GlobalMinorAlleleFrequency = "0.0971" }; var saReader = new MockSupplementaryAnnotationReader(sa); var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("ENST00000576171_chr17_Ensembl84"), saReader, "17 46107 . A . 153 LowGQX SNVSB=-20.1;SNVHPOL=4;GMAF=G|0.9988;RefMinor;CSQT=A||ENST00000576171|upstream_gene_variant GT:GQ:GQX:DP:DPF:AD 1/1:18:18:7:0:0,7"); Assert.NotNull(annotatedVariant); Assert.Contains("\"isReferenceMinorAllele\":true", annotatedVariant.ToString()); var altAllele = annotatedVariant.AnnotatedAlternateAlleles.FirstOrDefault(); Assert.NotNull(altAllele); const string expectedJsonLine = "{\"refAllele\":\"A\",\"begin\":46107,\"chromosome\":\"17\",\"end\":46107,\"globalMinorAllele\":\"A\",\"gmaf\":0.0971,\"isReferenceMinorAllele\":true,\"variantType\":\"SNV\",\"vid\":\"17:46107:A\",\"transcripts\":{\"ensembl\":[{\"transcript\":\"ENST00000576171.1\",\"bioType\":\"lincRNA\",\"geneId\":\"ENSG00000273172\",\"hgnc\":\"AC108004.2\",\"consequence\":[\"upstream_gene_variant\"],\"isCanonical\":true}]}}"; // ReSharper disable once PossibleNullReferenceException Assert.Equal(expectedJsonLine, altAllele.ToString()); }
public void EvsOutputTest() { var sa = new SupplementaryAnnotationPosition(115256529); var dbSnp = new DbSnpAnnotation { DbSnp = new List <long> { 121913237 } }; var evs = new EvsAnnotation { EvsAll = "0.0001", EvsCoverage = "102", NumEvsSamples = "3456" }; var saCreator = new SupplementaryPositionCreator(sa); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.Evs, "C", evs); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.DbSnp, "C", dbSnp); var saReader = new MockSupplementaryAnnotationReader(sa); VcfUtilities.FieldContains(saReader, "chr1\t115256529\t.\tT\tC\t1000\tPASS\t.\tGT\t0/1", "EVS=0.0001|102|3456", VcfCommon.InfoIndex); }
public void IntergenicVariant() { var sa = new SupplementaryAnnotationPosition(47960) { IsRefMinorAllele = true, GlobalMajorAllele = "A", GlobalMajorAlleleFrequency = "0.9239" }; var saReader = new MockSupplementaryAnnotationReader(sa); var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("ENST00000518655_chr1_Ensembl84"), saReader, "chr1 47960 . T . 1242.00 PASS SNVSB=-87.0;SNVHPOL=3"); Assert.NotNull(annotatedVariant); Assert.Contains("\"isReferenceMinorAllele\":true", annotatedVariant.ToString()); var altAllele = annotatedVariant.AnnotatedAlternateAlleles.FirstOrDefault(); Assert.NotNull(altAllele); // intergenic variant are not exposed in the JSON file AssertUtilities.CheckEnsemblTranscriptCount(0, altAllele); AssertUtilities.CheckRefSeqTranscriptCount(0, altAllele); }
public void AlleleFrequency1KgOutputTest() { var sa = new SupplementaryAnnotationPosition(115256529); var oneKg = new OneKGenAnnotation { OneKgAllAn = 5008, OneKgAllAc = 2130, OneKgAmrAn = 694, OneKgAmrAc = 250 }; var dbSnp = new DbSnpAnnotation { DbSnp = new List <long> { 11554290 } }; var saCreator = new SupplementaryPositionCreator(sa); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.OneKg, "C", oneKg); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.DbSnp, "C", dbSnp); var saReader = new MockSupplementaryAnnotationReader(sa); VcfUtilities.FieldContains(saReader, "chr1\t115256529\t.\tT\tC\t1000\tPASS\t.\tGT\t0/1", "AF1000G=0.425319", VcfCommon.InfoIndex); }
public void CosmicOutputTest() { var sa = new SupplementaryAnnotationPosition(115256529); var saCreator = new SupplementaryPositionCreator(sa); var altAllele = "C"; var cosmicItem1 = new CosmicItem("chr1", 115256529, "COSM1000", "T", altAllele, "TP53", new HashSet <CosmicItem.CosmicStudy> { new CosmicItem.CosmicStudy("", "carcinoma", "oesophagus") }, 1, altAllele); var cosmicItem2 = new CosmicItem("chr1", 115256529, "COSM1001", "T", altAllele, "TP53", new HashSet <CosmicItem.CosmicStudy> { new CosmicItem.CosmicStudy("01", "carcinoma", "large_intestine") }, 1, altAllele); cosmicItem1.AddCosmicToSa(saCreator); cosmicItem2.AddCosmicToSa(saCreator); var saReader = new MockSupplementaryAnnotationReader(sa); VcfUtilities.FieldContains(saReader, "chr1\t115256529\t.\tT\tC\t1000\tPASS\t.\tGT\t0/1", "cosmic=1|COSM1000", VcfCommon.InfoIndex); }
public void OneAlleleFreqMissing() { var sa = new SupplementaryAnnotationPosition(825069); var saCreator = new SupplementaryPositionCreator(sa); var dbSnp = new DbSnpAnnotation { DbSnp = new List <long> { 4475692 } }; var oneKg = new OneKGenAnnotation { OneKgAllAn = 5008, OneKgAllAc = 3392 }; saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.DbSnp, "C", dbSnp); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.OneKg, "C", oneKg); var saReader = new MockSupplementaryAnnotationReader(sa); VcfUtilities.FieldContains(saReader, "chr1 825069 rs4475692 G A,C 362.00 LowGQX;HighDPFRatio SNVSB=-36.9;SNVHPOL=3 GT:GQ:GQX:DP:DPF:AD 1/2:4:0:52:38:8,11,33", "AF1000G=.,0.677316", VcfCommon.InfoIndex); }
public void AllSuppAnnotOutputTest() { const string altAllele = "C"; var sa = new SupplementaryAnnotationPosition(115256529); var oneKg = new OneKGenAnnotation { OneKgAllAn = 5008, OneKgAllAc = 2130, OneKgAmrAn = 694, OneKgAmrAc = 250 }; var dbSnp = new DbSnpAnnotation { DbSnp = new List <long> { 11554290 } }; var saCreator = new SupplementaryPositionCreator(sa); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.OneKg, "C", oneKg); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.DbSnp, "C", dbSnp); var cosmicItem1 = new CosmicItem("chr1", 115256529, "COSM1000", "T", altAllele, "TP53", new HashSet <CosmicItem.CosmicStudy> { new CosmicItem.CosmicStudy("", "carcinoma", "oesophagus") }, 1, altAllele); var cosmicItem2 = new CosmicItem("chr1", 115256529, "COSM1001", "T", altAllele, "TP53", new HashSet <CosmicItem.CosmicStudy> { new CosmicItem.CosmicStudy("01", "carcinoma", "large_intestine") }, 1, altAllele); cosmicItem1.AddCosmicToSa(saCreator); cosmicItem2.AddCosmicToSa(saCreator); var clinvarItem1 = new ClinVarItem(null, 0, null, altAllele, null, "RCV001", null, null, new List <string> { "ORPHA2462" }, null, null, "other"); sa.ClinVarItems.Add(clinvarItem1); var saReader = new MockSupplementaryAnnotationReader(sa); var infoColumn = VcfUtilities.GetVcfColumn(saReader, "chr1\t115256529\t.\tT\tC\t1000\tPASS\t.\tGT\t0/1", VcfCommon.InfoIndex); Assert.Contains("AF1000G=0.425319", infoColumn); Assert.Contains("cosmic=1|COSM1000,1|COSM1001", infoColumn); Assert.Contains("clinvar=1|other", infoColumn); }
public void ClinVarOutputTest() { var sa = new SupplementaryAnnotationPosition(115256529); var clinvarItem1 = new ClinVarItem(null, 0, null, "C", null, "RCV001", null, null, new List <string> { "ORPHA2462" }, null, null, "other"); sa.ClinVarItems.Add(clinvarItem1); var saReader = new MockSupplementaryAnnotationReader(sa); VcfUtilities.FieldContains(saReader, "chr1\t115256529\t.\tT\tC\t1000\tPASS\t.\tGT\t0/1", "clinvar=1|other", VcfCommon.InfoIndex); }
public void NullVcfFieldTest() { var sa = new SupplementaryAnnotationPosition(9580071); var dbSnp = new DbSnpAnnotation { DbSnp = null }; var saCreator = new SupplementaryPositionCreator(sa); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.DbSnp, "T", dbSnp); var saReader = new MockSupplementaryAnnotationReader(sa); var idColumn = VcfUtilities.GetVcfColumn(saReader, "chr12\t9580071\t.\tA\tC,T\t394.00\tPASS\t.\tGT\t0/1", VcfCommon.IdIndex); Assert.NotNull(idColumn); }
public void DbSnpOutputTest() { var sa = new SupplementaryAnnotationPosition(115256529); var dbSnp = new DbSnpAnnotation { DbSnp = new List <long> { 11554290 } }; var saCreator = new SupplementaryPositionCreator(sa); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.DbSnp, "C", dbSnp); var saReader = new MockSupplementaryAnnotationReader(sa); VcfUtilities.FieldContains(saReader, "chr1\t115256529\t.\tT\tC\t1000\tPASS\t.\tGT\t0/1", "rs11554290", VcfCommon.IdIndex); }
public void MultipleDbSnpIds() { var sa = new SupplementaryAnnotationPosition(115256529); var dbSnp = new DbSnpAnnotation { DbSnp = new List <long> { 111, 222, 333 } }; var saCreator = new SupplementaryPositionCreator(sa); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.DbSnp, "C", dbSnp); var saReader = new MockSupplementaryAnnotationReader(sa); VcfUtilities.FieldContains(saReader, "chr1\t115256529\tMantaFluff\tT\tC\t1000\tPASS\t.\tGT\t0/1", "MantaFluff;rs111;rs222;rs333", VcfCommon.IdIndex); }
public void MultipleDbSnpIds() { var sa = new SupplementaryAnnotationPosition(115256529); var dbSnp = new DbSnpAnnotation { DbSnp = new List <long> { 111, 222, 333 } }; var saCreator = new SupplementaryPositionCreator(sa); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.DbSnp, "C", dbSnp); var saReader = new MockSupplementaryAnnotationReader(sa); var annotatedVariant = DataUtilities.GetVariant(DataUtilities.EmptyCachePrefix, saReader, "chr1 115256529 . T C 1000 PASS . GT 0/1"); Assert.NotNull(annotatedVariant); Assert.Contains("\"dbsnp\":[\"rs111\",\"rs222\",\"rs333\"]", annotatedVariant.ToString()); }
public void IntronVariant() { var sa = new SupplementaryAnnotationPosition(13302) { IsRefMinorAllele = true, GlobalMajorAllele = "T", GlobalMajorAlleleFrequency = "0.9239" }; var saReader = new MockSupplementaryAnnotationReader(sa); var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("ENST00000518655_chr1_Ensembl84"), saReader, "chr1 13302 . C . 1242.00 PASS SNVSB=-87.0;SNVHPOL=3"); Assert.NotNull(annotatedVariant); Assert.Contains("\"isReferenceMinorAllele\":true", annotatedVariant.ToString()); var transcriptAllele = annotatedVariant.AnnotatedAlternateAlleles.FirstOrDefault()?.EnsemblTranscripts.FirstOrDefault(); Assert.NotNull(transcriptAllele); // ReSharper disable once PossibleNullReferenceException Assert.Equal("intron_variant&non_coding_transcript_variant", string.Join("&", transcriptAllele.Consequence)); }
public void StartLost() { var sa = new SupplementaryAnnotationPosition(1558792) { IsRefMinorAllele = true, GlobalMajorAllele = "C", GlobalMajorAlleleFrequency = "0.9239" }; var saReader = new MockSupplementaryAnnotationReader(sa); var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("ENST00000487053_chr1_Ensembl84"), saReader, "chr1 1558792 . T . 1242.00 PASS SNVSB=-87.0;SNVHPOL=3;CSQ=C|ENSG00000197530|ENST00000487053|Transcript|initiator_codon_variant&NMD_transcript_variant|353|2|1|M/T|aTg/aCg|||ENST00000487053.1:c.2T>C|ENSP00000424615.1:p.Met1?|deleterious(0)||benign(0.036)||ENSP00000424615||3/21||MIB2|||||"); Assert.NotNull(annotatedVariant); Assert.Contains("\"isReferenceMinorAllele\":true", annotatedVariant.ToString()); var transcriptAllele = annotatedVariant.AnnotatedAlternateAlleles.FirstOrDefault()?.EnsemblTranscripts.FirstOrDefault(); Assert.NotNull(transcriptAllele); // ReSharper disable once PossibleNullReferenceException Assert.Equal("start_lost&NMD_transcript_variant", string.Join("&", transcriptAllele.Consequence)); }
public void SynonymousVariant() { var sa = new SupplementaryAnnotationPosition(115258746) { IsRefMinorAllele = true, GlobalMajorAllele = "G", GlobalMajorAlleleFrequency = "0.8239" }; var saReader = new MockSupplementaryAnnotationReader(sa); var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("ENST00000369535_chr1_Ensembl84"), saReader, "chr1 115258746 . A . 265.00 PASS SNVSB=-31.9;SNVHPOL=2 GT:GQ:GQX:DP:DPF:AD 0/1:254:40:56:1:26,30"); Assert.NotNull(annotatedVariant); Assert.Contains("\"isReferenceMinorAllele\":true", annotatedVariant.ToString()); var transcriptAllele = annotatedVariant.AnnotatedAlternateAlleles.FirstOrDefault()?.EnsemblTranscripts.FirstOrDefault(); Assert.NotNull(transcriptAllele); // ReSharper disable once PossibleNullReferenceException Assert.Equal("synonymous_variant", string.Join("&", transcriptAllele.Consequence)); }
public void SpliceVariants() { var sa = new SupplementaryAnnotationPosition(889158) { IsRefMinorAllele = true, GlobalMajorAllele = "G", GlobalMajorAlleleFrequency = "0.8239" }; var saReader = new MockSupplementaryAnnotationReader(sa); var annotatedVariant = DataUtilities.GetVariant(Resources.CacheGRCh37("ENST00000327044_chr1_Ensembl84"), saReader, "chr1 889158 . C . 1243.00 PASS SNVSB=-130.5;SNVHPOL=3;CSQ=C|ENSG00000188976|ENST00000327044|Transcript|splice_region_variant&intron_variant|||||||CCDS3.1|ENST00000327044.6:c.888+4C>G|||YES|||ENSP00000317992|||8/18|NOC2L||||| GT:GQ:GQX:DP:DPF:AD 1/1:313:26:105:9:0,105"); Assert.NotNull(annotatedVariant); Assert.Contains("\"isReferenceMinorAllele\":true", annotatedVariant.ToString()); var transcriptAllele = annotatedVariant.AnnotatedAlternateAlleles.FirstOrDefault()?.EnsemblTranscripts.FirstOrDefault(); Assert.NotNull(transcriptAllele); // ReSharper disable once PossibleNullReferenceException Assert.Equal("splice_region_variant&intron_variant", string.Join("&", transcriptAllele.Consequence)); }
public void MultiAlleleTest() { var sa = new SupplementaryAnnotationPosition(4634317); var oneKg1 = new OneKGenAnnotation { AncestralAllele = "C", OneKgAllAn = 5008, OneKgAllAc = 2049 }; var oneKg2 = new OneKGenAnnotation { AncestralAllele = "C", OneKgAllAn = 5008, OneKgAllAc = 1200 }; var dbSnp = new DbSnpAnnotation { DbSnp = new List <long> { 11078537 } }; var saCreator = new SupplementaryPositionCreator(sa); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.DbSnp, "A", dbSnp); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.DbSnp, "T", dbSnp); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.OneKg, "A", oneKg1); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.OneKg, "T", oneKg2); var saReader = new MockSupplementaryAnnotationReader(sa); VcfUtilities.FieldContains(saReader, "17\t4634317\trs11078537\tC\tA,T\t256\tPASS\t.\tGT\t0/1", "AF1000G=0.409145,0.239617", VcfCommon.InfoIndex); }