protected override void Context() { base.Context(); _newName = "TOTO"; _f1 = new ExplicitFormula("A+B"); _f2 = new ExplicitFormula("A+B"); _f3 = new ExplicitFormula("A+B"); _f1.AddObjectPath(new FormulaUsablePath(_initialSimulationName, "Liver", "Cell")); _f1.AddObjectPath(new FormulaUsablePath("Drug", "LogP")); _f2.AddObjectPath(new FormulaUsablePath("SU", "Liver", "Cell")); _f2.AddObjectPath(new FormulaUsablePath("Drug", "LogP")); _f3.AddObjectPath(new FormulaUsablePath(_initialSimulationName, "Liver", "Cell")); _f3.AddObjectPath(new FormulaUsablePath(_initialSimulationName, "LogP")); var p1 = new PKSimParameter().WithName("P1").WithFormula(_f1); var p2 = new PKSimParameter().WithName("P2").WithFormula(_f2); var p3 = new PKSimParameter().WithName("P3").WithFormula(_f3); var c1 = new Container().WithName("C1"); c1.Add(p3); _root.Add(p1); _root.Add(p2); _root.Add(c1); var results = new SimulationResults { Time = new QuantityValues { ColumnId = "0", QuantityPath = "baseGrid" } }; _individualResults = new IndividualResults { IndividualId = 1 }; results.Add(_individualResults); var quantityCache = new PathCacheForSpecs <IQuantity> { { "Liver|Cell|Drug", new MoleculeAmount { QuantityType = QuantityType.Drug } }, { "Liver|Cell|Meta", new MoleculeAmount { QuantityType = QuantityType.Metabolite } }, }; _individualResults.Add(new QuantityValues { PathList = new[] { "Liver", "Cell", "Drug" }.ToList() }); _individualResults.Add(new QuantityValues { PathList = new[] { "Liver", "Cell", "Meta" }.ToList() }); _individualSimulation.Results = results; _individualSimulation.DataRepository = new DataRepository(); _individualSimulation.Reactions = new ReactionBuildingBlock(); _individualSimulation.SimulationSettings = new SimulationSettings(); A.CallTo(_containerTask).WithReturnType <PathCache <IQuantity> >().Returns(quantityCache); A.CallTo(() => _curveNamer.RenameCurvesWithOriginalNames(_individualSimulation, A <Action> ._, true)).Invokes(x => x.Arguments[1].DowncastTo <Action>()()); }
public SimulationResults CreateResultsFrom(DataRepository dataRepository) { if (dataRepository.IsNull()) { return(new NullSimulationResults()); } var results = new SimulationResults(); var baseGrid = dataRepository.BaseGrid; results.Time = valuesFrom(baseGrid); foreach (var columnsForIndividual in dataRepository.AllButBaseGrid().GroupBy(selectIndividualIndex)) { var individualResults = new IndividualResults { IndividualId = columnsForIndividual.Key, Time = results.Time }; foreach (var dataColumn in columnsForIndividual) { individualResults.Add(valuesFrom(dataColumn, pathWithoutIndividualIndex(dataColumn, columnsForIndividual.Key))); } individualResults.UpdateQuantityTimeReference(); results.Add(individualResults); } return(results); }
private SimulationResults createResultsFrom(DataRepository dataRepository, ISimModelBatch simModel, string[] parameters) { if (dataRepository.IsNull() || dataRepository.BaseGrid == null) { return(new NullSimulationResults()); } var results = new SimulationResults { Time = valuesFrom(dataRepository.BaseGrid, null, new string[] { }) }; foreach (var columnsForIndividual in dataRepository.AllButBaseGrid().GroupBy(selectIndividualIndex)) { var individualResults = new IndividualResults { IndividualId = columnsForIndividual.Key, Time = results.Time }; foreach (var dataColumn in columnsForIndividual) { individualResults.Add(valuesFrom(dataColumn, pathWithoutIndividualIndex(dataColumn, columnsForIndividual.Key), simModel, parameters)); } individualResults.UpdateQuantityTimeReference(); results.Add(individualResults); } return(results); }
/// <summary> /// Add results for successfull individual /// </summary> /// <param name="individualResults"></param> public void Add(IndividualResults individualResults) { Results.Add(individualResults); var runInfo = new IndividualRunInfo { Success = true }; _individualRunInfos[individualResults.IndividualId] = runInfo; }
protected override void Context() { base.Context(); _newName = "TOTO"; _f1 = new ExplicitFormula("A+B"); _f2 = new ExplicitFormula("A+B"); _f3 = new ExplicitFormula("A+B"); _f1.AddObjectPath(new FormulaUsablePath(_initialSimulationName, "Liver", "Cell")); _f1.AddObjectPath(new FormulaUsablePath("Drug", "LogP")); _f2.AddObjectPath(new FormulaUsablePath("SU", "Liver", "Cell")); _f2.AddObjectPath(new FormulaUsablePath("Drug", "LogP")); _f3.AddObjectPath(new FormulaUsablePath(_initialSimulationName, "Liver", "Cell")); _f3.AddObjectPath(new FormulaUsablePath(_initialSimulationName, "LogP")); var p1 = new PKSimParameter().WithName("P1").WithFormula(_f1); var p2 = new PKSimParameter().WithName("P2").WithFormula(_f2); var p3 = new PKSimParameter().WithName("P3").WithFormula(_f3); var c1 = new Container().WithName("C1"); c1.Add(p3); _root.Add(p1); _root.Add(p2); _root.Add(c1); var results = new SimulationResults { Time = new QuantityValues { ColumnId = "0", QuantityPath = "baseGrid" } }; _individualResults = new IndividualResults { IndividualId = 1 }; results.Add(_individualResults); var quantityCache = new PathCacheForSpecs <IQuantity> { { "Liver|Cell|Drug", new MoleculeAmount { QuantityType = QuantityType.Drug } }, { "Liver|Cell|Meta", new MoleculeAmount { QuantityType = QuantityType.Metabolite } }, }; _individualResults.Add(new QuantityValues { PathList = new[] { "Liver", "Cell", "Drug" }.ToList() }); _individualResults.Add(new QuantityValues { PathList = new[] { "Liver", "Cell", "Meta" }.ToList() }); _individualSimulation.Results = results; A.CallTo(_containerTask).WithReturnType <PathCache <IQuantity> >().Returns(quantityCache); }
public static SimulationResults CreateSimulationResults(int numberOfIndividuals = 10, int numberOfPaths = 5, int numberOfPoints = 100) { var populationResults = new SimulationResults { Time = createTimeArray(numberOfPoints) }; for (int i = 0; i < numberOfIndividuals; i++) { var results = newIndividualResults(i, numberOfPaths, numberOfPoints); populationResults.Add(results); results.Time = populationResults.Time; results.UpdateQuantityTimeReference(); } return(populationResults); }
protected override void Context() { base.Context(); var results = new SimulationResults { Time = new QuantityValues { ColumnId = "0", QuantityPath = "baseGrid" } }; _individualResults = new IndividualResults { IndividualId = 1 }; results.Add(_individualResults); _quantityCache = new PathCacheForSpecs <IQuantity> { { "C|Liver|Cell|C2", new MoleculeAmount { QuantityType = QuantityType.Drug } }, { "C|Liver|Cell|Meta", new MoleculeAmount { QuantityType = QuantityType.Metabolite } } }; _individualResults.Add(new QuantityValues { ColumnId = "1", PathList = new[] { "C", "Liver", "Cell", "C" }.ToList() }); _individualResults.Add(new QuantityValues { ColumnId = "3", PathList = new[] { "C", "Liver", "Cell", "Meta" }.ToList() }); _individualResults.Add(new QuantityValues { ColumnId = "4", PathList = new[] { "S", "Liver", "Cell" }.ToList() }); A.CallTo(_containerTask).WithReturnType <PathCache <IQuantity> >().Returns(_quantityCache); _individualSimulation.Results = results; }