Example #1
0
 protected override void Context()
 {
     base.Context();
     _parameterIdentification = new ParameterIdentification();
     _parameterIdentification.Configuration.AlgorithmProperties = new OptimizationAlgorithmProperties("XX");
     _parameterIdentification.AddIdentificationParameter(DomainHelperForSpecs.IdentificationParameter());
 }
        protected override void Context()
        {
            base.Context();
            _parameterIdentification = new ParameterIdentification();
            var outputMapping = A.Fake <OutputMapping>();

            _parameterIdentification.AddOutputMapping(outputMapping);
            _parameterIdentification.AddIdentificationParameter(DomainHelperForSpecs.IdentificationParameter(min: 10, max: 20, startValue: 30));
            _parameterIdentification.Configuration.AlgorithmProperties = new OptimizationAlgorithmProperties("XX");
        }
Example #3
0
        protected override void Context()
        {
            base.Context();
            _parameterIdentification = new ParameterIdentification();
            var outputMapping = A.Fake <OutputMapping>();

            ConfigureOutputMapping(outputMapping);
            _parameterIdentification.AddOutputMapping(outputMapping);
            _parameterIdentification.AddIdentificationParameter(DomainHelperForSpecs.IdentificationParameter());
        }
Example #4
0
        protected override void Context()
        {
            sut = DomainHelperForSpecs.IdentificationParameter(min: 0, max: 1, startValue: 0.5);
            _parameterSelection = A.Fake <ParameterSelection>();
            _parameter          = new Parameter();
            A.CallTo(() => _parameterSelection.Parameter).Returns(_parameter);
            A.CallTo(() => _parameterSelection.IsValid).Returns(true);

            sut.AddLinkedParameter(_parameterSelection);
        }
        protected override void PerformExtraInitializationSteps()
        {
            _parameter3           = A.Fake <IParameter>();
            _parameter3.Dimension = DomainHelperForSpecs.ConcentrationDimensionForSpecs();
            _parameter3.Value     = 100;
            _parameterSelection3  = ParameterSelectionFor(_parameter3, "ParameterPath3");

            _fixedIdentificationParameter = DomainHelperForSpecs.IdentificationParameter("Fixed IdParam", min: 0, max: 200, startValue: 60, isFixed: true);
            _fixedIdentificationParameter.AddLinkedParameter(_parameterSelection3);
            _parameterIdentification.AddIdentificationParameter(_fixedIdentificationParameter);
        }
Example #6
0
        protected override void Context()
        {
            base.Context();
            _parameterIdentification = new ParameterIdentification();
            var outputMapping = A.Fake <OutputMapping>();

            ConfigureOutputMapping(outputMapping);
            A.CallTo(() => outputMapping.IsValid).Returns(false);
            _parameterIdentification.AddOutputMapping(outputMapping);
            _parameterIdentification.Configuration.AlgorithmProperties = new OptimizationAlgorithmProperties("XX");
            _parameterIdentification.AddIdentificationParameter(DomainHelperForSpecs.IdentificationParameter());
        }
Example #7
0
        protected override void Context()
        {
            base.Context();
            _parameterIdentification = new ParameterIdentification();
            var outputMapping = A.Fake <OutputMapping>();

            ConfigureOutputMapping(outputMapping);

            _parameterIdentification.AddOutputMapping(outputMapping);
            _parameterIdentification.AddIdentificationParameter(DomainHelperForSpecs.IdentificationParameter());
            _parameterIdentification.Configuration.AlgorithmProperties = new OptimizationAlgorithmProperties("XX");
            outputMapping.Output.Dimension = DomainHelperForSpecs.FractionDimensionForSpecs();
        }
