Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 private void updateSettingsFromSelection()
 {
    _editedOutputSelections.Clear();
    foreach (var quantitySelection in _quantitySelectionPresenter.SelectedQuantities())
    {
       _editedOutputSelections.AddOutput(quantitySelection);
    }
 }
Ejemplo n.º 5
0
        private OutputSelections createOutputSelectionWithAllMoleculeAmountSelected()
        {
            var outputSelection = new OutputSelections();

            foreach (var keyValue in _allMoleculeAmounts.KeyValues)
            {
                outputSelection.AddOutput(new QuantitySelection(keyValue.Key, keyValue.Value.QuantityType));
            }
            return(outputSelection);
        }
Ejemplo n.º 6
0
        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));
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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;
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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));
        }
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
        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);
        }