Skip to content

Commit

Permalink
Fixes #2518 11.1 Cannot show PK-Analysis in a population simulations … (
Browse files Browse the repository at this point in the history
#2520)

* Fixes #2518 11.1 Cannot show PK-Analysis in a population simulations imported from pkml

* PR feedback

* PR feedback
  • Loading branch information
rwmcintosh authored Jan 23, 2023
1 parent 91f7d48 commit 11754bb
Showing 1 changed file with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions src/PKSim.Core/Services/PKAnalysesTask.cs
Original file line number Diff line number Diff line change
Expand Up @@ -878,8 +878,15 @@ public IReadOnlyList<PopulationPKAnalysis> AggregatePKAnalysis(Simulation simula
{
var pkParametersList = pkParameters.ToList();
var matrix = new FloatMatrix();
var names = pkParametersList.Select(x => x.Name).Distinct().ToList();
pkParametersList.Each(pkParameter => matrix.AddValuesAndSort(pkParameter.ValuesAsArray));
var names = new List<string>();

pkParametersList.Where(canBeUsedToCalculatePK).Each(pkParameter =>
{
matrix.AddValuesAndSort(pkParameter.ValuesAsArray);
names.Add(pkParameter.Name);
});

var distinctNames = names.Distinct().ToList();

var results = new List<PopulationPKAnalysis>();
selectedStatistics.Each(statisticalAnalysis =>
Expand All @@ -888,13 +895,18 @@ public IReadOnlyList<PopulationPKAnalysis> AggregatePKAnalysis(Simulation simula
aggregated.Each((agg, index) =>
{
var name = correctNameFromMetric(_representationInfoRepository.DisplayNameFor(statisticalAnalysis), aggregated.Count > 1, index == 0, captionPrefix);
var pkAnalysis = buildPopulationPKAnalysis(buildCurveData(pkParametersList[index], name), agg, names, simulation);
var pkAnalysis = buildPopulationPKAnalysis(buildCurveData(pkParametersList[index], name), agg, distinctNames, simulation);
results.Add(pkAnalysis);
});
});
return results;
}

private static bool canBeUsedToCalculatePK(QuantityPKParameter pkParameter)
{
return pkParameter.ValuesAsArray.All(x => x.IsValid());
}

private string correctNameFromMetric(string originalText, bool multipleValues, bool isLowerValue, string captionPrefix)
{
var suffix = originalText;
Expand Down

0 comments on commit 11754bb

Please sign in to comment.