Example #8
0
        protected override void Context()
        {
            sut = DomainHelperForSpecs.IdentificationParameter(min: 0.1, max: 10, startValue: 1.5);
            _parameterSelection = A.Fake <ParameterSelection>();
            _parameter          = new Parameter();
            A.CallTo(() => _parameterSelection.Parameter).Returns(_parameter);
            A.CallTo(() => _parameterSelection.IsValid).Returns(true);
            sut.UseAsFactor = true;

            sut.AddLinkedParameter(_parameterSelection);
            _parameter.Value        = 100;
            _parameter.MinValue     = 1;
            _parameter.MaxValue     = 1000;
            _parameter.MaxIsAllowed = true;
        }
        protected override void Context()
        {
            base.Context();
            _optimizedParameterValue = new OptimizedParameterValue("PARAM", 10, 20, 0, 0, Scalings.Linear);

            _parameterIdentification         = new ParameterIdentification();
            _identificationParameter         = DomainHelperForSpecs.IdentificationParameter("PARAM", 0.1, 100, 20);
            _identificationParameter.Scaling = Scalings.Log;


            _parameterIdentification.AddIdentificationParameter(_identificationParameter);
            var runResult = new ParameterIdentificationRunResult();

            runResult.BestResult.AddValue(_optimizedParameterValue);
            _parameterIdentification.AddResult(runResult);
        }
Example #10
0
        protected override void Context()
        {
            base.Context();
            _parameterIdentification = new ParameterIdentification();
            _parameterIdentification.Configuration.RunMode = new MultipleParameterIdentificationRunMode {
                NumberOfRuns = 3
            };
            A.CallTo(() => _cloneManager.Clone(_parameterIdentification)).ReturnsLazily(x =>
            {
                var clone = new ParameterIdentification();
                var ip    = DomainHelperForSpecs.IdentificationParameter(min: 10, max: 20, startValue: 15).WithName("PARA1");
                clone.AddIdentificationParameter(ip);

                var fixedIp = DomainHelperForSpecs.IdentificationParameter(min: 20, max: 40, startValue: 30, isFixed: true).WithName("PARA2");
                clone.AddIdentificationParameter(fixedIp);
                return(clone);
            });

            sut.Initialize(_parameterIdentification, 2, new RandomGenerator());
        }
Example #11
0
        protected override void Context()
        {
            base.Context();
            var parameter = new Parameter
            {
                Dimension    = DomainHelperForSpecs.TimeDimensionForSpecs(),
                Value        = 80,
                MinValue     = 20,
                MinIsAllowed = true,
                MaxValue     = 120,
                MaxIsAllowed = true
            };

            parameter.DisplayUnit = parameter.Dimension.Unit("h");
            A.CallTo(() => _parameterSelection.Parameter).Returns(parameter);
            A.CallTo(() => _parameterSelection.IsValid).Returns(true);
            sut = DomainHelperForSpecs.IdentificationParameter(min: 20, max: 120, startValue: 60);
            sut.AddLinkedParameter(_parameterSelection);

            sut.MaxValueParameter.Value = 200;
        }
