public override void GlobalContext() { base.GlobalContext(); _allExpressionParameters[CoreConstants.Compartment.PLASMA].Value = 0; _allExpressionParameters[CoreConstants.Compartment.BLOOD_CELLS].Value = 0; _allExpressionParameters[CoreConstants.Compartment.VASCULAR_ENDOTHELIUM].Value = 0; _allExpressionParameters[CoreConstants.Compartment.PERIPORTAL].Value = 1; _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol) .DowncastTo <IndividualSimulation>(); _simulation.CompoundPropertiesList.First() .Processes .MetabolizationSelection .AddPartialProcessSelection(new EnzymaticProcessSelection { CompoundName = _compound.Name, ProcessName = _metabolizationProcess.Name, MoleculeName = _enzyme.Name }); DomainFactoryForSpecs.AddModelToSimulation(_simulation); var objectPatFactory = new ObjectPathFactoryForSpecs(); var path = objectPatFactory.CreateObjectPathFrom(Constants.ORGANISM, CoreConstants.Organ.LIVER, CoreConstants.Compartment.PERICENTRAL, CoreConstants.Compartment.INTRACELLULAR, CoreConstants.Molecule.ProcessProductName(_compound.Name, _enzyme.Name, CoreConstants.Molecule.Metabolite), CoreConstants.Observer.ObserverNameFrom(CoreConstants.Observer.FRACTION_OF_DOSE, _compound.Name)); var quantitySelection = new QuantitySelection(path.ToString(), QuantityType.Metabolite); _simulation.OutputSelections.AddOutput(quantitySelection); }
public override void GlobalContext() { base.GlobalContext(); _enzyme.GetRelativeExpressionNormParameterFor(CoreConstants.Compartment.Plasma).Value = 0; _enzyme.GetRelativeExpressionNormParameterFor(CoreConstants.Compartment.BloodCells).Value = 0; _enzyme.GetRelativeExpressionNormParameterFor(CoreConstants.Compartment.VascularEndothelium).Value = 0; _enzyme.GetRelativeExpressionNormParameterFor(CoreConstants.Compartment.Periportal).Value = 1; _simulation = DomainFactoryForSpecs.CreateModelLessSimulationWith(_individual, _compound, _protocol) .DowncastTo <IndividualSimulation>(); _simulation.CompoundPropertiesList.First() .Processes .MetabolizationSelection .AddPartialProcessSelection(new EnzymaticProcessSelection { CompoundName = _compound.Name, ProcessName = _metabolizationProcess.Name, MoleculeName = _enzyme.Name }); DomainFactoryForSpecs.AddModelToSimulation(_simulation); var objectPatFactory = new ObjectPathFactoryForSpecs(); var path = objectPatFactory.CreateObjectPathFrom(Constants.ORGANISM, CoreConstants.Organ.Liver, CoreConstants.Compartment.Pericentral, CoreConstants.Compartment.Intracellular, CoreConstants.Molecule.ProcessProductName(_compound.Name, _enzyme.Name, CoreConstants.Molecule.Metabolite), CoreConstants.Observer.ObserverNameFrom(CoreConstants.Observer.FRACTION_OF_DOSE, _compound.Name)); var quantitySelection = new QuantitySelection(path.ToString(), QuantityType.Metabolite); _simulation.OutputSelections.AddOutput(quantitySelection); }
private void addPKParametersForOutput(ISimulation simulation, int numberOfIndividuals, SimulationResults runResults, Action <int> performIndividualScalingAction, QuantitySelection selectedQuantity, PopulationSimulationPKAnalyses popAnalyses, string moleculeName, PKCalculationOptions pkCalculationOptions, IReadOnlyList <PKCalculationOptionsFactory.ApplicationParameters> allApplicationParameters) { var availablePKParameters = _pkParameterRepository.All().Where(p => PKParameterCanBeUsed(p, pkCalculationOptions)).ToList(); //create pk parameter for each quantities foreach (var pkParameter in availablePKParameters) { var quantityPKParameter = new QuantityPKParameter { Name = pkParameter.Name, QuantityPath = selectedQuantity.Path, Dimension = pkParameter.Dimension }; quantityPKParameter.SetNumberOfIndividuals(numberOfIndividuals); popAnalyses.AddPKAnalysis(quantityPKParameter); } //add the values for each individual foreach (var individualResult in runResults.AllIndividualResults) { performIndividualScalingAction(individualResult.IndividualId); _pkCalculationOptionsFactory.UpdateAppliedDose(simulation, moleculeName, pkCalculationOptions, allApplicationParameters); var values = individualResult.ValuesFor(selectedQuantity.Path); var pkValues = _pkValuesCalculator.CalculatePK(individualResult.Time.Values, values.Values, pkCalculationOptions); foreach (var pkParameter in availablePKParameters) { var quantityPKParameter = popAnalyses.PKParameterFor(selectedQuantity.Path, pkParameter.Name); quantityPKParameter.SetValue(individualResult.IndividualId, pkValues.ValueOrDefaultFor(pkParameter.Name)); } } }
protected override void Context() { sut = new ParameterIdentification(); _observedData = new WeightedObservedData(DomainHelperForSpecs.ObservedData()); _simulation = A.Fake <ISimulation>().WithName("Sim").WithId("Id"); _quantitySelection = new QuantitySelection("Organism|Liver|Cell|Asprin|Concentration", QuantityType.Drug); _outputMapping = new OutputMapping { WeightedObservedData = _observedData, OutputSelection = new SimulationQuantitySelection(_simulation, _quantitySelection) }; }
protected override void Context() { base.Context(); _cloner = A.Fake <ICloneManager>(); _output1 = new QuantitySelection("A", QuantityType.Drug); _output2 = new QuantitySelection("B", QuantityType.Complex); sut.AddOutput(_output1); _newOutputSelection = new OutputSelections(); _newOutputSelection.AddOutput(_output2); }
protected override void Context() { base.Context(); _simulation = A.Fake <Simulation>(); A.CallTo(() => _simulation.OutputSelections).Returns(new OutputSelections()); var q1Selection = new QuantitySelection(_q1.Name, _q1.QuantityType); var q2Selection = new QuantitySelection(_q2.Name, _q2.QuantityType); _simulation.OutputSelections.AddOutput(q1Selection); _simulation.OutputSelections.AddOutput(q2Selection); A.CallTo(() => _containerTask.CacheAllChildrenSatisfying(_simulation.Model.Root, A <Func <IQuantity, bool> > ._)).Returns(new PathCacheForSpecs <IQuantity> { _q1, _q2, _q3 }); }
protected override void Context() { base.Context(); _simulationOutput1 = new QuantitySelection("OUTPUT1", QuantityType.Drug); _simulationOutput2 = new QuantitySelection("OUTPUT2", QuantityType.Drug); _simulationOutput3 = new QuantitySelection("OUTPUT3", QuantityType.Drug); _selectedOutput3 = new QuantitySelection("OUTPUT3", QuantityType.Drug); _selectedOutput4 = new QuantitySelection("OUTPUT4", QuantityType.Drug); _outputSelection.AddOutput(_simulationOutput1); _outputSelection.AddOutput(_simulationOutput2); _outputSelection.AddOutput(_simulationOutput3); _mappedOutputs.Add(_simulationOutput1); _mappedOutputs.Add(_selectedOutput3); _mappedOutputs.Add(_selectedOutput4); }
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 Task Context() { _entitiesInContainerRetriever = A.Fake <IEntitiesInContainerRetriever>(); _logger = A.Fake <ILogger>(); sut = new OutputSelectionsMapper(_entitiesInContainerRetriever, _logger); _quantitySelection1 = new QuantitySelection("PATH1", QuantityType.Drug); _quantitySelection2 = new QuantitySelection("PATH2", QuantityType.Observer); _outputSelections = new OutputSelections(); _outputSelections.AddOutput(_quantitySelection1); _outputSelections.AddOutput(_quantitySelection2); _simulation = new IndividualSimulation(); _allQuantities = new PathCacheForSpecs <IQuantity>(); A.CallTo(() => _entitiesInContainerRetriever.QuantitiesFrom(_simulation)).Returns(_allQuantities); return(Task.FromResult(true)); }
protected override void Context() { base.Context(); _defaultSettings = new OutputSelections(); _allQuantities = new List <IQuantity>(); var moleculeSelection1 = new QuantitySelection("PATH1", QuantityType.Drug); _defaultSettings.AddOutput(moleculeSelection1); _allQuantities.Add(q1); q1.QuantityType = QuantityType.Drug; A.CallTo(() => _keyPathMapper.MapFrom(q1)).Returns("KEY1"); A.CallTo(() => _keyPathMapper.MapFrom(moleculeSelection1)).Returns("KEY2"); _project.OutputSelections = _defaultSettings; A.CallTo(() => _populationSimulationSettingsPresenter.CreateSettings(_populationSimulation)).Returns(_originalSettings); A.CallTo(() => _populationSimulation.All <IQuantity>()).Returns(_allQuantities); }
protected override void Context() { base.Context(); _defaultSettings = new OutputSelections(); _allQuantities = new List <IQuantity>(); var moleculeSelection1 = new QuantitySelection("PATH1", QuantityType.Drug); _defaultSettings.AddOutput(moleculeSelection1); var moleculeSelection2 = new QuantitySelection("PATH2", QuantityType.Drug); _defaultSettings.AddOutput(moleculeSelection2); var moleculeSelection3 = new QuantitySelection("PATH3", QuantityType.Drug); _defaultSettings.AddOutput(moleculeSelection3); _allQuantities.AddRange(new[] { q1, q2, q3, q4 }); q1.QuantityType = QuantityType.Drug; q2.QuantityType = QuantityType.Drug; q3.QuantityType = QuantityType.Drug; q4.QuantityType = QuantityType.Drug; A.CallTo(() => _keyPathMapper.MapFrom(q1)).Returns("KEY1"); A.CallTo(() => _keyPathMapper.MapFrom(q2)).Returns("KEY2"); A.CallTo(() => _keyPathMapper.MapFrom(q3)).Returns("KEY3"); A.CallTo(() => _keyPathMapper.MapFrom(q4)).Returns("KEY2"); A.CallTo(() => _keyPathMapper.MapFrom(moleculeSelection1)).Returns("KEY1"); A.CallTo(() => _keyPathMapper.MapFrom(moleculeSelection2)).Returns("KEY2"); A.CallTo(() => _keyPathMapper.MapFrom(moleculeSelection3)).Returns("DOES NOT EXIST"); A.CallTo(() => _entityPathResolver.PathFor(q1)).Returns("Q1"); A.CallTo(() => _entityPathResolver.PathFor(q2)).Returns("Q2"); A.CallTo(() => _entityPathResolver.PathFor(q3)).Returns("Q3"); A.CallTo(() => _entityPathResolver.PathFor(q4)).Returns("Q4"); _project.OutputSelections = _defaultSettings; _userSettings.OutputSelections = null; A.CallTo(() => _populationSimulationSettingsPresenter.CreateSettings(_populationSimulation)).Returns(_originalSettings); A.CallTo(() => _populationSimulation.All <IQuantity>()).Returns(_allQuantities); }
protected override void Context() { base.Context(); _defaultSettings = new OutputSelections(); _allQuantities = new List <IQuantity>(); var moleculeSelection1 = new QuantitySelection("PATH1", QuantityType.Drug); _defaultSettings.AddOutput(moleculeSelection1); _allQuantities.AddRange(new[] { _q1, _q2 }); _q1.QuantityType = QuantityType.Drug; _q2.QuantityType = QuantityType.Transporter; A.CallTo(() => _keyPathMapper.MapFrom(_q1)).Returns("KEY1"); A.CallTo(() => _keyPathMapper.MapFrom(_q2)).Returns("KEY1"); A.CallTo(() => _keyPathMapper.MapFrom(moleculeSelection1)).Returns("KEY1"); A.CallTo(() => _entityPathResolver.PathFor(_q1)).Returns("Q1"); _userSettings.OutputSelections = _defaultSettings; A.CallTo(() => _populationSimulationSettingsPresenter.CreateSettings(_populationSimulation)).Returns(_originalSettings); A.CallTo(() => _populationSimulation.All <IQuantity>()).Returns(_allQuantities); }
protected override void Context() { _quantitySelection = new QuantitySelection("A|B", QuantityType.Drug); _simulation = A.Fake <ISimulation>().WithName("S"); sut = new SimulationQuantitySelection(_simulation, _quantitySelection); }
private static string moleculeNameFrom(QuantitySelection selectedQuantity) { return(selectedQuantity.Path.ToPathArray().MoleculeName()); }
protected override void Because() { _result = sut.SelectionFrom(_quantity); }
public string MapFrom(QuantitySelection quantitySelection) { return(MapFrom(quantitySelection.Path, quantitySelection.QuantityType, removeFirstEntry: true).Path); }