private static List <MixtureModel> ApplyModels(string vcfIn, string modelFile, List <RecalibratedVariantsCollection> variants)
        {
            List <MixtureModelParameters> modelParams = MixtureModel.ReadModelsFile(modelFile);
            var models = new List <MixtureModel>();

            Logger.WriteToLog("Applying models");
            for (int i = 0; i < variants.Count; i++)
            {
                models.Add(MixtureModel.UsePrefitModel(variants[i].Ad, variants[i].Dp, modelParams[i].Means, modelParams[i].Priors));
            }

            return(models);
        }
        public void RecalibratedVariantModelAndIndexerTests()
        {
            var modelsFile = Path.Combine(TestPaths.LocalTestDataDirectory, "example.model");
            List <MixtureModelParameters> models = MixtureModel.ReadModelsFile(modelsFile);

            var mm = MixtureModel.UsePrefitModel(RecalCollection.Ad, RecalCollection.Dp, models[0].Means, models[0].Priors);

            RecalCollection.AddMixtureModelResults(mm);

            Assert.Equal(14, RecalCollection.Categories.Count);
            Assert.Equal(14, RecalCollection.QScores.Count);

            RecalibratedVariant variant1 = RecalCollection["chr1:115252176"];

            Assert.Equal(SimplifiedDiploidGenotype.HeterozygousAltRef, variant1.MixtureModelResult.GenotypeCategory);
            RecalibratedVariant variant2 = RecalCollection["chr1:115252177"];

            Assert.Equal(SimplifiedDiploidGenotype.HomozygousAlt, variant2.MixtureModelResult.GenotypeCategory);
        }
        private static AdaptiveGenotypingParameters UpdateAdaptiveGenotypingParameters(AdaptiveGenotypingParameters parameters, string inputModelFilePath)
        {
            if (File.Exists(inputModelFilePath))
            {
                var newModels = MixtureModel.ReadModelsFile(inputModelFilePath);

                parameters.SnvModel = newModels[0].Means;
                parameters.SnvPrior = newModels[0].Priors;

                parameters.IndelModel = newModels[1].Means;
                parameters.IndelPrior = newModels[1].Priors;
            }
            else
            {
                throw new ArgumentException("No AdaptiveGT model file found at " + inputModelFilePath);
            }


            return(parameters);
        }
        public AdaptiveGtWriterTests()
        {
            List <MixtureModelParameters> modelParameters = MixtureModel.ReadModelsFile(
                Path.Combine(TestPaths.LocalTestDataDirectory, "example.model"));

            DefaultResults = new RecalibrationResults
            {
                SnvResults = new RecalibrationResult
                {
                    Means    = modelParameters[0].Means,
                    Priors   = modelParameters[0].Priors,
                    Variants = new RecalibratedVariantsCollection()
                },
                IndelResults = new RecalibrationResult
                {
                    Means    = modelParameters[1].Means,
                    Priors   = modelParameters[1].Priors,
                    Variants = new RecalibratedVariantsCollection()
                }
            };
        }
        private static List <MixtureModelParameters> ReadAdaptiveGenotypingParametersFromFile(string value)
        {
            var ListOfMixtureModels = MixtureModel.ReadModelsFile(value);

            return(ListOfMixtureModels);
        }