Example #12
0
        protected override void Context()
        {
            base.Context();
            _dimension          = A.Fake <IDimension>();
            _parameterSelection = A.Fake <ParameterSelection>();
            A.CallTo(() => _parameterSelection.FullQuantityPath).Returns("P1");
            A.CallTo(() => _parameterSelection.Dimension).Returns(_dimension);
            _runResult.JacobianMatrix = new JacobianMatrix(new [] { _parameterSelection.FullQuantityPath });

            _identificationParameter = DomainHelperForSpecs.IdentificationParameter("IP1");
            _confidenceIntervals     = new Cache <string, double>();
            _confidenceIntervals.Add(_identificationParameter.Name, 5);

            A.CallTo(_confidenceIntervalCalculator).WithReturnType <ICache <string, double> >().Returns(_confidenceIntervals);
            A.CallTo(() => _runResult.BestResult.Values).Returns(new [] { new OptimizedParameterValue(_identificationParameter.Name, 10, 20) });
            A.CallTo(() => _parameterIdentification.IdentificationParameterByName(_identificationParameter.Name)).Returns(_identificationParameter);

            _identificationParameter.AddLinkedParameter(_parameterSelection);

            A.CallTo(() => _dimension.BaseUnitValueToUnitValue(_identificationParameter.StartValueParameter.DisplayUnit, 5)).Returns(50);
            A.CallTo(() => _dimension.BaseUnitValueToUnitValue(_identificationParameter.StartValueParameter.DisplayUnit, 10)).Returns(100);
        }
        protected override void Context()
        {
            _modelCoreSimulationMapper   = A.Fake <ISimulationToModelCoreSimulationMapper>();
            _residualCalculatorFactory   = A.Fake <IResidualCalculatorFactory>();
            _timeGridUpdater             = A.Fake <ITimeGridUpdater>();
            _simModelBatchFactory        = A.Fake <ISimModelBatchFactory>();
            _optimizationAlgorithmMapper = A.Fake <IParameterIdentificationAlgorithmToOptmizationAlgorithmMapper>();
            _outputSelectionUpdater      = A.Fake <IOutputSelectionUpdater>();
            _coreUserSettings            = A.Fake <ICoreUserSettings>();
            _jacobianMatrixCalculator    = A.Fake <IJacobianMatrixCalculator>();

            _coreUserSettings.MaximumNumberOfCoresToUse = 2;
            sut = new ParameterIdentificationRun(_residualCalculatorFactory, _timeGridUpdater, _simModelBatchFactory, _modelCoreSimulationMapper,
                                                 _optimizationAlgorithmMapper, _outputSelectionUpdater, _coreUserSettings, _jacobianMatrixCalculator);

            _simulation           = A.Fake <ISimulation>();
            _parameter1           = A.Fake <IParameter>();
            _parameter1.Dimension = DomainHelperForSpecs.ConcentrationDimensionForSpecs();
            _parameter1.Value     = 15;
            _parameter2           = A.Fake <IParameter>();
            _parameter2.Value     = 35;
            _parameter2.Dimension = DomainHelperForSpecs.ConcentrationDimensionForSpecs();

            _parameterIdentification = new ParameterIdentification();
            _parameterIdentification.Configuration.LLOQMode       = LLOQModes.OnlyObservedData;
            _parameterIdentification.Configuration.RemoveLLOQMode = RemoveLLOQModes.NoTrailing;

            _parameterIdentification.AddSimulation(_simulation);

            _parameterSelection1 = ParameterSelectionFor(_parameter1, "ParameterPath1");
            _parameterSelection2 = ParameterSelectionFor(_parameter2, "ParameterPath2");

            _identificationParameter = DomainHelperForSpecs.IdentificationParameter("IdParam", min: 10, max: 20, startValue: 15);

            _identificationParameter.AddLinkedParameter(_parameterSelection1);
            _identificationParameter.AddLinkedParameter(_parameterSelection2);

            _modelCoreSimulation = A.Fake <IModelCoreSimulation>();

            A.CallTo(() => _modelCoreSimulationMapper.MapFrom(_simulation, true)).Returns(_modelCoreSimulation);

            _outputMapping = A.Fake <OutputMapping>();
            A.CallTo(() => _outputMapping.UsesSimulation(_simulation)).Returns(true);
            A.CallTo(() => _outputMapping.WeightedObservedData.ObservedData).Returns(DomainHelperForSpecs.ObservedData());
            _parameterIdentification.AddOutputMapping(_outputMapping);

            _simModelBatch = A.Fake <ISimModelBatch>();
            A.CallTo(() => _simModelBatchFactory.Create()).Returns(_simModelBatch);

            _parameterIdentification.AddIdentificationParameter(_identificationParameter);

            _residualCalculator = A.Fake <IResidualCalculator>();
            A.CallTo(_residualCalculatorFactory).WithReturnType <IResidualCalculator>().Returns(_residualCalculator);

            _algorithm = A.Fake <IOptimizationAlgorithm>();
            A.CallTo(() => _optimizationAlgorithmMapper.MapFrom(_parameterIdentification.AlgorithmProperties)).Returns(_algorithm);

            _cancellationTokenSource = new CancellationTokenSource();
            _cancellationToken       = _cancellationTokenSource.Token;

            _runInitializer = A.Fake <IParameterIdentifcationRunInitializer>();
            A.CallTo(() => _runInitializer.InitializeRun()).ReturnsAsync(_parameterIdentification);

            PerformExtraInitializationSteps();
            sut.InitializeWith(_runInitializer);
        }
