protected override void Context() { base.Context(); _numberOfVariations = 5; _pkParameter1 = new QuantityPKParameter { QuantityPath = "Output1", Name = "AUC" }; _pkParameter1.SetNumberOfIndividuals(_numberOfVariations); _pkParameter1.SetValue(0, 10); _pkParameter1.SetValue(1, 11); _pkParameter1.SetValue(2, 12); _pkParameter1.SetValue(4, _defaultPK1Value); _pkParameter2 = new QuantityPKParameter { QuantityPath = "Output2", Name = "Cmax" }; _pkParameter2.SetNumberOfIndividuals(_numberOfVariations); _pkParameter2.SetValue(0, 20); _pkParameter2.SetValue(1, 21); _pkParameter2.SetValue(2, 22); _pkParameter2.SetValue(3, 23); _pkParameter2.SetValue(4, _defaultPK2Value); _sensitivityParameter1 = A.Fake <SensitivityParameter>().WithName("SP1"); A.CallTo(() => _sensitivityParameter1.DefaultValue).Returns(10); _sensitivityParameter2 = A.Fake <SensitivityParameter>().WithName("SP2"); A.CallTo(() => _sensitivityParameter2.DefaultValue).Returns(20); _sensitivityParameter3 = A.Fake <SensitivityParameter>().WithName("SP3"); A.CallTo(() => _sensitivityParameter3.DefaultValue).Returns(0); A.CallTo(() => _sensitivityParameter3.VariationRangeValue).Returns(0.8); _pkAnalyses.AddPKAnalysis(_pkParameter1); _pkAnalyses.AddPKAnalysis(_pkParameter2); _sensitivityAnalysis.AddSensitivityParameter(_sensitivityParameter1); _sensitivityAnalysis.AddSensitivityParameter(_sensitivityParameter2); _sensitivityAnalysis.AddSensitivityParameter(_sensitivityParameter3); var pv11 = new ParameterVariation { ParameterName = _sensitivityParameter1.Name, VariationId = 0, Variation = new[] { 15d, 200d, 300d } }; var pv12 = new ParameterVariation { ParameterName = _sensitivityParameter1.Name, VariationId = 1, Variation = new[] { 20d, 200d, 300d } }; var pv21 = new ParameterVariation { ParameterName = _sensitivityParameter2.Name, VariationId = 2, Variation = new[] { 100d, 21d, 300d } }; var pv22 = new ParameterVariation { ParameterName = _sensitivityParameter2.Name, VariationId = 3, Variation = new[] { 100d, 31d, 300d } }; _variationData.DefaultValues = new[] { 100d, 200d, 300d }; _variationData.AddVariation(pv11); _variationData.AddVariation(pv12); _variationData.AddVariation(pv21); _variationData.AddVariation(pv22); }
protected override void Context() { base.Context(); sut.PKAnalyses = A.Fake <PopulationSimulationPKAnalyses>(); _pkParameter = A.Fake <QuantityPKParameter>(); A.CallTo(() => _pkParameter.Values).Returns(new[] { 1f, 2, 3 }); A.CallTo(() => sut.PKAnalyses.PKParameterFor("Path", "Cmax")).Returns(_pkParameter); }
protected override void Context() { base.Context(); _pkParameter = new QuantityPKParameter { QuantityPath = "Path", Name = "toto" }; A.CallTo(() => _pkParameterRepository.DisplayNameFor(_pkParameter.Name)).Returns("totoDisplay"); }
protected override void Context() { base.Context(); _pkParameter = new QuantityPKParameter(); _populationPivotAnalysis = new PopulationPivotAnalysis(); _populationDataCollector = A.Fake <IPopulationDataCollector>(); _field = A.Fake <PopulationAnalysisPKParameterField>(); sut.StartAnalysis(_populationDataCollector, _populationPivotAnalysis); }
private void validateLength(PopulationSimulation populationSimulation, QuantityPKParameter pkParameter, SimulationPKParametersImport importedPKParameter) { if (pkParameter.Count == populationSimulation.NumberOfItems) { return; } importedPKParameter.AddError(PKSimConstants.Error.NotEnoughPKValuesForParameter(pkParameter.Name, pkParameter.QuantityPath, populationSimulation.NumberOfItems, pkParameter.Count)); }
protected override async Task Context() { await base.Context(); _importedPKParameter = A.Fake <QuantityPKParameter>(); _importedPKParameter.QuantityPath = "Quantity"; A.CallTo(() => _importedPKParameter.Count).Returns(10); A.CallTo(() => _populationSimulation.NumberOfItems).Returns(15); _importedPKParameters.Add(_importedPKParameter); }
protected override void Context() { base.Context(); _importedPKParameter = A.Fake <QuantityPKParameter>(); _importedPKParameter.QuantityPath = "Quantity"; _availableQuantities[_importedPKParameter.QuantityPath] = new Observer(); A.CallTo(() => _importedPKParameter.Count).Returns(10); A.CallTo(() => _populationSimulation.NumberOfItems).Returns(15); _importedPKParameters.Add(_importedPKParameter); }
private QuantityPKParameterDTO mapFrom(QuantityPKParameter quantityPKParameter, string quantityDisplayPath) { return(new QuantityPKParameterDTO { DisplayName = _pkParameterRepository.DisplayNameFor(quantityPKParameter.Name), PKParameter = quantityPKParameter, QuantityDisplayPath = quantityDisplayPath, Description = _pkParameterRepository.DescriptionFor(quantityPKParameter.Name) }); }
private PopulationAnalysisPKParameterField createFieldFrom(QuantityPKParameter pkParameter, string quantityDisplayPath) { var quantity = _allQuantities[pkParameter.QuantityPath]; if (quantity == null) { return(null); } return(_populationAnalysisFieldFactory.CreateFor(pkParameter, quantity.QuantityType, quantityDisplayPath)); }
public PopulationAnalysisPKParameterField CreateFor(QuantityPKParameter pkParameter, QuantityType quantityType, string quantityDisplayPath) { return(new PopulationAnalysisPKParameterField { Name = new[] { quantityDisplayPath, _pkParameterRepository.DisplayNameFor(pkParameter.Name) }.ToPathString(), QuantityPath = pkParameter.QuantityPath, QuantityType = quantityType, PKParameter = pkParameter.Name, Dimension = pkParameter.Dimension, }); }
private void addValues(QuantityPKParameter pkParameter, CsvReader csv) { if (!_valuesCache.Contains(pkParameter)) { _valuesCache.Add(pkParameter, new List <Tuple <int, float> >()); } var coreUnit = convertValueToCoreValue(pkParameter.Dimension, csv.DoubleAt(VALUE), csv[UNIT]); _valuesCache[pkParameter].Add(new Tuple <int, float>(csv.IntAt(INDIVIDUAL_ID), coreUnit.ToFloat())); }
protected override void Context() { base.Context(); _importedPKParameter = A.Fake <QuantityPKParameter>(); _existingPKParameter = A.Fake <QuantityPKParameter>(); _importedPKParameter.QuantityPath = "Quantity"; _availableQuantities[_importedPKParameter.QuantityPath] = new Observer(); A.CallTo(() => _importedPKParameter.Id).Returns("IMPORTED PARAMETER"); A.CallTo(() => _importedPKParameter.ToString()).Returns(_importedPKParameter.Id); _importedPKParameters.Add(_importedPKParameter); A.CallTo(() => _pkAnalyses.PKParameterBy(_importedPKParameter.Id)).Returns(_existingPKParameter); }
protected override async Task Context() { await base.Context(); _importedPKParameter = A.Fake <QuantityPKParameter>(); _existingPKParameter = A.Fake <QuantityPKParameter>(); _importedPKParameter.QuantityPath = "Quantity"; A.CallTo(() => _importedPKParameter.Id).Returns("IMPORTED PARAMETER"); A.CallTo(() => _importedPKParameter.ToString()).Returns(_importedPKParameter.Id); _importedPKParameters.Add(_importedPKParameter); A.CallTo(() => _pkAnalyses.PKParameterBy(_importedPKParameter.Id)).Returns(_existingPKParameter); }
protected override void Context() { base.Context(); _context = A.Fake <IExecutionContext>(); _pkParameter1 = A.Fake <QuantityPKParameter>(); A.CallTo(() => _pkParameter1.Id).Returns("Id1"); _pkParameter2 = A.Fake <QuantityPKParameter>(); A.CallTo(() => _pkParameter2.Id).Returns("Id2"); _pkParameters.Add(_pkParameter1); _pkParameters.Add(_pkParameter2); _pkAnalysis = new PopulationSimulationPKAnalyses(); _populationSimulation.PKAnalyses = _pkAnalysis; }
protected override void Context() { base.Context(); _quantityPKParameter1 = new QuantityPKParameter { QuantityPath = "Path1", Name = "AUC" }; _quantityPKParameter2 = new QuantityPKParameter { QuantityPath = "Path1", Name = "C_max" }; _pop_pk = new PopulationSimulationPKAnalyses(); _pop_pk.AddPKAnalysis(_quantityPKParameter1); _pop_pk.AddPKAnalysis(_quantityPKParameter2); }
protected override void Context() { base.Context(); _population = A.Fake <IPopulationDataCollector>(); _pkParameter = new QuantityPKParameter { Dimension = A.Fake <IDimension>(), Name = "toto", QuantityPath = "A|B|C" }; A.CallTo(() => _pkParameterRepository.DisplayNameFor(_pkParameter.Name)).Returns("totoDisplay"); _settings = new DistributionSettings(); _displayUnit = A.Fake <Unit>(); _data = new ContinuousDistributionData(AxisCountMode.Count, 10); A.CallTo(() => _displayUnitRetriever.PreferredUnitFor(_pkParameter.Dimension)).Returns(_displayUnit); A.CallTo(() => _distributionDataCreator.CreateFor(_population, _settings, _pkParameter, _pkParameter.Dimension, _displayUnit)).Returns(_data); }
protected override void Context() { base.Context(); _displayUnit = A.Fake <Unit>(); _mergedDimension = A.Fake <IDimension>(); _pkParameterDimension = A.Fake <IDimension>(); _pkParameter = new QuantityPKParameter().WithName("AUC").WithDimension(_pkParameterDimension); _pkParameterField = new PopulationAnalysisPKParameterField().WithDimension(_pkParameterDimension); _pkParameterField.DisplayUnit = _displayUnit; A.CallTo(() => _dimensionRepository.MergedDimensionFor(A <NumericFieldContext> ._)) .Invokes(x => _numericFieldContect = x.GetArgument <NumericFieldContext>(0)) .Returns(_mergedDimension); }
private QuantityPKParameter createPKAnalyses(string path) { var pk = new QuantityPKParameter { QuantityPath = path }; pk.Name = "AUC"; for (int i = 0; i < _numberOfIndividuals; i++) { pk.SetValue(i, (float)_random.NextDouble() * 100); } return(pk); }
protected override void Context() { base.Context(); _populationSimulation = A.Fake <PopulationSimulation>(); _pkParameter1 = new QuantityPKParameter(); _pkParameter2 = new QuantityPKParameter(); _pkAnalyses = new List <QuantityPKParameter> { _pkParameter1, _pkParameter2 }; _importSimulationResultsPresenter = A.Fake <IImportSimulationPKAnalysesPresenter>(); A.CallTo(() => _applicationController.Start <IImportSimulationPKAnalysesPresenter>()).Returns(_importSimulationResultsPresenter); A.CallTo(() => _importSimulationResultsPresenter.ImportPKAnalyses(_populationSimulation)).Returns(_pkAnalyses); A.CallTo(() => _buildingBlockTask.AddCommandToHistory(A <IPKSimCommand> ._)) .Invokes(x => _command = x.GetArgument <IPKSimCommand>(0)); }
private QuantityPKParameter retrieveOrCreatePKParameterFor(CsvReader csv) { var parameterName = csv[PARAMETER_NAME]; var quantityPath = csv[QUANTITY_PATH]; var id = QuantityPKParameter.CreateId(quantityPath, parameterName); if (!_importedPK.Contains(id)) { var dimension = findDimensionFor(csv[UNIT]); var pkParameter = new QuantityPKParameter { Name = parameterName, QuantityPath = quantityPath, Dimension = dimension }; _importedPK.Add(pkParameter); } return(_importedPK[id]); }
public void TestSerialization() { var x1 = new QuantityPKParameter { Name = "C_max", Dimension = DimensionMassConcentration, QuantityPath = "A|B|C" }; x1.SetValue(1, 5.0f); x1.SetValue(2, 4.0f); x1.SetValue(8, 2.0f); var x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualQuantity(x2, x1); }
private void addPKParametersForOutput( IModelCoreSimulation simulation, SimulationResults simulationResults, Action <int> performIndividualScalingAction, QuantitySelection selectedQuantity, PopulationSimulationPKAnalyses popAnalyses, string moleculeName, PKCalculationOptions pkCalculationOptions, IReadOnlyList <ApplicationParameters> allApplicationParameters) { var allPKParameters = _pkParameterRepository.All().Where(p => PKParameterCanBeUsed(p, pkCalculationOptions)).ToList(); var allUserDefinedPKParameters = allPKParameters.OfType <UserDefinedPKParameter>().ToList(); //create pk parameter for each pk parameters (predefined and dynamic) foreach (var pkParameter in allPKParameters) { var quantityPKParameter = new QuantityPKParameter { Name = pkParameter.Name, QuantityPath = selectedQuantity.Path, Dimension = pkParameter.Dimension }; popAnalyses.AddPKAnalysis(quantityPKParameter); } //add the values for each individual foreach (var individualResult in simulationResults.AllIndividualResults) { performIndividualScalingAction(individualResult.IndividualId); _pkCalculationOptionsFactory.UpdateTotalDrugMassPerBodyWeight(simulation, moleculeName, pkCalculationOptions, allApplicationParameters); var values = individualResult.QuantityValuesFor(selectedQuantity.Path); //This can happen is the results do not match the simulation if (values == null) { continue; } var pkValues = _pkValuesCalculator.CalculatePK(individualResult.Time.Values, values.Values, pkCalculationOptions, allUserDefinedPKParameters); foreach (var quantityPKParameter in popAnalyses.AllPKParametersFor(selectedQuantity.Path)) { quantityPKParameter.SetValue(individualResult.IndividualId, pkValues.ValueOrDefaultFor(quantityPKParameter.Name)); } } }
protected override void Context() { base.Context(); _pkParameter1 = new QuantityPKParameter { QuantityPath = "Path1", Name = "AUC" }; _pkParameter2 = new QuantityPKParameter { QuantityPath = "Path2", Name = "AUC" }; _pkParameter3 = new QuantityPKParameter { QuantityPath = "Path1", Name = "CMax" }; _pkParameter4 = new QuantityPKParameter { QuantityPath = "Path1", Name = "TMax" }; sut.AddPKAnalysis(_pkParameter1); sut.AddPKAnalysis(_pkParameter2); sut.AddPKAnalysis(_pkParameter3); sut.AddPKAnalysis(_pkParameter4); }
public void Plot(IPopulationDataCollector populationDataCollector, QuantityPKParameter pkParameter, DistributionSettings settings = null, IDimension dimension = null, Unit displayUnit = null) { var displayUnitToUse = displayUnit ?? _displayUnitRetriever.PreferredUnitFor(pkParameter.Dimension); plot(populationDataCollector, pkParameter, _distributionDataCreator.CreateFor, updatePlotOptionsDefaultsFor, settings, dimension, displayUnitToUse); }
public ContinuousDistributionData CreateFor(IPopulationDataCollector populationDataCollector, DistributionSettings settings, QuantityPKParameter parameter, IDimension dimension, Unit displayUnit) { var allValues = populationDataCollector.AllPKParameterValuesFor(parameter.QuantityPath, parameter.Name); return(CreateFor(populationDataCollector, settings, allValues, dimension, displayUnit)); }
private string getTitleFor(QuantityPKParameter pkParameter, Unit displayUnit) { var parameterDisplayName = _pkParameterRepository.DisplayNameFor(pkParameter.Name); return(Constants.NameWithUnitFor(parameterDisplayName, displayUnit)); }
private void updatePlotOptionsDefaultsFor(QuantityPKParameter parameter, DistributionSettings settings, Unit displayUnit) { updatePlotOptionsDefaultsFor(getTitleFor(parameter, displayUnit), settings, parameter.QuantityPath); }
public void Plot(IPopulationDataCollector populationDataCollector, QuantityPKParameter pkParameter, PopulationAnalysisPKParameterField pkParameterField) { plotContinousData(populationDataCollector, pkParameter, pkParameterField, x => x.Plot); }
private void warnIfParameterAlreadyExists(PopulationSimulationPKAnalyses pkAnalyses, QuantityPKParameter pkParameter, SimulationPKParametersImport importedPKParameter) { if (pkAnalyses.IsNull()) { return; } if (pkAnalyses.PKParameterBy(pkParameter.Id) == null) { return; } importedPKParameter.AddWarning(PKSimConstants.Warning.PKParameterAlreadyExistsAndWillBeOverwritten(pkParameter.Name, pkParameter.QuantityPath)); }
private void verifyThatQuantityExistsInSimulation(PathCache <IQuantity> allQuantities, QuantityPKParameter pkParameter, SimulationPKParametersImport importedPKParameter) { if (allQuantities.Contains(pkParameter.QuantityPath)) { return; } importedPKParameter.AddError(PKSimConstants.Error.CouldNotFindQuantityWithPath(pkParameter.QuantityPath)); }