Skip to content

Commit

Permalink
Merge pull request #284 from Open-Systems-Pharmacology/develop
Browse files Browse the repository at this point in the history
Version 7.2.0
  • Loading branch information
msevestre authored Nov 29, 2017
2 parents ac4622b + fd42d4d commit c8192ca
Show file tree
Hide file tree
Showing 523 changed files with 14,849 additions and 10,246 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@
[submodule "scripts"]
path = scripts
url = https://github.com/Open-Systems-Pharmacology/build-scripts.git
[submodule "src/OSPSuite.SimModel.Schema"]
path = src/OSPSuite.SimModel.Schema
url = https://github.com/Open-Systems-Pharmacology/OSPSuite.SimModel.Schema.git
6 changes: 3 additions & 3 deletions OSPSuite.Core.sln
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25123.0
MinimumVisualStudioVersion = 14.0.24720.0
# Visual Studio 15
VisualStudioVersion = 15.0.26430.4
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{9ED8AA66-5E2F-4900-846B-4D2758832061}"
ProjectSection(SolutionItems) = preProject
appveyor-coverage.yml = appveyor-coverage.yml
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ Core functionalities of the Open Systems Pharmacology Suite.

## Code Status
[![NuGet version](https://img.shields.io/nuget/v/OSPSuite.Core.svg?style=flat)](https://www.nuget.org/packages/OSPSuite.Core)
[![Build status](https://ci.appveyor.com/api/projects/status/w3ecxmp3grryc5ts/branch/develop?svg=true)](https://ci.appveyor.com/project/open-systems-pharmacology-ci/ospsuite-core/branch/develop)
[![Build status](https://ci.appveyor.com/api/projects/status/skw2giv5jxy3pvo0/branch/develop?svg=true)](https://ci.appveyor.com/project/open-systems-pharmacology-ci/ospsuite-core/branch/develop)
[![Coverage status](https://codecov.io/gh/Open-Systems-Pharmacology/OSPSuite.Core/branch/develop/graph/badge.svg)](https://codecov.io/gh/Open-Systems-Pharmacology/OSPSuite.Core)

## Code of conduct
Everyone interacting in the Open Systems Pharmacology community (codebases, issue trackers, chat rooms, mailing lists etc...) is expected to follow the Open Systems Pharmacology [code of conduct](https://github.com/Open-Systems-Pharmacology/Suite/blob/master/CODE_OF_CONDUCT.md).

## Contribution
We encourage contribution to the Open Systems Pharmacology community. Before getting started please read the [contribution guidelines](https://github.com/Open-Systems-Pharmacology/Suite/blob/master/CONTRIBUTING.md). If you are contributing code, please be familiar with the [coding standard](https://github.com/Open-Systems-Pharmacology/Suite/blob/master/CODING_STANDARD.md).
We encourage contribution to the Open Systems Pharmacology community. Before getting started please read the [contribution guidelines](https://github.com/Open-Systems-Pharmacology/Suite/blob/master/CONTRIBUTING.md). If you are contributing code, please be familiar with the [coding standards](https://github.com/Open-Systems-Pharmacology/Suite/blob/master/CODING_STANDARDS.md).

## License
OSPSuite.Core is released under the [GPLv2 License](LICENSE).
1 change: 1 addition & 0 deletions SolutionInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("")]
[assembly: InternalsVisibleTo("OSPSuite.Core.Tests")]
[assembly: InternalsVisibleTo("OSPSuite.UI.Tests")]
9 changes: 3 additions & 6 deletions appveyor-coverage.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
configuration: Debug
image: Visual Studio 2017

environment:
app_version: '7.1.0'
app_version: '7.2.0'

version: '%app_version%.{build}'

Expand Down Expand Up @@ -37,8 +38,4 @@ test_script:
install:
- set PATH=C:\Ruby22\bin;C:\\Python34;C:\\Python34\\Scripts;%PATH%"
- pip install codecov
- git submodule update --init --recursive
- ps: >-
(new-object net.webclient).DownloadFile('https://download.microsoft.com/download/A/2/D/A2D8587D-0027-4217-9DAD-38AFDB0A177E/msxml.msi', 'C:\\msxml.msi')
Start-Process msiexec.exe -ArgumentList /i, C:\msxml.msi, /quiet, /qn, /norestart -Wait
- git submodule update --init --recursive
9 changes: 3 additions & 6 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
configuration: Debug
image: Visual Studio 2017

environment:
app_version: '7.1.0'
app_version: '7.2.0'

version: '%app_version%.{build}'

Expand Down Expand Up @@ -37,20 +38,16 @@ skip_branch_with_pr: true

branches:
only:
- master
- develop

test:
assemblies:
- OSPSuite.Core.Tests.dll
- OSPSuite.UI.Tests.dll

install:
- git submodule update --init --recursive
- ps: >-
(new-object net.webclient).DownloadFile('https://download.microsoft.com/download/A/2/D/A2D8587D-0027-4217-9DAD-38AFDB0A177E/msxml.msi', 'C:\\msxml.msi')

Start-Process msiexec.exe -ArgumentList /i, C:\msxml.msi, /quiet, /qn, /norestart -Wait
skip_tags: true

skip_commits:
files:
Expand Down
6 changes: 3 additions & 3 deletions rakefile.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@

def copy_to_app(app_target_relative_path)
app_target_path = File.join(solution_dir, app_target_relative_path)
source_dir = File.join(src_dir, 'OSPSuite.UI', 'bin', 'Debug')
source_dir = File.join(tests_dir, 'OSPSuite.Starter', 'bin', 'Debug')

copy_depdencies source_dir, app_target_path do
copy_file 'OSPSuite.*.dll'
Expand All @@ -41,7 +41,7 @@ def solution_dir
File.dirname(__FILE__)
end

def src_dir
File.join(solution_dir, 'src')
def tests_dir
File.join(solution_dir, 'tests')
end

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
5 changes: 2 additions & 3 deletions src/OSPSuite.Assets/OSPSuite.Assets.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,8 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="OSPSuite.Utility, Version=2.0.0.5, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\OSPSuite.Utility.2.0.0.5\lib\net45\OSPSuite.Utility.dll</HintPath>
<Private>True</Private>
<Reference Include="OSPSuite.Utility, Version=2.0.1.4, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\packages\OSPSuite.Utility.2.0.1.4\lib\net452\OSPSuite.Utility.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
Expand Down
114 changes: 86 additions & 28 deletions src/OSPSuite.Assets/UIConstants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,16 @@ public static class Captions
public static readonly string Exception = "Exception";
public static readonly string StackTrace = "Stack Trace";

public static string ShouldWatermarkBeUsedForChartExportToClipboard(string applicationName, string optionLocation)
{
var sb = new StringBuilder();
sb.AppendLine("The watermark feature was introduced to clearly identify draft versions of plots.");
sb.AppendLine();
sb.AppendLine($"Do you want this installation of {applicationName} to use this feature? If yes, a watermark will be used when copying charts to clipboard.");
sb.AppendLine($"This setting, as well as the watermark text, can be changed anytime under '{optionLocation}'.");
return sb.ToString();
}

public static string IssueTrackerLinkFor(string application) => $"Go to {application} Issue Tracker";

public static string ReallyDeleteAllObservedData(IEnumerable<string> anythingNotDeleted)
Expand All @@ -188,7 +198,7 @@ public static string ReallyDeleteAllObservedData(IEnumerable<string> anythingNot
if (notDeleted.Count == 0)
return prompt;

return $"{prompt}\n\nWarning:\n\n{notDeleted.ToString("\n\n")}\n\nand will not be removed.";
return $"{prompt}\n\nWarning: Following observed data are still in use and will not be deleted: \n\n{notDeleted.ToString("\n\n")}";
}

public static string CloneObjectBase(string entityType, string name)
Expand Down Expand Up @@ -241,31 +251,53 @@ public static string DoYouWantToDeleteDirectory(string newDirectoryName)
return $"Do you want to delete the directory '{newDirectoryName}' and continue?";
}

public static void AppendListItem(string listItem, StringBuilder sb)
public static void AppendListItem(StringBuilder sb, bool html, string listItem, int index)
{
if(html)
sb.Append($"<li>{listItem}</li>");
else
sb.AppendLine($" {index}: {listItem}");
}

public static void AppendLine(StringBuilder sb, bool html, string lineToAppend)
{
sb.Append($"<li>{listItem}</li>");
if (html)
sb.Append($"<p>{lineToAppend}</p>");
else
sb.AppendLine(lineToAppend);
}

public static void AppendLine(string lineToAppend, StringBuilder sb)

public static void AddOrderedList(StringBuilder sb, bool html, params string [] list)
{
sb.Append($"<p>{lineToAppend}</p>");
if(html)
sb.Append("<ol>");

list.Each((item, i) =>
{
//index in list item should start at 1
AppendListItem(sb, html, item, i + 1);
});

if (html)
sb.Append("</ol>");
}

public static string ExceptionViewDescription(string issueTrackerUrl)
public static string ExceptionViewDescription(string issueTrackerUrl, bool html=true)
{
var sb = new StringBuilder();
AppendLine("oops...something went terribly wrong.", sb);
AppendLine(string.Empty, sb);
AppendLine("To best address the error, please enter an issue in our issue tracker:", sb);
sb.Append("<ol>");
AppendListItem($"Visit <b>{issueTrackerUrl}</b> or click on the link below", sb);
AppendListItem("Click on the <b>New Issue</b> button", sb);
AppendListItem("Describe the steps you took prior to the problem emerging", sb);
AppendListItem($"Copy the information below by using the <b>{CopyToClipboard}</b> button and paste it in the issue description", sb);
AppendListItem("if possible, attach your project file to the issue (do not attach confidential information)", sb);
sb.Append("</ol>");
AppendLine(string.Empty, sb);
AppendLine("Note: A GitHub account is required to create an issue", sb);
AppendLine(sb, html, "oops...something went terribly wrong.");
AppendLine(sb, html, string.Empty);
AppendLine(sb, html, "To best address the error, please enter an issue in our issue tracker:");
AddOrderedList(sb, html,
$"Visit <b>{issueTrackerUrl}</b> or click on the link below",
"Click on the <b>New Issue</b> button",
"Describe the steps you took prior to the problem emerging",
$"Copy the information below by using the <b>{CopyToClipboard}</b> button and paste it in the issue description",
"if possible, attach your project file to the issue (do not attach confidential information)"
);
AppendLine(sb, html, string.Empty);
AppendLine(sb, html, "Note: A GitHub account is required to create an issue");
return sb.ToString();
}

Expand Down Expand Up @@ -572,6 +604,7 @@ public static string FormulaComparisonModeDescription
}

public static readonly string OnlyComputeModelRelevantProperties = "Only compare properties relevant to simulation results";
public static readonly string CompareHiddenEntities = "Compare hidden entities (e.g. parameters)";
public static readonly string FormulaComparisonValue = "Values";
public static readonly string FormulaComparisonFormula = "Formulas";
public static readonly string RunComparison = "Start";
Expand Down Expand Up @@ -638,6 +671,7 @@ public static class ParameterIdentification
public static readonly string RunMessage = "Message";
public static readonly string RunIndex = "Run #";
public static readonly string UseAsFactor = "Use as Factor";
public static readonly string IsFixed = "Fixed";
public static readonly string LLOQMode = "Transform data below LLOQ";
public static readonly string RemoveLLOQMode = "Remove data below LLOQ";
public static readonly string TimeProfileAnalysis = "Time Profile";
Expand Down Expand Up @@ -945,10 +979,6 @@ public static string ReallyDeleteObservedData(string observedDataName)
return $"Really delete observed data '{observedDataName}' from project";
}

public static string IsUsedBy(string name, string typeNamesUsingObservedData)
{
return $"'{name}' is used by \n{typeNamesUsingObservedData}";
}

public static class Chart
{
Expand Down Expand Up @@ -1015,6 +1045,8 @@ public static class FontAndSizeSettings
public static readonly string FontSizeTitle = "Font Size Title";
public static readonly string FontSizeDescription = "Font Size Description";
public static readonly string FontSizeOrigin = "Font Size Origin";
public static readonly string FontSizeWatermark = "Font Size Watermark";
public static readonly string IncludeOriginData = "Include Origin Data";
}
}
}
Expand All @@ -1033,16 +1065,24 @@ public static class Error
public static readonly string SessionDisposed = "Session was disposed";
public static readonly string OutputMappingHasInconsistentDimension = "Output mapping has inconsistent dimension";
public static readonly string WeightValueCannotBeNegative = "Weights cannot be negative";
public static readonly string CurveNameMissing = "Curve Name is missing";
public static readonly string DifferentXAxisDimension = "Different from X axis dimension";
public static readonly string DifferentYAxisDimension = "Different from Y axis dimension";
public static readonly string CannotConvertYAxisUnits = "Cannot convert to Y axis unit";

public static string LinkedParameterIsNotValidInIdentificationParameter(string identificationParameterName) => $"At least one linked parameter is invalid in identification paramter '{identificationParameterName}'";

public static string CannotDeleteBuildingBlockUsedBy(string buildingBlockType, string buildingBlockName, IReadOnlyList<string> typesNamed)
public static string CannotDeleteBuildingBlockUsedBy(string buildingBlockType, string buildingBlockName, IReadOnlyList<string> usersOfBuildingBlock)
{
var content = usersOfBuildingBlock.Count > 1 ?
$"\n{usersOfBuildingBlock.ToString("\n", " ")}\n" :
$"{usersOfBuildingBlock.ToString(""," ")}";

return $"{buildingBlockType} '{buildingBlockName}' is used by{content}and cannot be deleted.";
}

public static string CannotDeleteObservedData(string observedDataName, IReadOnlyList<string> usersOfObservedData)
{
return $"{buildingBlockType} '{buildingBlockName}' is used by\n\n{typesNamed.ToString("\n")}\n\nand cannot be deleted.";
return CannotDeleteBuildingBlockUsedBy(ObjectTypes.ObservedData, observedDataName, usersOfObservedData);
}

public static string OutputsDoNotAllHaveTheSameScaling(string outputName)
Expand Down Expand Up @@ -1231,6 +1271,8 @@ public static string CouldNotLoadTemplateFromFile(string templateFilePath)
return $"Could not load chart template. Make sure that the file '{templateFilePath}' is a template file.";
}

public static string CannotFindResource(string resourceFullPath) => $"Cannot find resource located at '{resourceFullPath}'";

public static string IndividualIdDoesNotMatchTheValueLength(int indiviudalId, int count)
{
return $"Individual Id '{indiviudalId}' does not match the expected number of individual '{count}'. A reason could be that the results were imported starting with an id of 1 instead of 0.";
Expand Down Expand Up @@ -1261,6 +1303,8 @@ public static string FirstDataRowOutOfRange(int firstDataRow, int lastRow, strin
return rowOutOfRange(firstDataRow, lastRow, "first data", sheetName);
}

public static string RemoveHigherAxisTypeFirst(string type) => $"Please remove Y-Axis {type} first.";

public static string LastDataRowLessThanFirstDataRow(int dataEndRow, int dataStartRow, string sheetName)
{
return $"Cannot import data from {sheetName} worksheet.{Environment.NewLine}The first data row index is greater than the last data row index";
Expand All @@ -1269,7 +1313,6 @@ public static string LastDataRowLessThanFirstDataRow(int dataEndRow, int dataSta
public const string MESSAGE_ERROR_NAN = "Error information has been truncated because invalid values have been replaced by NaN.\n\n An arithmetic error must be at least 0.\n A geometric error must be at least 1.\n";



public static class SensitivityAnalysis
{
public static readonly string NoSimulationDefined = "No simulation defined";
Expand Down Expand Up @@ -1415,6 +1458,20 @@ public static string CircularReferenceFoundInFormula(string entity, string entit
var separator = "\n\t- ";
return $"A circular reference was found in formula of {entityType.ToLower()} '{entity}' with path '{entityPath}'\nPlease check the direct or indirect references:{separator}{references.ToString(separator)}";
}

public static string AxisMaxMustBeGreaterThanOrEqualToAxisMin(float? axisMinimumValue)
{
var preamble = "The axis maximum value should be greater than or equal to the axis minimum value";
return axisMinimumValue.HasValue ? $"{preamble} '{axisMinimumValue}'" : preamble;
}

public static string AxisMinMustBeLessThanOrEqualToAxisMax(float? axisMaximumValue)
{
var preamble = "The axis minimum value should be less than or equal to the axis maximum value";
return axisMaximumValue.HasValue ? $"{preamble} '{axisMaximumValue}'" : preamble;
}

public static readonly string LogAxisMaxMustBeGreaterThanZero = "Loagarithmic axis maximum must be greater than 0";
}

public static class Rules
Expand Down Expand Up @@ -1458,6 +1515,7 @@ public static class Warning
public static readonly string OptimizedValueIsCloseToBoundary = "Identified value is close to boundary";
public static readonly string ImportingParameterIdentificationValuesFromCancelledRun = "This parameter identification run was cancelled.\nDo you really want to import the identified parameters?";
public static readonly string ImportingParameterIdentificationValuesFromCategorialRun = "Only the VALUES of the identified parameters will be transfered.\nPlease set the calculation methods manually.";
public static readonly string CurveNameIsMissing = "Curve name is missing";
}

public static class RibbonCategories
Expand Down Expand Up @@ -1559,7 +1617,7 @@ public static class MenuDescriptions
public static readonly string CreateParameterIdentification = "Create a new parameter identification.";
public static readonly string CreateSensitivityAnalysis = "Create a new sensitivity analysis.";
public static readonly string RunParameterIdentification = "Run the active parameter identification.";
public static readonly string StopParameterIdentification = "Stop the current Parparameterameter identification.";
public static readonly string StopParameterIdentification = "Stop the current parameter identification.";
public static readonly string UnlinkParameter = "Unlink the Parameter";
public static readonly string TimeProfileAnalysisDescription = "Create a new chart displaying the optimized time profile in comparison to the observed data.";
public static readonly string PredictedVsObservedAnalysisDescription = "Create a new chart displaying the optimized output vs. the observed data.";
Expand All @@ -1571,7 +1629,7 @@ public static class MenuDescriptions
public static readonly string CovarianceMatrix = "Show the covariance matrix.";
public static readonly string TimeProfilePredictionInterval = "Plot a pointwise linearization of the 95% prediction interval due to both the parameter uncertainty and the measurement error. This plot is only available for measured quantities.";
public static readonly string TimeProfileConfidenceInterval = "Plot a pointwise linearization of the 95% confidence interval due to the parameter uncertainty.";
public static string TimeProfileVPCInterval = "Plot a pointwise linearization of the 95% visual predictive check interval due to the measurement error. This plot is only available for measured quantities.";
public static readonly string TimeProfileVPCInterval = "Plot a pointwise linearization of the 95% visual predictive check interval due to the measurement error. This plot is only available for measured quantities.";
public static readonly string RunSensitivityAnalysis = "Run the active sensitivity analysis.";
public static readonly string StopSensitivityanalysis = "Stop the current sensitivity analysis.";
}
Expand Down
Loading

0 comments on commit c8192ca

Please sign in to comment.