public void Compute() { // Based on Tamsen's original PValue test, just extended to our Compute method List <int[]> SampleValues_ExpectedQScore = new List <int[]>() //coverage,var calls} { new int[] { 100, 0, 0 }, new int[] { 100, 1, 2 }, new int[] { 100, 5, 24 }, new int[] { 200, 10, 43 }, new int[] { 500, 25, 98 }, new int[] { 5000, 250, 100 }, }; foreach (int[] item in SampleValues_ExpectedQScore) { var variant = new CalledVariant(AlleleCategory.Snv) { Coordinate = 1, Reference = "A", Alternate = "T", TotalCoverage = item[0], AlleleSupport = item[1], }; QualityCalculator.Compute(variant, 100, 20); Assert.Equal(item[2], variant.Qscore); } }
private void ProcessVariant(IStateManager source, BaseCalledAllele variant) { // determine metrics CoverageCalculator.Compute(variant, source); QualityCalculator.Compute(variant, _config.MaxVariantQscore, _config.EstimatedBaseCallQuality); StrandBiasCalculator.Compute(variant, variant.SupportByDirection, _config.EstimatedBaseCallQuality, _config.StrandBiasFilterThreshold, _config.StrandBiasModel); // set genotype, filter, etc AlleleProcessor.Process(variant, _config.GenotypeModel, _config.MinFrequency, _config.MinCoverage, _config.VariantQscoreFilterThreshold, _config.FilterSingleStrandVariants); }