Example #14
0
 protected override void Context()
 {
     sut = DomainHelperForSpecs.IdentificationParameter(min: 5, max: 20, startValue: 10);
 }
 private IdentificationParameter createIdentificationParameter(string name, double value, double min, double max)
 {
     return(DomainHelperForSpecs.IdentificationParameter(name, min, max, value));
 }
Example #16
0
 protected override void Context()
 {
     base.Context();
     sut = DomainHelperForSpecs.IdentificationParameter(min: 20, max: 120, startValue: 60);
 }
        public override void GlobalContext()
        {
            base.GlobalContext();
            _observedData = DomainHelperForSpecs.ObservedData();
            _sim1         = new IndividualSimulation
            {
                Id       = "Sim1",
                Name     = "Sim1",
                IsLoaded = true,
                Model    = new Model {
                    Root = new Container()
                }
            };
            _sim1.Model.Root.Add(new Container {
                new Parameter().WithName("P")
            }.WithName("Liver"));
            _sim2 = new IndividualSimulation
            {
                Id       = "Sim2",
                Name     = "Sim2",
                IsLoaded = true,
                Model    = new Model {
                    Root = new Container()
                }
            };
            _sim2.Model.Root.Add(new Container {
                new Parameter().WithName("P")
            }.WithName("Liver"));

            _objectBaseRepository = IoC.Resolve <IWithIdRepository>();
            var workspace = IoC.Resolve <ICoreWorkspace>();

            _project          = IoC.Resolve <PKSimProject>();
            workspace.Project = _project;
            _objectBaseRepository.Register(_sim1);
            _objectBaseRepository.Register(_sim2);
            _project.AddObservedData(_observedData);
            _project.AddBuildingBlock(_sim1);
            _project.AddBuildingBlock(_sim2);

            _parameterIdentification = new ParameterIdentification();
            _parameterIdentification.AddSimulation(_sim1);
            _parameterIdentification.AddSimulation(_sim2);

            _outputMapping = new OutputMapping
            {
                WeightedObservedData = new WeightedObservedData(_observedData),
                OutputSelection      = new SimulationQuantitySelection(_sim1, new QuantitySelection("A|B", QuantityType.Metabolite)),
                Weight  = 5,
                Scaling = Scalings.Log
            };

            _outputMapping.WeightedObservedData.Weights[1] = 10;
            _parameterIdentification.AddOutputMapping(_outputMapping);

            _identificationParameter = DomainHelperForSpecs.IdentificationParameter(min: 1, max: 10, startValue: 5);

            _parameterSelection1 = new ParameterSelection(_sim1, new QuantitySelection("Liver|P", QuantityType.Parameter));
            _parameterSelection2 = new ParameterSelection(_sim2, new QuantitySelection("Liver|P", QuantityType.Parameter));
            _identificationParameter.AddLinkedParameter(_parameterSelection1);
            _identificationParameter.AddLinkedParameter(_parameterSelection2);
            _parameterIdentification.AddIdentificationParameter(_identificationParameter);
            _identificationParameter.Scaling = Scalings.Linear;

            _parameterIdentification.Configuration.AlgorithmProperties = new OptimizationAlgorithmProperties("AA");
            _parameterIdentification.AlgorithmProperties.Add(new ExtendedProperty <double> {
                Name = "Toto", Value = 5
            });

            _runResult = new ParameterIdentificationRunResult();

            _parameterIdentification.AddResult(_runResult);

            _parameterIdentification.AddAnalysis(new ParameterIdentificationPredictedVsObservedChart());
            _parameterIdentification.AddAnalysis(new ParameterIdentificationTimeProfileChart());
            _parameterIdentification.AddAnalysis(new ParameterIdentificationResidualHistogram());
            _parameterIdentification.AddAnalysis(new ParameterIdentificationResidualVsTimeChart());

            GlobalBecause();
        }