private void addDefaultOutputsFor(Simulation simulation, Compound compound, OutputSelections outputSelections) { var individual = simulation.Individual; if (individual == null) { return; } //Default is peripheral venous blood plasma var observer = peripheralVenousBloodObserverFor(simulation, compound); if (speciesUsesVenousBlood(individual.Species)) { observer = venousBloodObservedFor(simulation, compound); } if (observer == null) { return; } var observedPath = _entityPathResolver.PathFor(observer); outputSelections.AddOutput(new QuantitySelection(observedPath, observer.QuantityType)); }
protected override void Context() { base.Context(); _simulation = A.Fake <ISimulation>(); _runResults = A.Fake <SimulationResults>(); var outputSelections = new OutputSelections(); outputSelections.AddOutput(new QuantitySelection("Liver|Cell|Drug|Concentration", QuantityType.Drug)); A.CallTo(() => _simulation.OutputSelections).Returns(outputSelections); var pKCalculationOptions = new PKCalculationOptions(); A.CallTo(_pkCalculationOptionsFactory).WithReturnType <PKCalculationOptions>().Returns(pKCalculationOptions); _p1 = new PKParameter().WithName("AUC"); _p1.Mode = PKParameterMode.Single; _p2 = new PKParameter().WithName("AUC" + Constants.PKParameters.NormSuffix); _p2.Mode = PKParameterMode.Single; A.CallTo(() => _pkParameterRepository.All()).Returns(new[] { _p1, _p2 }); var individualResults = A.Fake <IndividualResults>(); A.CallTo(() => _runResults.AllIndividualResults).Returns(new HashSet <IndividualResults>(new [] { individualResults })); var pKValues = new PKValues(); pKValues.AddValue(_p1.Name, 10f); pKValues.AddValue(_p2.Name, 20f); A.CallTo(_pkValuesCalculator).WithReturnType <PKValues>().Returns(pKValues); }
protected override void Context() { base.Context(); _simulation = A.Fake <ISimulation>(); _runResults = A.Fake <SimulationResults>(); var outputSelections = new OutputSelections(); outputSelections.AddOutput(new QuantitySelection("Liver|Cell|Drug|Concentration", QuantityType.Drug)); A.CallTo(() => _simulation.OutputSelections).Returns(outputSelections); var pKCalculationOptions = new PKCalculationOptions(); A.CallTo(_pkCalculationOptionsFactory).WithReturnType <PKCalculationOptions>().Returns(pKCalculationOptions); _p1 = new PKParameter { Name = "AUC", Mode = PKParameterMode.Single }; _userDefinedParameter1 = new UserDefinedPKParameter { Name = "Dynamic1", Mode = PKParameterMode.Single }; A.CallTo(() => _pkParameterRepository.All()).Returns(new[] { _p1, _userDefinedParameter1 }); var individualResults = A.Fake <IndividualResults>(); A.CallTo(() => _runResults.AllIndividualResults).Returns(new HashSet <IndividualResults>(new[] { individualResults })); var pKValues = new PKValues(); pKValues.AddValue(_p1.Name, 10f); pKValues.AddValue(_userDefinedParameter1.Name, 30f); A.CallTo(_pkValuesCalculator).WithReturnType <PKValues>().Returns(pKValues); }
private void updateSettingsFromSelection() { _editedOutputSelections.Clear(); foreach (var quantitySelection in _quantitySelectionPresenter.SelectedQuantities()) { _editedOutputSelections.AddOutput(quantitySelection); } }
private OutputSelections createOutputSelectionWithAllMoleculeAmountSelected() { var outputSelection = new OutputSelections(); foreach (var keyValue in _allMoleculeAmounts.KeyValues) { outputSelection.AddOutput(new QuantitySelection(keyValue.Key, keyValue.Value.QuantityType)); } return(outputSelection); }
protected override Task Context() { _entitiesInContainerRetriever = A.Fake <IEntitiesInContainerRetriever>(); _logger = A.Fake <IOSPSuiteLogger>(); 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(); _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); }
public void TestSerialization() { var schema = new OutputSchema(); var interval = new OutputInterval(); var quantitySelection = new OutputSelections(); var solverSettingsFactory = IoC.Resolve <ISolverSettingsFactory>(); var x1 = new SimulationSettings { Solver = solverSettingsFactory.CreateCVODE(), OutputSchema = schema, OutputSelections = quantitySelection }; interval.Add(CreateObject <Parameter>().WithName(Constants.Parameters.START_TIME).WithFormula(new ConstantFormula(0))); interval.Add(CreateObject <Parameter>().WithName(Constants.Parameters.END_TIME).WithFormula(new ConstantFormula(1440))); interval.Add(CreateObject <Parameter>().WithName(Constants.Parameters.RESOLUTION).WithFormula(new ConstantFormula(240))); quantitySelection.AddOutput(new QuantitySelection("A|B|C", QuantityType.Protein)); quantitySelection.AddOutput(new QuantitySelection("A|B", QuantityType.Enzyme)); var x2 = SerializeAndDeserialize(x1); AssertForSpecs.AreEqualSimulationSettings(x2, x1); }
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(); _outputSelections = new OutputSelections(); _outputSelections.AddOutput(new QuantitySelection("A", QuantityType.Drug)); _newOutputSelection = new OutputSelections(); _newOutputSelection.AddOutput(new QuantitySelection("B", QuantityType.Drug)); _simulation = A.Fake <IMoBiSimulation>(); A.CallTo(() => _simulation.OutputSelections).Returns(_outputSelections); A.CallTo(() => _outputSelectionsRetriever.OutputSelectionsFor(_simulation)).Returns(_newOutputSelection); }
protected override void Context() { _dataFactory = A.Fake <IDataRepositoryTask>(); _dimensionRepository = A.Fake <IDimensionRepository>(); sut = new DataRepositoryFromResultsCreator( _dimensionRepository, new ObjectPathFactoryForSpecs(), _dataFactory); _simulation = new IndividualSimulation().WithName("S"); _simulation.Model = new OSPSuite.Core.Domain.Model(); var root = new Container().WithContainerType(ContainerType.Simulation).WithName(_simulation.Name); _simulation.Model.Root = root; var liver = new Container().WithName("LIVER"); liver.Add(new Observer().WithName("C")); var kidney = new Container().WithName("KIDNEY"); kidney.Add(new Observer().WithName("C")); root.Add(liver); root.Add(kidney); _simulationResults = new SimulationResults(); _simulation.Results = _simulationResults; _timeValues = new QuantityValues { QuantityPath = "Time", Values = new[] { 1f, 2f, 3f } }; _simulationResults.Time = _timeValues; _individualResults = new IndividualResults(); _individualResults.Add(new QuantityValues { QuantityPath = "LIVER|C", Time = _timeValues, Values = new[] { 10f, 20f, 30f } }); _individualResults.Add(new QuantityValues { QuantityPath = "KIDNEY|C", Time = _timeValues, Values = new[] { 11f, 22f, 33f } }); _outputSelection = new OutputSelections(); _outputSelection.AddOutput(new QuantitySelection(new[] { "LIVER", "C" }.ToPathString(), QuantityType.Molecule)); _simulation.SimulationSettings = new SimulationSettings(); _simulation.SimulationSettings.OutputSelections = _outputSelection; }
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(); var dimension = A.Fake <IDimension>(); _outputSelection = new OutputSelections(); _simulation = new IndividualSimulation { SimulationSettings = new SimulationSettings { OutputSelections = _outputSelection } }; _compound = A.Fake <Compound>(); A.CallTo(() => _compound.Name).Returns("Drug"); A.CallTo(() => _compound.MolWeight).Returns(20); _dataRepository = new DataRepository(); _simulation.AddUsedBuildingBlock(new UsedBuildingBlock("toto", PKSimBuildingBlockType.Compound) { BuildingBlock = _compound }); _newBaseGrid = new BaseGrid("baseGrid1", "baseGrid1", dimension); _newColumn = new DataColumn("col1", "col1", dimension, _newBaseGrid) { QuantityInfo = new QuantityInfo("Obs", new List <string> { "Sim", "Liver", "Cell", "Drug", "Obs" }, QuantityType.Observer | QuantityType.Drug) }; _otherColumn = new DataColumn("col2", "col2", dimension, _newBaseGrid) { QuantityInfo = new QuantityInfo("Obs", new List <string> { "Sim", "Liver", "Cell", "Sp1", "Obs" }, QuantityType.Observer | QuantityType.Metabolite) }; _dataRepository.Add(_newBaseGrid); _dataRepository.Add(_newColumn); _dataRepository.Add(_otherColumn); _simulationResults = A.Fake <SimulationResults>(); A.CallTo(() => _simulationResultsCreator.CreateResultsFrom(_dataRepository)).Returns(_simulationResults); _outputSelection.AddOutput(new QuantitySelection(new[] { "Liver", "Cell", "Drug", "Obs" }.ToPathString(), _newColumn.QuantityInfo.Type)); }
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() { base.Context(); _simulation = new MoBiSimulation(); _simModelManager = A.Fake <ISimModelManager>(); _outputSelections = new OutputSelections(); _drug = new MoleculeBuilder().WithName("DRUG"); _drug.AddParameter(new Parameter().WithName(AppConstants.Parameters.MOLECULAR_WEIGHT).WithFormula(new ConstantFormula(400))); _outputSelections.AddOutput(new QuantitySelection("A", QuantityType.Drug)); _simulation.BuildConfiguration = new MoBiBuildConfiguration { SimulationSettings = new SimulationSettings { OutputSelections = _outputSelections }, Molecules = new MoleculeBuildingBlock { _drug } }; A.CallTo(() => _simModelManagerFactory.Create()).Returns(_simModelManager); _oldResults = new DataRepository("OLD"); _simulation.Results = _oldResults; _newResults = new DataRepository("NEW"); _simulationResults = new SimulationRunResults(success: true, warnings: Enumerable.Empty <SolverWarning>(), results: _newResults); A.CallTo(() => _simModelManager.RunSimulation(_simulation)).Returns(_simulationResults); var baseGrid = new BaseGrid("Time", DomainHelperForSpecs.TimeDimension); _concentrationColumn = new DataColumn("Drug", DomainHelperForSpecs.ConcentrationDimension, baseGrid); _fractionColumn = new DataColumn("Fraction", DomainHelperForSpecs.FractionDimension, baseGrid); _newResults.Add(_concentrationColumn); _newResults.Add(_fractionColumn); A.CallTo(() => _keyPathMapper.MoleculeNameFrom(_concentrationColumn)).Returns(_drug.Name); }