Ejemplo n.º 1
0
        private static void CheckSimpleCombinations(
            CalledAllele VarA, CalledAllele VarB, ConsensusBuilder cb,
            Genotype ExpectedGT, string ExpectedAlt,
            VariantComparisonCase ComparisonCase)
        {
            var AandB               = cb.CombineVariants(VarA, VarB, ComparisonCase);
            var BandA               = cb.CombineVariants(VarB, VarA, ComparisonCase);
            var AandNull            = cb.CombineVariants(VarA, null, VariantComparisonCase.CanNotCombine);
            var NullAndB            = cb.CombineVariants(null, VarB, VariantComparisonCase.CanNotCombine);
            int ExpectedAlleleCount = VarA.AlleleSupport + VarB.AlleleSupport;

            if (ComparisonCase == VariantComparisonCase.OneReferenceOneAlternate)
            {
                //for this test, we presume we are calling alternate.
                ExpectedAlleleCount = (VarA.Type == AlleleCategory.Snv) ? VarA.AlleleSupport : VarB.AlleleSupport;
            }

            //check alt-and-nocalls

            Assert.Equal(ExpectedGT, AandB.Genotype);
            Assert.Equal(VarA.ReferenceAllele, AandB.ReferenceAllele);
            Assert.Equal(ExpectedAlt, AandB.AlternateAllele);
            Assert.Equal(VarA.TotalCoverage + VarB.TotalCoverage, AandB.TotalCoverage);
            Assert.Equal(ExpectedAlleleCount, AandB.AlleleSupport);

            Assert.Equal(ExpectedGT, BandA.Genotype);
            Assert.Equal(VarA.ReferenceAllele, BandA.ReferenceAllele);
            Assert.Equal(ExpectedAlt, BandA.AlternateAllele);
            Assert.Equal(VarA.TotalCoverage + VarB.TotalCoverage, BandA.TotalCoverage);
            Assert.Equal(ExpectedAlleleCount, BandA.AlleleSupport);

            Assert.Equal(ConsensusBuilder.DoDefensiveGenotyping(VarA), AandNull.Genotype);
            Assert.Equal(VarA.ReferenceAllele, AandNull.ReferenceAllele);
            Assert.Equal(VarA.AlternateAllele, AandNull.AlternateAllele);
            Assert.Equal(VarA.TotalCoverage, AandNull.TotalCoverage);
            Assert.Equal(VarA.AlleleSupport, AandNull.AlleleSupport);

            Assert.Equal(ConsensusBuilder.DoDefensiveGenotyping(VarB), NullAndB.Genotype);
            Assert.Equal(VarB.ReferenceAllele, NullAndB.ReferenceAllele);
            Assert.Equal(VarB.AlternateAllele, NullAndB.AlternateAllele);
            Assert.Equal(VarB.TotalCoverage, NullAndB.TotalCoverage);
            Assert.Equal(VarB.AlleleSupport, NullAndB.AlleleSupport);
        }