예제 #1
0
        public void IdentifyConflictingItems()
        {
            var sequence = new SimpleSequence(new string('A', VariantUtils.MaxUpstreamLength) + "TAAGCCAGCCAGCCAGCCAAGCTGGCCAAGCCAGACAGGCAGCCAAGCCAACCAAGACACCCAGGCAGCCAAGCCAGC", 16558315 - VariantUtils.MaxUpstreamLength);

            var refNameToChrom = new Dictionary <string, IChromosome> {
                { "22", Chrom22 }
            };

            var sequenceProvider = new SimpleSequenceProvider(GenomeAssembly.GRCh38, sequence, refNameToChrom);

            var gnomadReader = new GnomadReader(new StreamReader(GetConflictingItemsStream()), sequenceProvider);

            var items = new List <ISupplementaryDataItem>();

            foreach (GnomadItem item in gnomadReader.GetItems())
            {
                //item.Trim();
                if (item.Position == 16558315)
                {
                    items.Add(item);
                }
            }

            items = SuppDataUtilities.RemoveConflictingAlleles(items, false);

            //two if the items were removed as conflicting items
            Assert.Equal(3, items.Count);
        }
예제 #2
0
        private static IEnumerable <ISupplementaryDataItem> GetConflictingGnomadItems()
        {
            var sequence         = new SimpleSequence(new string('T', VariantUtils.MaxUpstreamLength) + "AAAGAAAGAAAG", 17467787 - 1 - VariantUtils.MaxUpstreamLength);
            var sequenceProvider = new SimpleSequenceProvider(GenomeAssembly.GRCh38, sequence, ChromosomeUtilities.RefNameToChromosome);

            var gnomadReader = new GnomadReader(new StreamReader(GetChr22_17467787_17467799_genome()), null, sequenceProvider);

            return(gnomadReader.GetCombinedItems());
        }
예제 #3
0
        public void GetItems_test()
        {
            var sequence = new SimpleSequence(new string('T', VariantUtils.MaxUpstreamLength) + "A" + new string('T', 10146 - 10128) + "AC" + new string('T', 10177 - 10146 - 1) + "A", 10128 - 1 - VariantUtils.MaxUpstreamLength);

            var seqProvider  = new SimpleSequenceProvider(GenomeAssembly.GRCh37, sequence, _chromDict);
            var gnomadReader = new TopMedReader(new StreamReader(GetStream()), seqProvider);

            var items = gnomadReader.GetItems().ToList();

            Assert.Equal(3, items.Count);
            Assert.Equal("\"allAf\":0.00266,\"allAn\":125568,\"allAc\":334,\"allHc\":0,\"failedFilter\":true", items[0].GetJsonString());
        }
예제 #4
0
        public void GetItems_test()
        {
            var sequence = new SimpleSequence(new string('T', VariantUtils.MaxUpstreamLength) + "G" + new string('T', 13289 - 13284) + "C" + new string('T', 13313 - 13289) + "T", 13284 - 1 - VariantUtils.MaxUpstreamLength);

            var seqProvider = new SimpleSequenceProvider(GenomeAssembly.GRCh37, sequence, ChromosomeUtilities.RefNameToChromosome);
            var reader      = new AncestralAlleleReader(new StreamReader(GetAncestralAlleleStream()), seqProvider);

            var items = reader.GetItems().ToList();

            Assert.Equal(3, items.Count);
            Assert.Equal("\"g\"", items[0].GetJsonString());
        }
예제 #5
0
        public void GetItems_test()
        {
            var sequence = new SimpleSequence(new string('A', VariantUtils.MaxUpstreamLength) + "T" + new string('G', 10329 - 10285) + "AC", 10284 - VariantUtils.MaxUpstreamLength);

            var sequenceProvider = new SimpleSequenceProvider(GenomeAssembly.GRCh37, sequence, ChromosomeUtilities.RefNameToChromosome);

            var reader = new DbSnpReader(GetStream(), sequenceProvider);

            var items = reader.GetItems().ToList();

            Assert.Equal(3, items.Count);
            Assert.Equal("\"rs866375379\"", items[0].GetJsonString());
        }
예제 #6
0
        public void GetItems_test()
        {
            var sequence = new SimpleSequence(new string('A', VariantUtils.MaxUpstreamLength) + "TGTGTTGTTATTCTGTGTGCAT", 10114 - VariantUtils.MaxUpstreamLength);

            var refNameToChrom = new Dictionary <string, IChromosome> {
                { "1", Chrom1 }
            };

            var sequenceProvider = new SimpleSequenceProvider(GenomeAssembly.GRCh38, sequence, refNameToChrom);

            var gnomadReader = new GnomadReader(new StreamReader(GetGnomadStream()), sequenceProvider);

            var items = gnomadReader.GetItems().ToList();

            Assert.Equal(2, items.Count);
            Assert.Equal("\"coverage\":218,\"failedFilter\":true,\"allAf\":0,\"allAn\":8734,\"allAc\":0,\"allHc\":0,\"afrAf\":0,\"afrAn\":2168,\"afrAc\":0,\"afrHc\":0,\"amrAf\":0,\"amrAn\":324,\"amrAc\":0,\"amrHc\":0,\"easAf\":0,\"easAn\":438,\"easAc\":0,\"easHc\":0,\"finAf\":0,\"finAn\":1296,\"finAc\":0,\"finHc\":0,\"nfeAf\":0,\"nfeAn\":4054,\"nfeAc\":0,\"nfeHc\":0,\"asjAf\":0,\"asjAn\":100,\"asjAc\":0,\"asjHc\":0,\"othAf\":0,\"othAn\":354,\"othAc\":0,\"othHc\":0", items[0].GetJsonString());
        }
예제 #7
0
        public void LeftShiftingItems()
        {
            var sequence = new SimpleSequence(new string('A', VariantUtils.MaxUpstreamLength) + "GCGCGC", 157100394 - 1 - VariantUtils.MaxUpstreamLength);

            var refNameToChrom = new Dictionary <string, IChromosome> {
                { "6", new Chromosome("chr6", "6", 6) }
            };

            var sequenceProvider = new SimpleSequenceProvider(GenomeAssembly.GRCh38, sequence, refNameToChrom);

            var gnomadReader = new GnomadReader(new StreamReader(GetShiftingItemsStream()), sequenceProvider);

            var items = gnomadReader.GetItems().ToList();

            Assert.Equal(3, items.Count);
            Assert.Equal(157100397, items[0].Position);
            Assert.Equal(157100397, items[1].Position);
            Assert.Equal(157100397, items[2].Position);
        }