From f48ad598964312e3c6a8c472691d52bb9c98b3f2 Mon Sep 17 00:00:00 2001 From: Jonathan Karr Date: Sun, 17 Jan 2021 02:38:44 -0500 Subject: [PATCH 1/7] starting new micro version; improving data model for expected resutls --- biosimulators_test_suite/_version.py | 2 +- .../test_case/published_project.py | 12 +++++++----- examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.json | 7 ++++--- examples/bngl/test-bngl.json | 7 ++++--- ...eor-Biol-2010-tumor-suppressive-oscillations.json | 7 ++++--- ...to-J-Cell-Biol-2003-morphogenesis-checkpoint.json | 7 ++++--- ...lstein-Biol-Cybern-1996-Nicotinic-excitation.json | 7 ++++--- .../Parmar-BMC-Syst-Biol-2017-iron-distribution.json | 7 ++++--- .../Szymanska-J-Theor-Biol-2009-HSP-synthesis.json | 7 ++++--- .../Tomida-EMBO-J-2003-NFAT-translocation.json | 7 ++++--- ...ci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML.json | 7 ++++--- .../sbml-fbc/Escherichia-coli-core-metabolism.json | 9 +++++---- ...aouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.json | 9 +++++---- tests/test_case/test_published_project.py | 10 +++++----- 14 files changed, 59 insertions(+), 46 deletions(-) diff --git a/biosimulators_test_suite/_version.py b/biosimulators_test_suite/_version.py index b7e15fa..b04cffb 100644 --- a/biosimulators_test_suite/_version.py +++ b/biosimulators_test_suite/_version.py @@ -1 +1 @@ -__version__ = '0.1.16' +__version__ = '0.1.17' diff --git a/biosimulators_test_suite/test_case/published_project.py b/biosimulators_test_suite/test_case/published_project.py index b06ade6..3adc53d 100644 --- a/biosimulators_test_suite/test_case/published_project.py +++ b/biosimulators_test_suite/test_case/published_project.py @@ -186,9 +186,11 @@ def from_dict(self, data): points = tuple(exp_report_def['points']) values = {} - for key, val in exp_report_def.get('values', {}).items(): + for labelVal in exp_report_def.get('values', []): + label = labelVal['label'] + val = labelVal['value'] if isinstance(val, dict): - values[key] = {} + values[label] = {} for k, v in val.items(): multi_index = tuple(int(index) for index in k.split(",")) try: @@ -203,14 +205,14 @@ def from_dict(self, data): self.id.replace('published_project.SimulatorCanExecutePublishedProject:', ''), tuple(p - 1 for p in points), )) - values[key][multi_index] = v + values[label][multi_index] = v else: - values[key] = numpy.array(val) + values[label] = numpy.array(val) invalid_dataset_ids = set(values.keys()).difference(set(data_set_labels)) if invalid_dataset_ids: raise ValueError(( - "The keys of the expected values of report `{}` of published project test case `{}` " + "The `label` fields of the expected values of report `{}` of published project test case `{}` " "should be defined in the 'dataSets' property. " "The following keys were not in the 'dataSets' property:\n - {}").format( id, self.id.replace('published_project.SimulatorCanExecutePublishedProject:', ''), diff --git a/examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.json b/examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.json index 28c2b5f..de73f64 100644 --- a/examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.json +++ b/examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.json @@ -9,12 +9,13 @@ "id": "Dolan2015.sedml/report", "dataSets": ["time", "MDM2_mRNA", "MDM2"], "points": [101], - "values": { - "time": { + "values": [{ + "label": "time", + "value": { "0": 0.0, "100": 100 } - } + }] }], "expectedPlots": [], "runtimeFailureAlertType": "exception", diff --git a/examples/bngl/test-bngl.json b/examples/bngl/test-bngl.json index 310cf5a..d60c985 100644 --- a/examples/bngl/test-bngl.json +++ b/examples/bngl/test-bngl.json @@ -9,12 +9,13 @@ "id": "test.sedml/report", "dataSets": ["time", "Atot", "Btot", "GA00tot", "GA01tot", "GA10tot", "GB00tot", "GB01tot", "GB10tot"], "points": [101], - "values": { - "time": { + "values": [{ + "label": "time", + "value": { "0": 0.0, "100": 10 } - } + }] }], "expectedPlots": [], "runtimeFailureAlertType": "exception", diff --git a/examples/sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json b/examples/sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json index 806a80d..6ce203b 100644 --- a/examples/sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json +++ b/examples/sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json @@ -9,15 +9,16 @@ "id": "BIOMD0000000912_sim.sedml/BIOMD0000000912_sim", "dataSets": ["time", "T", "E", "I"], "points": [5001], - "values": { - "time": { + "values": [{ + "label": "time", + "value": { "0": 0.0, "1": 0.2, "2": 0.4, "999": 199.8, "1000": 200 } - } + }] }], "expectedPlots": [{ "id": "BIOMD0000000912_sim.sedml/plot_1" diff --git a/examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint.json b/examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint.json index 478f623..ab759ff 100644 --- a/examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint.json +++ b/examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint.json @@ -9,15 +9,16 @@ "id": "simulation_1.sedml/simulation_1", "dataSets": ["time", "Cdh1", "Trim", "Clb", "Sic", "PTrim", "PClb", "SBF", "IE", "Cdc20a", "Cdc20", "Swe1", "Swe1M", "PSwe1", "PSwe1M", "Mih1a", "Mcm", "BE", "Cln", "mass"], "points": [101], - "values": { - "time": { + "values": [{ + "label": "time", + "value": { "0": 0.0, "1": 1.0, "2": 2.0, "99": 99.0, "100": 100.0 } - } + }] }], "expectedPlots": [], "runtimeFailureAlertType": "exception", diff --git a/examples/sbml-core/Edelstein-Biol-Cybern-1996-Nicotinic-excitation.json b/examples/sbml-core/Edelstein-Biol-Cybern-1996-Nicotinic-excitation.json index 6a6f10f..26701da 100644 --- a/examples/sbml-core/Edelstein-Biol-Cybern-1996-Nicotinic-excitation.json +++ b/examples/sbml-core/Edelstein-Biol-Cybern-1996-Nicotinic-excitation.json @@ -9,15 +9,16 @@ "id": "BIOMD0000000002_sim.sedml/BIOMD0000000002_sim", "dataSets": ["time", "BLL", "IL", "AL"], "points": [1001], - "values": { - "time": { + "values": [{ + "label": "time", + "value": { "0": 0.0, "1": 0.0005, "2": 0.0010, "999": 0.4995, "1000": 0.5000 } - } + }] }], "expectedPlots": [], "runtimeFailureAlertType": "exception", diff --git a/examples/sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution.json b/examples/sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution.json index 77dc994..eb47040 100644 --- a/examples/sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution.json +++ b/examples/sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution.json @@ -9,12 +9,13 @@ "id": "Parmar2017_Deficient_Rich_tracer.sedml/simulation_1", "dataSets": ["time", "FeDuo"], "points": [301], - "values": { - "time": { + "values": [{ + "label": "time", + "value": { "0": 0.0, "300": 5100.0 } - } + }] }], "expectedPlots": [], "runtimeFailureAlertType": "exception", diff --git a/examples/sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis.json b/examples/sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis.json index bb412fa..8883d98 100644 --- a/examples/sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis.json +++ b/examples/sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis.json @@ -9,12 +9,13 @@ "id": "BIOMD0000000896_sim.sedml/BIOMD0000000896_sim", "dataSets": ["time", "Hsp70", "HSF", "S", "Hsp70_HSF", "Hsp70_S", "HSF_3", "HSE", "HSF_3_HSE", "mRNA"], "points": [4001], - "values": { - "time": { + "values": [{ + "label": "time", + "value": { "0": 0.0, "4000": 1000 } - } + }] }], "expectedPlots": [], "runtimeFailureAlertType": "exception", diff --git a/examples/sbml-core/Tomida-EMBO-J-2003-NFAT-translocation.json b/examples/sbml-core/Tomida-EMBO-J-2003-NFAT-translocation.json index 5ba95b9..9400060 100644 --- a/examples/sbml-core/Tomida-EMBO-J-2003-NFAT-translocation.json +++ b/examples/sbml-core/Tomida-EMBO-J-2003-NFAT-translocation.json @@ -9,12 +9,13 @@ "id": "BIOMD0000000678_sim.sedml/BIOMD0000000678_sim", "dataSets": ["time", "NFAT_phosphorylated", "NFAT_dephosphorylated", "NFAT_transported", "stimulus"], "points": [801], - "values": { - "time": { + "values": [{ + "label": "time", + "value": { "0": 0.0, "800": 80 } - } + }] }], "expectedPlots": [], "runtimeFailureAlertType": "exception", diff --git a/examples/sbml-core/Varusai-Sci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML.json b/examples/sbml-core/Varusai-Sci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML.json index 2ac9dcc..4c7c52c 100644 --- a/examples/sbml-core/Varusai-Sci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML.json +++ b/examples/sbml-core/Varusai-Sci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML.json @@ -9,12 +9,13 @@ "id": "LSODA.sedml/report_1_task1", "dataSets": ["Time", "pmTORC1"], "points": [1001], - "values": { - "Time": { + "values": [{ + "label": "Time", + "value": { "0": 0.0, "1000": 3600 } - } + }] }], "expectedPlots": [], "runtimeFailureAlertType": "exception", diff --git a/examples/sbml-fbc/Escherichia-coli-core-metabolism.json b/examples/sbml-fbc/Escherichia-coli-core-metabolism.json index bbb9148..8961295 100644 --- a/examples/sbml-fbc/Escherichia-coli-core-metabolism.json +++ b/examples/sbml-fbc/Escherichia-coli-core-metabolism.json @@ -9,11 +9,12 @@ "id": "simulation.sedml/report", "dataSets": ["objective_value"], "points": [], - "values": { - "objective_value": 0.8739215069684301 - } + "values": [{ + "label": "objective_value", + "value": 0.8739215069684301 + }] }], "expectedPlots": [], "runtimeFailureAlertType": "exception", "identifiers": [] -} +} \ No newline at end of file diff --git a/examples/sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.json b/examples/sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.json index fc77233..a52fb88 100644 --- a/examples/sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.json +++ b/examples/sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.json @@ -9,15 +9,16 @@ "id": "simulation.sedml/report", "dataSets": ["time", "egf", "erk", "nfkb", "tnfa"], "points": [21], - "values": { - "time": { + "values": [{ + "label": "time", + "value": { "0": 0, "1": 1, "2": 2, "19": 19, "20": 20 } - } + }] }], "expectedPlots": [], "runtimeFailureAlertType": "exception", @@ -28,4 +29,4 @@ "namespace": "doi", "id": "10.1186/1752-0509-7-135" }] -} \ No newline at end of file +} diff --git a/tests/test_case/test_published_project.py b/tests/test_case/test_published_project.py index d3723db..167f27f 100644 --- a/tests/test_case/test_published_project.py +++ b/tests/test_case/test_published_project.py @@ -69,11 +69,11 @@ def test_CuratedCombineArchiveTestCase_from_dict(self): filename = os.path.join('sbml-core', 'Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json') with open(os.path.join(base_path, filename), 'r') as file: data = json.load(file) - data['expectedReports'][0]['values']['T'] = [0, 1, 2, 3, 4, 5] + data['expectedReports'][0]['values'][0]['value'] = [0, 1, 2, 3, 4, 5] id = ('published_project.SimulatorCanExecutePublishedProject:' 'sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json') case = SimulatorCanExecutePublishedProject(id=id).from_dict(data) - numpy.testing.assert_allclose(case.expected_reports[0].values['T'], numpy.array([0, 1, 2, 3, 4, 5])) + numpy.testing.assert_allclose(case.expected_reports[0].values['time'], numpy.array([0, 1, 2, 3, 4, 5])) def test_CuratedCombineArchiveTestCase_from_dict_error_handling(self): base_path = os.path.join(os.path.dirname(__file__), '..', '..', 'examples') @@ -83,15 +83,15 @@ def test_CuratedCombineArchiveTestCase_from_dict_error_handling(self): id = ('published_project.SimulatorCanExecutePublishedProject:' 'sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json') - data['expectedReports'][0]['values'] = {'t': [0, 1, 2, 3, 4, 5]} + data['expectedReports'][0]['values'] = [{'label': 't', 'value': [0, 1, 2, 3, 4, 5]}] with self.assertRaisesRegex(ValueError, "keys were not in the 'dataSets' property"): SimulatorCanExecutePublishedProject(id=id).from_dict(data) - data['expectedReports'][0]['values'] = {'T': {'5001': 1000.2}} + data['expectedReports'][0]['values'] = [{'label': 'T', 'value': {'5001': 1000.2}}] with self.assertRaisesRegex(ValueError, "Key must be less than or equal to"): SimulatorCanExecutePublishedProject(id=id).from_dict(data) - data['expectedReports'][0]['values'] = {'T': {'5000': 1000.}} + data['expectedReports'][0]['values'] = [{'label': 'T', 'value': {'5000': 1000.}}] SimulatorCanExecutePublishedProject(id=id).from_dict(data) def test_CuratedCombineArchiveTestCase_from_json(self): From b8fb4f0801afd5eb790a475d32d4ef1e9da69b00 Mon Sep 17 00:00:00 2001 From: Jonathan Karr Date: Wed, 20 Jan 2021 01:27:28 -0500 Subject: [PATCH 2/7] updating for biosimulators-utils 0.1.34 --- .../test_case/published_project.py | 8 ++++---- biosimulators_test_suite/test_case/sedml.py | 4 ++-- tests/test_case/test_sedml.py | 18 +++++++++--------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/biosimulators_test_suite/test_case/published_project.py b/biosimulators_test_suite/test_case/published_project.py index 3adc53d..58c7e24 100644 --- a/biosimulators_test_suite/test_case/published_project.py +++ b/biosimulators_test_suite/test_case/published_project.py @@ -18,7 +18,7 @@ from biosimulators_utils.report.io import ReportReader from biosimulators_utils.sedml.data_model import ( # noqa: F401 Report, Task, UniformTimeCourseSimulation, - DataGenerator, DataGeneratorVariable, DataGeneratorVariableSymbol, DataSet, + DataGenerator, Variable, Symbol, DataSet, Model, Simulation, Algorithm) from biosimulators_utils.sedml.io import SedmlSimulationReader, SedmlSimulationWriter from biosimulators_utils.sedml.utils import (remove_algorithm_parameter_changes, @@ -910,7 +910,7 @@ def build_synthetic_archive(self, specifications, curated_archive, curated_archi time_data_set = False for data_gen in doc.data_generators: var = data_gen.variables[0] - if var.symbol == DataGeneratorVariableSymbol.time: + if var.symbol == Symbol.time: for data_set in report.data_sets: if data_set.data_generator == data_gen: time_data_set = True @@ -924,10 +924,10 @@ def build_synthetic_archive(self, specifications, curated_archive, curated_archi DataGenerator( id='__data_generator_time__', variables=[ - DataGeneratorVariable( + Variable( id='__variable_time__', task=task, - symbol=DataGeneratorVariableSymbol.time, + symbol=Symbol.time, ), ], math='__variable_time__', diff --git a/biosimulators_test_suite/test_case/sedml.py b/biosimulators_test_suite/test_case/sedml.py index 8fa0dba..c7c633f 100644 --- a/biosimulators_test_suite/test_case/sedml.py +++ b/biosimulators_test_suite/test_case/sedml.py @@ -13,7 +13,7 @@ from biosimulators_utils.config import get_config from biosimulators_utils.report.io import ReportReader from biosimulators_utils.sedml.data_model import (SedDocument, Output, Report, Plot2D, Plot3D, DataGenerator, # noqa: F401 - DataGeneratorVariable, UniformTimeCourseSimulation, + Variable, UniformTimeCourseSimulation, DataSet, Curve, Surface, AxisScale, Model, ModelAttributeChange, AlgorithmParameterChange) import abc @@ -326,7 +326,7 @@ def build_synthetic_archive(self, specifications, curated_archive, curated_archi sed_doc.data_generators.append(copy_data_gen) for var in data_set.data_generator.variables: - copy_var = DataGeneratorVariable(id=var.id, target=var.target, symbol=var.symbol, model=var.model) + copy_var = Variable(id=var.id, target=var.target, symbol=var.symbol, model=var.model) copy_var.task = copy_tasks[var.task.id] copy_data_gen.variables.append(copy_var) copy_data_set.data_generator = copy_data_gen diff --git a/tests/test_case/test_sedml.py b/tests/test_case/test_sedml.py index 133109b..bbdab3f 100644 --- a/tests/test_case/test_sedml.py +++ b/tests/test_case/test_sedml.py @@ -8,8 +8,8 @@ from biosimulators_utils.combine.data_model import CombineArchive, CombineArchiveContent, CombineArchiveContentFormat from biosimulators_utils.report.io import ReportWriter from biosimulators_utils.sedml.data_model import (SedDocument, Task, Report, DataSet, - DataGenerator, DataGeneratorVariable, UniformTimeCourseSimulation, - Algorithm, DataGeneratorVariableSymbol, Model, + DataGenerator, Variable, UniformTimeCourseSimulation, + Algorithm, Symbol, Model, Plot2D, Curve) from biosimulators_utils.simulator.io import read_simulator_specs from unittest import mock @@ -102,7 +102,7 @@ def get_suitable_sed_doc(sed_docs, case=case): good_doc.data_generators.append( DataGenerator( variables=[ - DataGeneratorVariable( + Variable( id='var_1', task=good_doc.tasks[0] ), @@ -122,7 +122,7 @@ def get_suitable_sed_doc(sed_docs, case=case): }), 'loc-2') good_doc.data_generators[0].variables.append( - DataGeneratorVariable( + Variable( id='var_2', task=good_doc.tasks[0] ), @@ -142,7 +142,7 @@ def get_suitable_sed_doc(sed_docs, case=case): good_doc.data_generators.append( DataGenerator( variables=[ - DataGeneratorVariable( + Variable( id='var_1', task=good_doc.tasks[0] ), @@ -152,7 +152,7 @@ def get_suitable_sed_doc(sed_docs, case=case): good_doc.data_generators.append( DataGenerator( variables=[ - DataGeneratorVariable( + Variable( id='var_2', task=good_doc.tasks[0] ), @@ -292,11 +292,11 @@ def test_SimulatorSupportsUniformTimeCoursesWithNonZeroOutputStartTimes_build_sy doc.tasks.append(Task(model=doc.models[0], simulation=doc.simulations[0])) doc.data_generators.append(DataGenerator( id='data_gen_x', - variables=[DataGeneratorVariable(id='var_x', task=doc.tasks[0])], + variables=[Variable(id='var_x', task=doc.tasks[0])], math='var_x')) doc.data_generators.append(DataGenerator( id='data_gen_y', - variables=[DataGeneratorVariable(id='var_y', task=doc.tasks[0])], + variables=[Variable(id='var_y', task=doc.tasks[0])], math='var_y')) doc.outputs.append(Report( id='report_1', @@ -314,7 +314,7 @@ def test_SimulatorSupportsUniformTimeCoursesWithNonZeroOutputStartTimes_build_sy case.build_synthetic_archive(None, archive, None, sed_docs) self.assertEqual(len(doc.data_generators), 3) - self.assertEqual(doc.data_generators[-1].variables[0].symbol, DataGeneratorVariableSymbol.time) + self.assertEqual(doc.data_generators[-1].variables[0].symbol, Symbol.time) self.assertEqual(len(doc.outputs[0].data_sets), 3) self.assertEqual(doc.outputs[0].data_sets[-1].data_generator, doc.data_generators[-1]) self.assertEqual(doc.outputs[0].data_sets[-1].label, '__data_set_time__') From 69e2e3061b588da83002dd3686723d4c5e720abd Mon Sep 17 00:00:00 2001 From: Jonathan Karr Date: Thu, 21 Jan 2021 04:39:17 -0500 Subject: [PATCH 3/7] updating for new report store in biosimulators-utils --- CONTRIBUTING.md | 2 +- biosimulators_test_suite/config.py | 9 ++ biosimulators_test_suite/data_model.py | 8 +- biosimulators_test_suite/exceptions.py | 4 +- .../test_case/published_project.py | 61 ++++++----- .../test_case/results_report.py | 20 ++-- biosimulators_test_suite/test_case/sedml.py | 57 +++++----- biosimulators_test_suite/warnings.py | 4 +- tests/test_case/test_combine_archive.py | 25 +++-- tests/test_case/test_log.py | 1 - tests/test_case/test_published_project.py | 62 +++++------ tests/test_case/test_results_report.py | 36 ++++--- tests/test_case/test_sedml.py | 100 ++++++++++-------- 13 files changed, 205 insertions(+), 184 deletions(-) create mode 100644 biosimulators_test_suite/config.py diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0759063..0c0077f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,7 +13,7 @@ This repository follows standard Python conventions: * `README.md`: Overview of this repository * `biosimulators_test_suite/`: Source code for this package * `examples`: Example modeling projects that the source code uses to test biosimulation software tools -* `examples-ouputs`: Example outputs (reports and plots) of executing the example modeling projects +* `examples-outputs`: Example outputs (reports and plots) of executing the example modeling projects * `tests/`: Unit tests for the code for this package * `setup.py`: pip installation script for this package * `setup.cfg`: Configuration for the pip installation script diff --git a/biosimulators_test_suite/config.py b/biosimulators_test_suite/config.py new file mode 100644 index 0000000..7d78a4c --- /dev/null +++ b/biosimulators_test_suite/config.py @@ -0,0 +1,9 @@ +import os + + +class Config(object): + def __init__(self, pull_docker_image=None): + if pull_docker_image is not None: + self.pull_docker_image = pull_docker_image + else: + self.pull_docker_image = os.getenv('PULL_DOCKER_IMAGE', '1').lower() in ['1', 'true'] diff --git a/biosimulators_test_suite/data_model.py b/biosimulators_test_suite/data_model.py index 3f24f7b..f24a488 100644 --- a/biosimulators_test_suite/data_model.py +++ b/biosimulators_test_suite/data_model.py @@ -98,18 +98,18 @@ class ExpectedSedReport(object): Attributes id (:obj:`str`): id - data_sets (:obj:`list` of :obj:`str`): ids of expected datasets + data_sets (:obj:`list` of :obj:`str`): labels of expected data sets points (:obj:`tuple` of :obj:`int`): number of expected points of - values (:obj:`dict` of :obj:`str` to :obj:`dict` of :obj:`list`): expected values of datasets or elements of datasets + values (:obj:`dict` of :obj:`str` to :obj:`dict` of :obj:`list`): expected values of data sets or elements of data sets """ def __init__(self, id=None, data_sets=None, points=None, values=None): """ Args: id (:obj:`str`, optional): id - data_sets (:obj:`set` of :obj:`str`, optional): ids of expected datasets + data_sets (:obj:`set` of :obj:`str`, optional): labels of expected data sets points (:obj:`tuple` of :obj:`int`, optional): number of expected points of - values (:obj:`dict` of :obj:`str` to :obj:`dict` of :obj:`list`, optional): expected values of datasets or elements of datasets + values (:obj:`dict` of :obj:`str` to :obj:`dict` of :obj:`list`, optional): expected values of data sets or elements of data sets """ self.id = id self.data_sets = data_sets or set() diff --git a/biosimulators_test_suite/exceptions.py b/biosimulators_test_suite/exceptions.py index 9a7ce72..7add6ce 100644 --- a/biosimulators_test_suite/exceptions.py +++ b/biosimulators_test_suite/exceptions.py @@ -8,7 +8,7 @@ __all__ = [ 'TestCaseException', - 'InvalidOuputsException', + 'InvalidOutputsException', 'SkippedTestCaseException', ] @@ -18,7 +18,7 @@ class TestCaseException(Exception): pass # pragma: no cover -class InvalidOuputsException(TestCaseException): +class InvalidOutputsException(TestCaseException): """ Exception raised when outputs of execution of COMBINE/OMEX archive are not as expected """ pass # pragma: no cover diff --git a/biosimulators_test_suite/test_case/published_project.py b/biosimulators_test_suite/test_case/published_project.py index 58c7e24..0cbb815 100644 --- a/biosimulators_test_suite/test_case/published_project.py +++ b/biosimulators_test_suite/test_case/published_project.py @@ -6,10 +6,11 @@ :License: MIT """ +from ..config import Config from ..data_model import (TestCase, SedTaskRequirements, ExpectedSedReport, ExpectedSedPlot, AlertType, OutputMedium) -from ..exceptions import InvalidOuputsException, SkippedTestCaseException -from ..warnings import IgnoredTestCaseWarning, SimulatorRuntimeErrorWarning, InvalidOuputsWarning, TestCaseWarning +from ..exceptions import InvalidOutputsException, SkippedTestCaseException +from ..warnings import IgnoredTestCaseWarning, SimulatorRuntimeErrorWarning, InvalidOutputsWarning, TestCaseWarning from .utils import are_array_shapes_equivalent from biosimulators_utils.combine.data_model import CombineArchive, CombineArchiveContentFormatPattern # noqa: F401 from biosimulators_utils.combine.io import CombineArchiveReader, CombineArchiveWriter @@ -281,9 +282,10 @@ def eval(self, specifications): out_dir = tempfile.mkdtemp() # pull image and execute COMBINE/OMEX archive for case + pull_docker_image = Config().pull_docker_image try: biosimulators_utils.simulator.exec.exec_sedml_docs_in_archive_with_containerized_simulator( - self.filename, out_dir, specifications['image']['url'], pull_docker_image=True) + self.filename, out_dir, specifications['image']['url'], pull_docker_image=pull_docker_image) except Exception as exception: shutil.rmtree(out_dir) @@ -303,40 +305,34 @@ def eval(self, specifications): else: report_reader = biosimulators_utils.report.io.ReportReader() for expected_report in self.expected_reports: + report = Report() + for data_set_label in expected_report.data_sets: + report.data_sets.append(DataSet(id=data_set_label, label=data_set_label)) try: - report = report_reader.run(out_dir, expected_report.id, format=ReportFormat.h5) + report_results = report_reader.run(report, out_dir, expected_report.id, format=ReportFormat.h5) except Exception: errors.append('Report {} could not be read'.format(expected_report.id)) continue - missing_data_sets = set(expected_report.data_sets).difference(set(report.index)) + missing_data_sets = set(expected_report.data_sets).difference(set(report_results.keys())) if missing_data_sets: errors.append(('Report {} does not contain expected data sets:\n {}\n\n' 'Report contained these data sets:\n {}').format( expected_report.id, '\n '.join(sorted(missing_data_sets)), - '\n '.join(sorted(report.index)), + '\n '.join(sorted(report_results.keys())), )) continue - extra_data_sets = set(report.index).difference(set(expected_report.data_sets)) - if extra_data_sets: - if self.assert_no_extra_datasets: - errors.append('Report {} contains unexpected data sets:\n {}'.format( - expected_report.id, '\n '.join(sorted(extra_data_sets)))) - continue - else: - warnings.warn('Report {} contains unexpected data sets:\n {}'.format( - expected_report.id, '\n '.join(sorted(extra_data_sets))), InvalidOuputsWarning) - - if not are_array_shapes_equivalent(report.shape[1:], expected_report.points): + points = report_results[report.data_sets[0].id].shape + if not are_array_shapes_equivalent(points, expected_report.points): errors.append('Report {} contains incorrect number of points: {} != {}'.format( - expected_report.id, report.shape[1:], expected_report.points)) + expected_report.id, points, expected_report.points)) continue for data_set_label, expected_value in expected_report.values.items(): if isinstance(expected_value, dict): - value = report.loc[data_set_label, :] + value = report_results[data_set_label] for el_id, expected_el_value in expected_value.items(): el_index = numpy.ravel_multi_index([el_id], value.shape)[0] actual_el_value = value[el_index] @@ -353,7 +349,7 @@ def eval(self, specifications): else: try: numpy.testing.assert_allclose( - report.loc[data_set_label, :], + report_results[data_set_label], expected_value, rtol=self.r_tol, atol=self.a_tol, @@ -371,7 +367,7 @@ def eval(self, specifications): '\n '.join(sorted(extra_report_ids)))) else: warnings.warn('Unexpected reports were produced:\n {}'.format( - '\n '.join(sorted(extra_report_ids))), InvalidOuputsWarning) + '\n '.join(sorted(extra_report_ids))), InvalidOutputsWarning) # check expected outputs created: plots if os.path.isfile(os.path.join(out_dir, get_config().PLOTS_PATH)): @@ -391,7 +387,7 @@ def eval(self, specifications): '\n '.join(sorted(missing_plot_ids)))) else: warnings.warn('Plots were not produced:\n {}'.format( - '\n '.join(sorted(missing_plot_ids))), InvalidOuputsWarning) + '\n '.join(sorted(missing_plot_ids))), InvalidOutputsWarning) if extra_plot_ids: if self.assert_no_extra_plots: @@ -399,14 +395,14 @@ def eval(self, specifications): '\n '.join(sorted(extra_plot_ids)))) else: warnings.warn('Extra plots were not produced:\n {}'.format( - '\n '.join(sorted(extra_plot_ids))), InvalidOuputsWarning) + '\n '.join(sorted(extra_plot_ids))), InvalidOutputsWarning) # cleanup outputs shutil.rmtree(out_dir) # raise errors if errors: - raise InvalidOuputsException('\n\n'.join(errors)) + raise InvalidOutputsException('\n\n'.join(errors)) class SyntheticCombineArchiveTestCase(TestCase): @@ -489,9 +485,10 @@ def eval(self, specifications): # use synthetic archive to test simulator outputs_dir = os.path.join(temp_dir, 'outputs') succeeded = False + pull_docker_image = Config().pull_docker_image try: biosimulators_utils.simulator.exec.exec_sedml_docs_in_archive_with_containerized_simulator( - synthetic_archive_filename, outputs_dir, specifications['image']['url'], pull_docker_image=True) + synthetic_archive_filename, outputs_dir, specifications['image']['url'], pull_docker_image=pull_docker_image) succeeded = self.eval_outputs(specifications, synthetic_archive, synthetic_sed_docs, outputs_dir) finally: @@ -914,7 +911,7 @@ def build_synthetic_archive(self, specifications, curated_archive, curated_archi for data_set in report.data_sets: if data_set.data_generator == data_gen: time_data_set = True - data_set.label = '__data_set_time__' + data_set.id = '__data_set_time__' break if time_data_set: break @@ -998,15 +995,17 @@ def eval_outputs(self, specifications, synthetic_archive, synthetic_sed_docs, ou sim = doc.simulations[0] report = doc.outputs[0] - data = ReportReader().run(outputs_dir, os.path.join(doc_id, report.id)) + data = ReportReader().run(report, outputs_dir, os.path.join(doc_id, report.id)) - if numpy.any(numpy.isnan(data)): - warnings.warn('The results produced by the simulator include `NaN`.', InvalidOuputsWarning) - has_warnings = True + for data_set_data in data.values(): + if numpy.any(numpy.isnan(data_set_data)): + warnings.warn('The results produced by the simulator include `NaN`.', InvalidOutputsWarning) + has_warnings = True + break try: numpy.testing.assert_allclose( - data.loc['__data_set_time__', :], + data['__data_set_time__'], numpy.linspace(sim.output_start_time, sim.output_end_time, sim.number_of_points + 1), rtol=1e-4, ) diff --git a/biosimulators_test_suite/test_case/results_report.py b/biosimulators_test_suite/test_case/results_report.py index 1601de6..fcc0474 100644 --- a/biosimulators_test_suite/test_case/results_report.py +++ b/biosimulators_test_suite/test_case/results_report.py @@ -49,25 +49,21 @@ def eval_outputs(self, specifications, synthetic_archive, synthetic_sed_docs, ou doc_id = os.path.relpath(doc_location, '.') for output in sed_doc.outputs: if isinstance(output, Report): - report_data = ReportReader().run(outputs_dir, os.path.join(doc_id, output.id), format=ReportFormat.h5) + report_data = ReportReader().run(output, outputs_dir, os.path.join(doc_id, output.id), format=ReportFormat.h5) - expected_data_sets = set(data_set.label for data_set in output.data_sets) - data_sets = set(report_data.index) + expected_data_sets = set(data_set.id for data_set in output.data_sets) + data_sets = set(report_data.keys()) missing_data_sets = expected_data_sets.difference(data_sets) - extra_data_sets = data_sets.difference(expected_data_sets) + # extra_data_sets = data_sets.difference(expected_data_sets) if missing_data_sets: raise ValueError('Simulator did not produce the following data sets:\n - {}'.format( '\n - '.join(sorted(missing_data_sets)))) - if extra_data_sets: - warnings.warn('Simulator produced the following extra data sets:\n - {}'.format( - '\n - '.join(sorted(extra_data_sets))), TestCaseWarning) - has_warning = True - - if numpy.any(numpy.isnan(report_data)): - warnings.warn('The results produced by the simulator include `NaN`.', TestCaseWarning) - has_warning = True + for data_set_data in report_data.values(): + if numpy.any(numpy.isnan(data_set_data)): + warnings.warn('The results produced by the simulator include `NaN`.', TestCaseWarning) + has_warning = True return not has_warning diff --git a/biosimulators_test_suite/test_case/sedml.py b/biosimulators_test_suite/test_case/sedml.py index c7c633f..ec518a5 100644 --- a/biosimulators_test_suite/test_case/sedml.py +++ b/biosimulators_test_suite/test_case/sedml.py @@ -5,8 +5,8 @@ :Copyright: 2020, Center for Reproducible Biomedical Modeling :License: MIT """ -from ..exceptions import InvalidOuputsException -from ..warnings import InvalidOuputsWarning +from ..exceptions import InvalidOutputsException +from ..warnings import InvalidOutputsWarning from .published_project import SingleMasterSedDocumentCombineArchiveTestCase, UniformTimeCourseTestCase from biosimulators_utils.combine.data_model import CombineArchive # noqa: F401 from biosimulators_utils.archive.io import ArchiveReader @@ -79,41 +79,41 @@ def eval_outputs(self, specifications, synthetic_archive, synthetic_sed_docs, ou extra_report_ids = set(report_ids).difference(expected_report_ids) if missing_report_ids: - raise InvalidOuputsException('Simulator did not produce the following reports:\n - {}'.format( + raise InvalidOutputsException('Simulator did not produce the following reports:\n - {}'.format( '\n - '.join(sorted('`' + id + '`' for id in missing_report_ids)) )) if extra_report_ids: msg = 'Simulator produced extra reports:\n - {}'.format( '\n - '.join(sorted('`' + id + '`' for id in extra_report_ids))) - warnings.warn(msg, InvalidOuputsWarning) + warnings.warn(msg, InvalidOutputsWarning) has_warnings = True # data sets - expected_data_set_labels = set() - data_set_labels = set() + expected_data_set_ids = set() + data_set_ids = set() for doc_location, doc in synthetic_sed_docs.items(): doc_id = os.path.relpath(doc_location, './') for output in doc.outputs: if isinstance(output, Report): for data_set in output.data_sets: - expected_data_set_labels.add(os.path.join(doc_id, output.id, data_set.label)) + expected_data_set_ids.add(os.path.join(doc_id, output.id, data_set.id)) - results = ReportReader().run(outputs_dir, os.path.join(doc_id, output.id)) - data_set_labels.update(set(os.path.join(doc_id, output.id, label) for label in results.index)) + results = ReportReader().run(output, outputs_dir, os.path.join(doc_id, output.id)) + data_set_ids.update(set(os.path.join(doc_id, output.id, id) for id in results.keys())) - missing_data_set_labels = expected_data_set_labels.difference(set(data_set_labels)) - extra_data_set_labels = set(data_set_labels).difference(expected_data_set_labels) + missing_data_set_ids = expected_data_set_ids.difference(set(data_set_ids)) + extra_data_set_ids = set(data_set_ids).difference(expected_data_set_ids) - if missing_data_set_labels: - raise InvalidOuputsException('Simulator did not produce the following data sets:\n - {}'.format( - '\n - '.join(sorted('`' + label + '`' for label in missing_data_set_labels)) + if missing_data_set_ids: + raise InvalidOutputsException('Simulator did not produce the following data sets:\n - {}'.format( + '\n - '.join(sorted('`' + id + '`' for id in missing_data_set_ids)) )) - if extra_data_set_labels: + if extra_data_set_ids: msg = 'Simulator produced extra data sets:\n - {}'.format( - '\n - '.join(sorted('`' + label + '`' for label in extra_data_set_labels))) - warnings.warn(msg, InvalidOuputsWarning) + '\n - '.join(sorted('`' + id + '`' for id in extra_data_set_ids))) + warnings.warn(msg, InvalidOutputsWarning) has_warnings = True return not has_warnings @@ -244,7 +244,7 @@ def eval_outputs(self, specifications, synthetic_archive, synthetic_sed_docs, ou doc_id = os.path.relpath(doc_location, './') report = doc.outputs[0] - data = ReportReader().run(outputs_dir, os.path.join(doc_id, report.id)) + data = ReportReader().run(report, outputs_dir, os.path.join(doc_id, report.id)) for alg_specs in specifications['algorithms']: if alg_specs['kisaoId']['id'] == doc.simulations[0].algorithm.kisao_id: @@ -252,11 +252,12 @@ def eval_outputs(self, specifications, synthetic_archive, synthetic_sed_docs, ou expected_dims = alg_specs['dependentDimensions'] - if numpy.squeeze(data).ndim != 1 + len(expected_dims): + data_set_data = data[report.data_sets[0].id] + if numpy.squeeze(data_set_data).ndim != len(expected_dims): msg = ('The specifications for the number of dimensions of each data set of algorithm `{}` differs ' 'from the actual number of dimensions, {} != {}.').format( - doc.simulations[0].algorithm.kisao_id, data.ndim - 1, len(expected_dims)) - warnings.warn(msg, InvalidOuputsWarning) + doc.simulations[0].algorithm.kisao_id, numpy.squeeze(data_set_data).ndim, len(expected_dims)) + warnings.warn(msg, InvalidOutputsWarning) return False else: return True @@ -427,14 +428,14 @@ def eval_outputs(self, specifications, synthetic_archive, synthetic_sed_docs, ou extra_report_ids = set(report_ids).difference(expected_report_ids) if missing_report_ids: - raise InvalidOuputsException('Simulator did not produce the following reports:\n - {}'.format( + raise InvalidOutputsException('Simulator did not produce the following reports:\n - {}'.format( '\n - '.join(sorted('`' + id + '`' for id in missing_report_ids)) )) if extra_report_ids: msg = 'Simulator produced extra reports:\n - {}'.format( '\n - '.join(sorted('`' + id + '`' for id in extra_report_ids))) - warnings.warn(msg, InvalidOuputsWarning) + warnings.warn(msg, InvalidOutputsWarning) has_warnings = True return not has_warnings @@ -536,7 +537,7 @@ def eval_outputs(self, specifications, synthetic_archive, synthetic_sed_docs, ou """ plots_path = os.path.join(outputs_dir, get_config().PLOTS_PATH) if not os.path.isfile(plots_path): - warnings.warn('Simulator did not produce plots', InvalidOuputsWarning) + warnings.warn('Simulator did not produce plots', InvalidOutputsWarning) return tempdir = tempfile.mkdtemp() @@ -544,7 +545,7 @@ def eval_outputs(self, specifications, synthetic_archive, synthetic_sed_docs, ou archive = ArchiveReader().run(plots_path, tempdir) except Exception: shutil.rmtree(tempdir) - raise InvalidOuputsException('Simulator produced an invalid zip archive of plots') + raise InvalidOutputsException('Simulator produced an invalid zip archive of plots') for file in archive.files: with open(file.local_path, 'rb') as file: @@ -552,7 +553,7 @@ def eval_outputs(self, specifications, synthetic_archive, synthetic_sed_docs, ou PyPDF2.PdfFileReader(file) except Exception: shutil.rmtree(tempdir) - raise InvalidOuputsException('Simulator produced an invalid PDF plot') + raise InvalidOutputsException('Simulator produced an invalid PDF plot') doc = list(synthetic_sed_docs.values())[0] doc_location = list(synthetic_sed_docs.keys())[0] @@ -566,14 +567,14 @@ def eval_outputs(self, specifications, synthetic_archive, synthetic_sed_docs, ou if missing_plot_ids: shutil.rmtree(tempdir) - raise InvalidOuputsException('Simulator did not produce the following plots:\n - {}'.format( + raise InvalidOutputsException('Simulator did not produce the following plots:\n - {}'.format( '\n - '.join(sorted('`' + id + '`' for id in missing_plot_ids)) )) if extra_plot_ids: msg = 'Simulator produced extra plots:\n - {}'.format( '\n - '.join(sorted('`' + id + '`' for id in extra_plot_ids))) - warnings.warn(msg, InvalidOuputsWarning) + warnings.warn(msg, InvalidOutputsWarning) shutil.rmtree(tempdir) diff --git a/biosimulators_test_suite/warnings.py b/biosimulators_test_suite/warnings.py index eb02f20..ff1b3ad 100644 --- a/biosimulators_test_suite/warnings.py +++ b/biosimulators_test_suite/warnings.py @@ -10,7 +10,7 @@ 'TestCaseWarning', 'IgnoredTestCaseWarning', 'SimulatorRuntimeErrorWarning', - 'InvalidOuputsWarning', + 'InvalidOutputsWarning', ] @@ -29,6 +29,6 @@ class IgnoredTestCaseWarning(TestCaseWarning): pass # pragma: no cover -class InvalidOuputsWarning(TestCaseWarning): +class InvalidOutputsWarning(TestCaseWarning): """ Warning that the outputs of the execution of a COMBINE/OMEX archive were not as expected """ pass # pragma: no cover diff --git a/tests/test_case/test_combine_archive.py b/tests/test_case/test_combine_archive.py index 197afb2..6e3f833 100644 --- a/tests/test_case/test_combine_archive.py +++ b/tests/test_case/test_combine_archive.py @@ -1,8 +1,9 @@ from biosimulators_test_suite.test_case import combine_archive from biosimulators_test_suite.test_case.published_project import SimulatorCanExecutePublishedProject from biosimulators_test_suite.warnings import TestCaseWarning +from biosimulators_utils.report.data_model import DataSetResults from biosimulators_utils.report.io import ReportWriter -from biosimulators_utils.sedml.data_model import SedDocument, Task, Report +from biosimulators_utils.sedml.data_model import SedDocument, Task, Report, DataSet import numpy import os import pandas @@ -32,11 +33,15 @@ def test_WhenACombineArchiveHasAMasterFileSimulatorOnlyExecutesThisFile_eval_out with self.assertRaisesRegex(ValueError, 'did not generate'): case.eval_outputs(None, None, None, self.dirname) - data_frame = pandas.DataFrame(numpy.array([[1, 2, 3], [4, 5, 6]]), index=['A', 'B']) - ReportWriter().run(data_frame, self.dirname, 'a.sedml/b') + report = Report(data_sets=[DataSet(id='A', label='A'), DataSet(id='B', label='B')]) + data = DataSetResults({ + 'A': numpy.array([1, 2, 3]), + 'B': numpy.array([4, 5, 6]), + }) + ReportWriter().run(report, data, self.dirname, 'a.sedml/b') case.eval_outputs(None, None, None, self.dirname) - ReportWriter().run(data_frame, self.dirname, 'b.sedml/b') + ReportWriter().run(report, data, self.dirname, 'b.sedml/b') with self.assertWarnsRegex(TestCaseWarning, ''): case.eval_outputs(None, None, None, self.dirname) @@ -59,12 +64,16 @@ def test_WhenACombineArchiveHasNoMasterFileSimulatorExecutesAllSedDocuments_eval with self.assertRaisesRegex(ValueError, 'did not generate'): case.eval_outputs(None, None, None, self.dirname) - data_frame = pandas.DataFrame(numpy.array([[1, 2, 3], [4, 5, 6]]), index=['A', 'B']) - ReportWriter().run(data_frame, self.dirname, 'a.sedml/b') - ReportWriter().run(data_frame, self.dirname, 'b.sedml/b') + report = Report(data_sets=[DataSet(id='A', label='A'), DataSet(id='B', label='B')]) + data = DataSetResults({ + 'A': numpy.array([1, 2, 3]), + 'B': numpy.array([4, 5, 6]), + }) + ReportWriter().run(report, data, self.dirname, 'a.sedml/b') + ReportWriter().run(report, data, self.dirname, 'b.sedml/b') case.eval_outputs(None, None, None, self.dirname) - ReportWriter().run(data_frame, self.dirname, 'c.sedml/b') + ReportWriter().run(report, data, self.dirname, 'c.sedml/b') with self.assertWarnsRegex(TestCaseWarning, ''): case.eval_outputs(None, None, None, self.dirname) diff --git a/tests/test_case/test_log.py b/tests/test_case/test_log.py index 258f737..bd39f3f 100644 --- a/tests/test_case/test_log.py +++ b/tests/test_case/test_log.py @@ -2,7 +2,6 @@ from biosimulators_test_suite.test_case.published_project import SimulatorCanExecutePublishedProject from biosimulators_test_suite.warnings import TestCaseWarning from biosimulators_utils.config import get_config -from biosimulators_utils.report.io import ReportWriter from biosimulators_utils.sedml.data_model import SedDocument, Task, Report import numpy import os diff --git a/tests/test_case/test_published_project.py b/tests/test_case/test_published_project.py index 167f27f..8fa938f 100644 --- a/tests/test_case/test_published_project.py +++ b/tests/test_case/test_published_project.py @@ -1,15 +1,16 @@ from biosimulators_test_suite import data_model -from biosimulators_test_suite.exceptions import InvalidOuputsException, SkippedTestCaseException +from biosimulators_test_suite.exceptions import InvalidOutputsException, SkippedTestCaseException from biosimulators_test_suite.results.data_model import TestCaseResult, TestCaseResultType from biosimulators_test_suite.test_case.published_project import ( SimulatorCanExecutePublishedProject, find_cases, SyntheticCombineArchiveTestCase, ConfigurableMasterCombineArchiveTestCase) -from biosimulators_test_suite.warnings import IgnoredTestCaseWarning, SimulatorRuntimeErrorWarning, InvalidOuputsWarning +from biosimulators_test_suite.warnings import IgnoredTestCaseWarning, SimulatorRuntimeErrorWarning, InvalidOutputsWarning from biosimulators_utils.archive.data_model import Archive, ArchiveFile from biosimulators_utils.archive.io import ArchiveWriter from biosimulators_utils.combine.data_model import CombineArchive from biosimulators_utils.combine.io import CombineArchiveReader +from biosimulators_utils.report.data_model import DataSetResults from biosimulators_utils.report.io import ReportWriter, ReportFormat -from biosimulators_utils.sedml.data_model import Task +from biosimulators_utils.sedml.data_model import Task, Report, DataSet from unittest import mock import biosimulators_utils.simulator.exec import functools @@ -188,24 +189,29 @@ def exec_archive(error, missing_report, extra_report, missing_data_set, extra_da numpy.zeros((points, )), numpy.zeros((points, )), ] - index = ['time', 'T', 'E', 'I'] + ids = ['data_set_time', 'data_set_T', 'data_set_E', 'data_set_I'] + labels = ['time', 'T', 'E', 'I'] if missing_data_set: data.pop() - index.pop() + ids.pop() + labels.pop() if extra_data_set: data.append(numpy.zeros((5001, ))) - index.append('extra') + ids.append('extra') + labels.append('extra') if incorrect_values: data[0][0] = -1 data[1][0] = -1 if extra_report: - df = pandas.DataFrame(numpy.array(data), index=index) - ReportWriter().run(df, out_dir, 'BIOMD0000000912_sim.sedml/extra', ReportFormat.h5) + report = Report(data_sets=[DataSet(id=i, label=l) for i, l in zip(ids, labels)]) + data_set_results = DataSetResults({i: d for i, d in zip(ids, data)}) + ReportWriter().run(report, data_set_results, out_dir, 'BIOMD0000000912_sim.sedml/extra', ReportFormat.h5) if not missing_report: - df = pandas.DataFrame(numpy.array(data), index=index) - ReportWriter().run(df, out_dir, 'BIOMD0000000912_sim.sedml/BIOMD0000000912_sim', ReportFormat.h5) + report = Report(data_sets=[DataSet(id=i, label=l) for i, l in zip(ids, labels)]) + data_set_results = DataSetResults({i: d for i, d in zip(ids, data)}) + ReportWriter().run(report, data_set_results, out_dir, 'BIOMD0000000912_sim.sedml/BIOMD0000000912_sim', ReportFormat.h5) plot_file = os.path.join(out_dir, 'plot.pdf') with open(plot_file, 'w') as file: @@ -235,79 +241,67 @@ def exec_archive(error, missing_report, extra_report, missing_data_set, extra_da case.eval(specs) case.runtime_failure_alert_type = data_model.AlertType.exception - with self.assertRaisesRegex(InvalidOuputsException, 'No reports were generated'): + with self.assertRaisesRegex(InvalidOutputsException, 'No reports were generated'): with mock.patch(exec_archive_method, functools.partial( exec_archive, False, True, False, False, False, False, False, False, False, False)): case.eval(specs) - with self.assertRaisesRegex(InvalidOuputsException, 'could not be read'): + with self.assertRaisesRegex(InvalidOutputsException, 'could not be read'): with mock.patch(exec_archive_method, functools.partial( exec_archive, False, True, True, False, False, False, False, False, False, False)): case.eval(specs) - with self.assertWarnsRegex(InvalidOuputsWarning, 'Unexpected reports were produced'): + with self.assertWarnsRegex(InvalidOutputsWarning, 'Unexpected reports were produced'): with mock.patch(exec_archive_method, functools.partial( exec_archive, False, False, True, False, False, False, False, False, False, False)): case.eval(specs) - with self.assertRaisesRegex(InvalidOuputsException, 'does not contain expected data sets'): + with self.assertRaisesRegex(InvalidOutputsException, 'does not contain expected data sets'): with mock.patch(exec_archive_method, functools.partial( exec_archive, False, False, False, True, False, False, False, False, False, False)): case.eval(specs) - with self.assertWarnsRegex(InvalidOuputsWarning, 'contains unexpected data sets'): - with mock.patch(exec_archive_method, functools.partial( - exec_archive, False, False, False, False, True, False, False, False, False, False)): - case.eval(specs) - - with self.assertRaisesRegex(InvalidOuputsException, 'incorrect number of points'): + with self.assertRaisesRegex(InvalidOutputsException, 'incorrect number of points'): with mock.patch(exec_archive_method, functools.partial( exec_archive, False, False, False, False, False, True, False, False, False, False)): case.eval(specs) - with self.assertRaisesRegex(InvalidOuputsException, 'does not have expected value'): + with self.assertRaisesRegex(InvalidOutputsException, 'does not have expected value'): with mock.patch(exec_archive_method, functools.partial( exec_archive, False, False, False, False, False, False, True, False, False, False)): case.eval(specs) - with self.assertWarnsRegex(InvalidOuputsWarning, 'Plots were not produced'): + with self.assertWarnsRegex(InvalidOutputsWarning, 'Plots were not produced'): with mock.patch(exec_archive_method, functools.partial( exec_archive, False, False, False, False, False, False, False, True, False, False)): case.eval(specs) - with self.assertWarnsRegex(InvalidOuputsWarning, 'Plots were not produced'): + with self.assertWarnsRegex(InvalidOutputsWarning, 'Plots were not produced'): with mock.patch(exec_archive_method, functools.partial( exec_archive, False, False, False, False, False, False, False, False, True, False)): case.eval(specs) - with self.assertWarnsRegex(InvalidOuputsWarning, 'Extra plots were not produced'): + with self.assertWarnsRegex(InvalidOutputsWarning, 'Extra plots were not produced'): with mock.patch(exec_archive_method, functools.partial( exec_archive, False, False, False, False, False, False, False, False, False, True)): case.eval(specs) case.assert_no_extra_reports = True - with self.assertRaisesRegex(InvalidOuputsException, 'Unexpected reports were produced'): + with self.assertRaisesRegex(InvalidOutputsException, 'Unexpected reports were produced'): with mock.patch(exec_archive_method, functools.partial( exec_archive, False, False, True, False, False, False, False, False, False, False)): case.eval(specs) case.assert_no_extra_reports = False - case.assert_no_extra_datasets = True - with self.assertRaisesRegex(InvalidOuputsException, 'contains unexpected data sets'): - with mock.patch(exec_archive_method, functools.partial( - exec_archive, False, False, False, False, True, False, False, False, False, False)): - case.eval(specs) - case.assert_no_extra_datasets = False - case.assert_no_missing_plots = True - with self.assertRaisesRegex(InvalidOuputsException, 'Plots were not produced'): + with self.assertRaisesRegex(InvalidOutputsException, 'Plots were not produced'): with mock.patch(exec_archive_method, functools.partial( exec_archive, False, False, False, False, False, False, False, True, False, False)): case.eval(specs) case.assert_no_missing_plots = False case.assert_no_extra_plots = True - with self.assertRaisesRegex(InvalidOuputsException, 'Extra plots were not produced'): + with self.assertRaisesRegex(InvalidOutputsException, 'Extra plots were not produced'): with mock.patch(exec_archive_method, functools.partial( exec_archive, False, False, False, False, False, False, False, False, False, True)): case.eval(specs) diff --git a/tests/test_case/test_results_report.py b/tests/test_case/test_results_report.py index 9e292eb..eb43457 100644 --- a/tests/test_case/test_results_report.py +++ b/tests/test_case/test_results_report.py @@ -1,6 +1,7 @@ from biosimulators_test_suite.test_case import results_report from biosimulators_test_suite.test_case.published_project import SimulatorCanExecutePublishedProject from biosimulators_test_suite.warnings import TestCaseWarning +from biosimulators_utils.report.data_model import DataSetResults from biosimulators_utils.report.io import ReportWriter from biosimulators_utils.sedml.data_model import SedDocument, Report, DataSet import numpy @@ -34,32 +35,39 @@ def test_SimulatorGeneratesReportsOfSimultionResults_eval_outputs(self): Report( id='report_1', data_sets=[ - DataSet(label='A'), - DataSet(label='B'), + DataSet(id='A', label='A'), + DataSet(id='B', label='B'), ], ) ], ) synthetic_sed_docs = {'test.sedml': doc} - data = numpy.array([[1., 2., 3.], [4., 5., 6.]]) - data_frame = pandas.DataFrame(data, index=['A', 'C']) - - ReportWriter().run(data_frame, self.dirname, os.path.join('test.sedml', 'report_1')) + report = Report(data_sets=[DataSet(id='A', label='A'), DataSet(id='C', label='C')]) + data_set_results = DataSetResults({ + 'A': numpy.array([1., 2., 3.]), + 'C': numpy.array([4., 5., 6.]), + }) + ReportWriter().run(report, data_set_results, self.dirname, os.path.join('test.sedml', 'report_1')) with self.assertRaisesRegex(ValueError, 'did not produce'): case.eval_outputs(None, None, synthetic_sed_docs, self.dirname) - data = numpy.array([[1., 2., 3.], [4., 5., 6.], [7., 8., numpy.nan]]) - data_frame = pandas.DataFrame(data, index=['A', 'B', 'C']) - ReportWriter().run(data_frame, self.dirname, os.path.join('test.sedml', 'report_1')) - with self.assertWarnsRegex(TestCaseWarning, 'produced the following extra'): - self.assertEqual(case.eval_outputs(None, None, synthetic_sed_docs, self.dirname), False) + report = Report(data_sets=[DataSet(id='A', label='A'), DataSet(id='B', label='B'), DataSet(id='C', label='C')]) + data_set_results = DataSetResults({ + 'A': numpy.array([1., 2., 3.]), + 'B': numpy.array([4., 5., numpy.nan]), + 'C': numpy.array([7., 8., numpy.nan]), + }) + ReportWriter().run(report, data_set_results, self.dirname, os.path.join('test.sedml', 'report_1')) with self.assertWarnsRegex(TestCaseWarning, 'include `NaN`'): self.assertEqual(case.eval_outputs(None, None, synthetic_sed_docs, self.dirname), False) - data = numpy.array([[1., 2., 3.], [4., 5., 6.]]) - data_frame = pandas.DataFrame(data, index=['A', 'B']) - ReportWriter().run(data_frame, self.dirname, os.path.join('test.sedml', 'report_1')) + report = Report(data_sets=[DataSet(id='A', label='A'), DataSet(id='B', label='B')]) + data_set_results = DataSetResults({ + 'A': numpy.array([1., 2., 3.]), + 'B': numpy.array([4., 5., 6.]), + }) + ReportWriter().run(report, data_set_results, self.dirname, os.path.join('test.sedml', 'report_1')) self.assertEqual(case.eval_outputs(None, None, synthetic_sed_docs, self.dirname), True) def test_SimulatorGeneratesReportsOfSimultionResults(self): diff --git a/tests/test_case/test_sedml.py b/tests/test_case/test_sedml.py index bbdab3f..50df016 100644 --- a/tests/test_case/test_sedml.py +++ b/tests/test_case/test_sedml.py @@ -1,11 +1,12 @@ -from biosimulators_test_suite.exceptions import InvalidOuputsException +from biosimulators_test_suite.exceptions import InvalidOutputsException from biosimulators_test_suite.test_case import sedml from biosimulators_test_suite.test_case.published_project import SimulatorCanExecutePublishedProject, SyntheticCombineArchiveTestCase -from biosimulators_test_suite.warnings import IgnoredTestCaseWarning, InvalidOuputsWarning, TestCaseWarning +from biosimulators_test_suite.warnings import IgnoredTestCaseWarning, InvalidOutputsWarning, TestCaseWarning from biosimulators_utils.archive.data_model import Archive, ArchiveFile from biosimulators_utils.archive.io import ArchiveWriter from biosimulators_utils.config import get_config from biosimulators_utils.combine.data_model import CombineArchive, CombineArchiveContent, CombineArchiveContentFormat +from biosimulators_utils.report.data_model import DataSetResults from biosimulators_utils.report.io import ReportWriter from biosimulators_utils.sedml.data_model import (SedDocument, Task, Report, DataSet, DataGenerator, Variable, UniformTimeCourseSimulation, @@ -42,31 +43,31 @@ def test_SimulatorSupportsModelsSimulationsTasksDataGeneratorsAndReports_eval_ou Report( id='b', data_sets=[ - DataSet(label='x'), - DataSet(label='y'), + DataSet(id='x', label='x'), + DataSet(id='y', label='y'), ], ), ], ) - with self.assertRaisesRegex(InvalidOuputsException, 'did not produce the following reports'): + report = doc.outputs[0] + + with self.assertRaisesRegex(InvalidOutputsException, 'did not produce the following reports'): case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname) - data_frame = pandas.DataFrame(numpy.array([[1, 2, 3]]), index=['x']) - ReportWriter().run(data_frame, self.dirname, 'a.sedml/b') - with self.assertRaisesRegex(InvalidOuputsException, 'did not produce the following data sets'): + data_set_results = DataSetResults({'x': numpy.array([1, 2, 3])}) + ReportWriter().run(report, data_set_results, self.dirname, 'a.sedml/b') + with self.assertRaisesRegex(InvalidOutputsException, 'did not produce the following data sets'): case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname) - data_frame = pandas.DataFrame(numpy.array([[1, 2, 3], [4, 5, 6]]), index=['x', 'y']) - ReportWriter().run(data_frame, self.dirname, 'a.sedml/b') + data_set_results = DataSetResults({'x': numpy.array([1, 2, 3]), 'y': numpy.array([4, 5, 6])}) + ReportWriter().run(report, data_set_results, self.dirname, 'a.sedml/b') self.assertTrue(case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname)) - data_frame = pandas.DataFrame(numpy.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), index=['x', 'y', 'z']) - ReportWriter().run(data_frame, self.dirname, 'a.sedml/b') - ReportWriter().run(data_frame, self.dirname, 'a.sedml/c') - with self.assertWarnsRegex(InvalidOuputsWarning, 'extra reports'): - self.assertFalse(case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname)) - with self.assertWarnsRegex(InvalidOuputsWarning, 'extra data sets'): + data_set_results = DataSetResults({'x': numpy.array([1, 2, 3]), 'y': numpy.array([4, 5, 6]), 'z': numpy.array([7, 8, 9])}) + ReportWriter().run(report, data_set_results, self.dirname, 'a.sedml/b') + ReportWriter().run(report, data_set_results, self.dirname, 'a.sedml/c') + with self.assertWarnsRegex(InvalidOutputsWarning, 'extra reports'): self.assertFalse(case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname)) def test_SimulatorSupportsModelsSimulationsTasksDataGeneratorsAndReports(self): @@ -193,8 +194,9 @@ def test_SimulatorSupportsMultipleTasksPerSedDocument_eval_outputs(self): with self.assertRaisesRegex(ValueError, 'were not generated'): case.eval_outputs(None, None, None, self.dirname) - data_frame = pandas.DataFrame(numpy.array([[1, 2, 3], [4, 5, 6]]), index=['A', 'B']) - ReportWriter().run(data_frame, self.dirname, 'a.sedml/b') + report = Report(data_sets=[DataSet(id='A', label='A'), DataSet(id='B', label='B')]) + data_set_results = DataSetResults({'A': numpy.array([1, 2, 3]), 'B': numpy.array([4, 5, 6])}) + ReportWriter().run(report, data_set_results, self.dirname, 'a.sedml/b') case.eval_outputs(None, None, None, self.dirname) def test_SimulatorSupportsMultipleTasksPerSedDocument(self): @@ -220,30 +222,33 @@ def test_SimulatorSupportsMultipleReportsPerSedDocument_eval_outputs(self): Report( id='report_1', data_sets=[ - DataSet(label='x'), + DataSet(id='x', label='x'), ], ), Report( id='report_2', data_sets=[ - DataSet(label='y'), + DataSet(id='y', label='y'), ], ), ], ) - with self.assertRaisesRegex(InvalidOuputsException, 'did not produce the following reports'): + with self.assertRaisesRegex(InvalidOutputsException, 'did not produce the following reports'): case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname) - data_frame = pandas.DataFrame(numpy.array([[1, 2, 3]]), index=['x']) - ReportWriter().run(data_frame, self.dirname, 'a.sedml/report_1') - data_frame = pandas.DataFrame(numpy.array([[4, 5, 6]]), index=['y']) - ReportWriter().run(data_frame, self.dirname, 'a.sedml/report_2') + report = doc.outputs[0] + data_set_results = DataSetResults({'x': numpy.array([1, 2, 3])}) + ReportWriter().run(report, data_set_results, self.dirname, 'a.sedml/report_1') + report = doc.outputs[1] + data_set_results = DataSetResults({'y': numpy.array([4, 5, 6])}) + ReportWriter().run(report, data_set_results, self.dirname, 'a.sedml/report_2') self.assertTrue(case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname)) - data_frame = pandas.DataFrame(numpy.array([[7, 8, 9]]), index=['z']) - ReportWriter().run(data_frame, self.dirname, 'a.sedml/report_3') - with self.assertWarnsRegex(InvalidOuputsWarning, 'extra reports'): + report = Report(data_sets=[DataSet(id='z', label='z')]) + data_set_results = DataSetResults({'z': numpy.array([7, 8, 9])}) + ReportWriter().run(report, data_set_results, self.dirname, 'a.sedml/report_3') + with self.assertWarnsRegex(InvalidOutputsWarning, 'extra reports'): self.assertFalse(case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname)) def test_SimulatorSupportsMultipleReportsPerSedDocument(self): @@ -324,7 +329,7 @@ def test_SimulatorSupportsUniformTimeCoursesWithNonZeroOutputStartTimes_build_sy doc.simulations[0].number_of_points = 100 doc.outputs[0].data_sets[-1].label = 'time' case.build_synthetic_archive(None, archive, None, sed_docs) - self.assertEqual(doc.outputs[0].data_sets[-1].label, '__data_set_time__') + self.assertEqual(doc.outputs[0].data_sets[-1].id, '__data_set_time__') doc.outputs[0].data_sets = [] self.assertFalse(case.is_curated_sed_report_suitable_for_building_synthetic_archive(None, doc.outputs[0])) @@ -340,20 +345,22 @@ def test_SimulatorSupportsUniformTimeCoursesWithNonZeroOutputStartTimes_eval_out Report( id='report_1', data_sets=[ - DataSet(label='__data_set_time__'), + DataSet(id='__data_set_time__', label='__data_set_time__'), ], ), ], ) - data_frame = pandas.DataFrame(numpy.array([[10., 15., numpy.nan]]), index=['__data_set_time__']) - ReportWriter().run(data_frame, self.dirname, 'a.sedml/report_1') + report = doc.outputs[0] + + data_set_results = DataSetResults({'__data_set_time__': numpy.array([10., 15., numpy.nan])}) + ReportWriter().run(report, data_set_results, self.dirname, 'a.sedml/report_1') with self.assertRaisesRegex(ValueError, 'did not produce the expected time course'): - with self.assertWarnsRegex(InvalidOuputsWarning, 'include `NaN`'): + with self.assertWarnsRegex(InvalidOutputsWarning, 'include `NaN`'): case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname) - data_frame = pandas.DataFrame(numpy.array([[10., 15., 20.]]), index=['__data_set_time__']) - ReportWriter().run(data_frame, self.dirname, 'a.sedml/report_1') + data_set_results = DataSetResults({'__data_set_time__': numpy.array([10., 15., 20.])}) + ReportWriter().run(report, data_set_results, self.dirname, 'a.sedml/report_1') self.assertTrue(case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname)) def test_SimulatorSupportsUniformTimeCoursesWithNonZeroOutputStartTimes(self): @@ -393,14 +400,14 @@ def test_SimulatorProducesLinear2DPlots_eval_outputs(self): ], ) - with self.assertWarnsRegex(InvalidOuputsWarning, 'did not produce plots'): + with self.assertWarnsRegex(InvalidOutputsWarning, 'did not produce plots'): case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname) plots_path = os.path.join(self.dirname, get_config().PLOTS_PATH) with open(plots_path, 'w') as file: file.write('not a zip') - with self.assertRaisesRegex(InvalidOuputsException, 'invalid zip archive'): + with self.assertRaisesRegex(InvalidOutputsException, 'invalid zip archive'): case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname) plot_1_path = os.path.join(self.dirname, 'plot_1.pdf') @@ -412,7 +419,7 @@ def test_SimulatorProducesLinear2DPlots_eval_outputs(self): ], ) ArchiveWriter().run(archive, plots_path) - with self.assertRaisesRegex(InvalidOuputsException, 'invalid PDF'): + with self.assertRaisesRegex(InvalidOutputsException, 'invalid PDF'): case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname) with open(plot_1_path, 'wb') as file: @@ -420,7 +427,7 @@ def test_SimulatorProducesLinear2DPlots_eval_outputs(self): writer.addBlankPage(width=20, height=20) writer.write(file) ArchiveWriter().run(archive, plots_path) - with self.assertRaisesRegex(InvalidOuputsException, 'did not produce'): + with self.assertRaisesRegex(InvalidOutputsException, 'did not produce'): case.eval_outputs(None, None, {'./a.sedml': doc}, self.dirname) plot_2_path = os.path.join(self.dirname, 'plot_2.pdf') @@ -557,20 +564,19 @@ def test_SimulatorProducesReportsWithCuratedNumberOfDimensions(self): outputs=[ Report( id='report_1', + data_sets=[DataSet(id='A', label='A'), DataSet(id='B', label='B'), DataSet(id='C', label='C')], ), ], ) - data = numpy.array([numpy.array(1.), numpy.array(2.), numpy.array(3.), ]) - index = ['A', 'B', 'C'] - data_frame = pandas.DataFrame(data, index=index) - ReportWriter().run(data_frame, self.dirname, 'a.sedml/report_1') + report = doc.outputs[0] + + data_set_results = DataSetResults({'A': numpy.array(1.), 'B': numpy.array(2.), 'C': numpy.array(3.)}) + ReportWriter().run(report, data_set_results, self.dirname, 'a.sedml/report_1') self.assertTrue(case.eval_outputs(specs, None, {'./a.sedml': doc}, self.dirname)) - data = numpy.array([numpy.array([1., 2.]), numpy.array([2., 3.]), numpy.array([3., 4.]), ]) - index = ['A', 'B', 'C'] - data_frame = pandas.DataFrame(data, index=index) - ReportWriter().run(data_frame, self.dirname, 'a.sedml/report_1') + data_set_results = DataSetResults({'A': numpy.array([1., 2.]), 'B': numpy.array([2., 3.]), 'C': numpy.array([3., 4.])}) + ReportWriter().run(report, data_set_results, self.dirname, 'a.sedml/report_1') self.assertFalse(case.eval_outputs(specs, None, {'./a.sedml': doc}, self.dirname)) # everything From 9b2f2c6e73d09ecc005b86d70ebf52bb90a0f4c7 Mon Sep 17 00:00:00 2001 From: Jonathan Karr Date: Fri, 22 Jan 2021 00:14:16 -0500 Subject: [PATCH 4/7] fixing typo --- biosimulators_test_suite/test_case/results_report.py | 4 ++-- tests/test_case/test_results_report.py | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/biosimulators_test_suite/test_case/results_report.py b/biosimulators_test_suite/test_case/results_report.py index fcc0474..0fb5946 100644 --- a/biosimulators_test_suite/test_case/results_report.py +++ b/biosimulators_test_suite/test_case/results_report.py @@ -17,11 +17,11 @@ import warnings __all__ = [ - 'SimulatorGeneratesReportsOfSimultionResults', + 'SimulatorGeneratesReportsOfSimulationResults', ] -class SimulatorGeneratesReportsOfSimultionResults(SingleMasterSedDocumentCombineArchiveTestCase): +class SimulatorGeneratesReportsOfSimulationResults(SingleMasterSedDocumentCombineArchiveTestCase): """ Test that when a COMBINE/OMEX archive defines a (single) master file, the simulator only executes this file. """ diff --git a/tests/test_case/test_results_report.py b/tests/test_case/test_results_report.py index eb43457..f94eae7 100644 --- a/tests/test_case/test_results_report.py +++ b/tests/test_case/test_results_report.py @@ -24,8 +24,8 @@ def setUp(self): def tearDown(self): shutil.rmtree(self.dirname) - def test_SimulatorGeneratesReportsOfSimultionResults_eval_outputs(self): - case = results_report.SimulatorGeneratesReportsOfSimultionResults() + def test_SimulatorGeneratesReportsOfSimulationResults_eval_outputs(self): + case = results_report.SimulatorGeneratesReportsOfSimulationResults() with self.assertRaisesRegex(ValueError, 'Simulator must generate reports'): case.eval_outputs(None, None, None, self.dirname) @@ -70,11 +70,11 @@ def test_SimulatorGeneratesReportsOfSimultionResults_eval_outputs(self): ReportWriter().run(report, data_set_results, self.dirname, os.path.join('test.sedml', 'report_1')) self.assertEqual(case.eval_outputs(None, None, synthetic_sed_docs, self.dirname), True) - def test_SimulatorGeneratesReportsOfSimultionResults(self): + def test_SimulatorGeneratesReportsOfSimulationResults(self): specs = {'image': {'url': self.IMAGE}} curated_case = SimulatorCanExecutePublishedProject(filename=self.CURATED_ARCHIVE_FILENAME) # test synthetic case generated and used to test simulator - case = results_report.SimulatorGeneratesReportsOfSimultionResults( + case = results_report.SimulatorGeneratesReportsOfSimulationResults( published_projects_test_cases=[curated_case]) self.assertTrue(case.eval(specs)) From 7669c7d6bd9e3bcf055be97196da5b935dfd92de Mon Sep 17 00:00:00 2001 From: Jonathan Karr Date: Fri, 22 Jan 2021 00:47:17 -0500 Subject: [PATCH 5/7] adding example reports; adding unit test to make sure they're up to date --- .../bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.h5 | Bin 0 -> 11674 bytes examples/bngl/test-bngl.h5 | Bin 0 -> 19551 bytes ...iol-2010-tumor-suppressive-oscillations.h5 | Bin 0 -> 136330 bytes ...Cell-Biol-2003-morphogenesis-checkpoint.h5 | Bin 0 -> 16552 bytes ...n-Biol-Cybern-1996-Nicotinic-excitation.h5 | Bin 0 -> 37507 bytes ...ar-BMC-Syst-Biol-2017-iron-distribution.h5 | Bin 0 -> 14377 bytes ...ymanska-J-Theor-Biol-2009-HSP-synthesis.h5 | Bin 0 -> 276776 bytes .../Tomida-EMBO-J-2003-NFAT-translocation.h5 | Bin 0 -> 31566 bytes ...p-2018-mTOR-signaling-LSODA-LSODAR-SBML.h5 | Bin 0 -> 21302 bytes .../Escherichia-coli-core-metabolism.h5 | Bin 0 -> 11328 bytes ...a-BMC-Syst-Biol-2013-EGF-TNFa-signaling.h5 | Bin 0 -> 11459 bytes tests/test_examples.py | 53 ++++++++++++++++++ tests/test_examples.sh | 42 ++++++++++++++ 13 files changed, 95 insertions(+) create mode 100644 examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.h5 create mode 100644 examples/bngl/test-bngl.h5 create mode 100644 examples/sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.h5 create mode 100644 examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint.h5 create mode 100644 examples/sbml-core/Edelstein-Biol-Cybern-1996-Nicotinic-excitation.h5 create mode 100644 examples/sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution.h5 create mode 100644 examples/sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis.h5 create mode 100644 examples/sbml-core/Tomida-EMBO-J-2003-NFAT-translocation.h5 create mode 100644 examples/sbml-core/Varusai-Sci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML.h5 create mode 100644 examples/sbml-fbc/Escherichia-coli-core-metabolism.h5 create mode 100644 examples/sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.h5 create mode 100644 tests/test_examples.py create mode 100644 tests/test_examples.sh diff --git a/examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.h5 b/examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.h5 new file mode 100644 index 0000000000000000000000000000000000000000..6e62789a9da7fa3d205fe38eb08cb7ed3aa4407e GIT binary patch literal 11674 zcmeHLYe-Z<6rQ_guFup8-JXU?PfNox(#mSxEHu~bM}e8Q_DYY{Eq6C8G(vh9SrJS0 zLJgxZ2%;DEBQi*P5>ZGm>;;LvO-iMQ+C6vXY_~0mwSM%NS@xcpZ)VP!`R452IcH0f z-r(=k&xb(KYDo_gs8sRM$;!S+ieMZ2vsgu7vY5$A4Xp?SK7@oaJc#Lc9XD@oVj_`8 zqJETY8hPwVYgz=j{I3{DN}Ohd4bNx0Mt{1@{0zy^Tg+naxTxsyW2}-X$E^4s^d;Z` zH)U7;o8&tZ17J=OA>Z;Q>M>J z)q@YC--R*1b?SHV<8GSy=cfsz7d;b3oIr*vdloblU^EhmG4XvnRGA+XHkF-40*Ub@ zF`aCnr;LIojR!U3OTv_j;Is$*0x?P1X3-`QZ)Qi!-mD%PkM#@#jj#;m$b*?RP;*c6 z$qHoe-!r|bf<08oDD_C=PzoGib_v7TFsE?!tKnYGE?#ki0eEk~x#E2Xzp0nPwtfHS}u;0*k&4ET|JIadd9qA%$q#{eeLCZzp0nPwt zfHS}u;0$mEI0Jtk17GtJ0qVR&vbb0>Lu%qz@)8iktMd{N^Fut3c?ziek@YMu5~Q}T zm(wHj)~u9RcEtU4K)jE3U=8XvWLDH|sCU6b`cjcD!d)I9AAqC#t%tKOg3I{L)hial9H-b0?p4=Zh4b8g%A z!{H6ug-@G|nLz=kHcmhNp`pQ16ybU0R^tR+vlt(7!P6}Ew`SC6;^r?78TCpW>@~3_ zBI9D;jN0)Tm;CE%BI_>>tgoFs;7R`Sgx8KVFH_wRon3Dj=tvu8svDuR8w{n6v=CEW zgwCF5Sm;QLHPuDx?6LL|A^b(zq@E>}UN1tUDh3@{a=v(N#daCo3t$Lo48++S|pRcbwAwPbFtK3abAU0GG`wKp5%kLSMLFl9_t;oFwh_U2EO zr&^Ag&o<3`bo)^9-IS94LqE1%AGxZjCAjU-u@!}5@3gJXZqJU~`La3lM)19Ai@CMn kWZTwF>mC-Ab)22jIkwvIto&-q%hm@UQVoN>i*{fC0%!S0l>h($ literal 0 HcmV?d00001 diff --git a/examples/bngl/test-bngl.h5 b/examples/bngl/test-bngl.h5 new file mode 100644 index 0000000000000000000000000000000000000000..d4bcc27b93cd1a1803a8dfe13849cfa1c4e0c5fe GIT binary patch literal 19551 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 literal 0 HcmV?d00001 diff --git a/examples/sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.h5 b/examples/sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.h5 new file mode 100644 index 0000000000000000000000000000000000000000..5c7991eee4cce0bbf48b0470d069605df9990401 GIT binary patch literal 136330 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%0APxOdK?X+Yu#Fyh25+t>}IDy0wq^`+hYMGRO(3 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 literal 0 HcmV?d00001 diff --git a/examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint.h5 b/examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint.h5 new file mode 100644 index 0000000000000000000000000000000000000000..e16f760ee313c897f29f0d2af6c1a6e469b7f4e5 GIT binary patch literal 16552 zcmeHNeN=ZTPQEW;{6W z_q%uQn|J5F_vZKDb%i|A!PeClL9?+zR%oX2ko-4^TYV_c5KQc8_&|dD-MFu};147S z{vk9M^Nu*a&@buvhzP`alK7;@!_eQS@kcgS(_^Lf|e;(HvhDfK$ z*{)UTHCu91{bV|IW{#G(kosIf9DiglR=)~MK0r3E%l}rtD{$em`u&lK|B1N?>z6za zcjNjYmrK_#aHMWSiNh58#Mn4F)G(<#Ph7VouCR`$82)GDE*tqnm5n4Tk$=@{sfU; zSXWYOVqyJMG63%l39>NT_v8!SYr>dmD|w~^8~6>J&RM4yn}f%8jq=Enj@V~`3op2cB%?uYopIcV(2;pvp!jytBugD>q5Ht-?wVC)PE z!!aEXu7{2XTV>h~l8VNVCpz9Vf&CX8rso4vhMo^(j<$o&qR-FosUZvIEh;=N#+ZL> z#&XLzKk$ZiOVz3Mso|L!%a(Hb4~KyG&`kEke6=5kv0OAC4|XNuzTff@Ud zPt2}AN2P<(CUMQ?7oU`;;buVMnvIVS*QRsh2~Ye?^Gghig!7ZQmmQh|&Riq)gUb!M@U+Pvmzn8%K8b_N3q6VbNgWw^B|@%(IJlgU8|Fz}<1#|? zFi-9WTt3KM;E&4&&Br{MKQ0&KfqBzBaUMMd{qQdopwJ<9;g0LuW&0LuW&!2eAK ze)vu^o&HV}qe@q6LC;S0I}PXq@|{G=9n<(}0R~M0`xN58P=G;;fG#3-&`NYXPY%=L zK^uYoA^xC=K=%;5fIFt+f!3tsfySimpe<<(e-lB+11(A0K||8>0qsc72Q(vX2dzk- zA2gyp+K0cJInwJP=RU(Ey|h&gOJZzOT^HD{kvzcOoyM@or!i;&8iSUgF=z-HgT|pT zXd4=XrlB!t85)Czp)qJg8iO{ZF=#>>gBGMQXh0f+_MYq6Oe%Nol7%K*y&%K*y&%K*y&%K*y&%K*y&%K*y& z%K*y&%K*y&%fNriKtaz)$6AHcws~j9iV76_l9nnIo4a;5Ej~J|%Rf8#ozL3B&ZnBA zKd@RYx2_mVa^F8+Z#(RzuOF)QvI=%~>RlM5k%!4^UvQI0=f)OKTK zver1Q^e+i_R3{~bZz~UcufA$XUFNe%`dxWViEGJ%iwO}9Z3zSQ)w}*NR|hVK!DYqA z^VVICKYXBf@b;N6UHWRP_C6ceQX;c%98?~ua8O@3eesJgT?TYp?Q+{j^7_wubZzhV zy78L#qVdm9bnblkjmz5O_Mb0lw(wQ{y2|a??BtA1`M(Xg+MSYI{Oz3HSB_X2mK?a% z?e=Jo+9$7}xubOKN@;FNO7GCX{X3B-K3%`O`C!1iO>M3dz3G*?4dZR=m%rQ8HOFUU ztos@F<98zSJL~n{_pW`t&sU$Hl+w7~?zGH)hqdMGdxq`r-#oXb(s$j>u1(iASmX$I-+OM~mu4&%M`Y zaEUC@eczea8q!`kn3AQiHF&jdc=6cy@#hEE92{@zxpZpRQTuW0*0Qp)tN&8oj=S-j z`rx1-S^urlu~+vDN-i{3$dr3qKIyC3@RI9u2V2W!!DoBEf3z{WdH=}COYYwsu6)~V z!ZR=^D8*MIu7w{#!E(dJ5~_IFP9O z=bID0L0v(^4OgyhP95>6E4E&;L zJT$p+QE6w*J!xt2>1!Xn_U+$RzMo(?Fu!iBJt}o>%o8?4^XsC%N^qUwUj8U{tbgPX zc!rI}<{hg)vNe5D>QEJUaq}JbEv+AUaDG*xqxpw29#pq%3u*o8ZQl<)oNuL~bwL(T=~+Vjl=x1}q&X%%Fng7nLE{|5Y$ BM}z_UGg5 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 literal 0 HcmV?d00001 diff --git a/examples/sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution.h5 b/examples/sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution.h5 new file mode 100644 index 0000000000000000000000000000000000000000..e415af74cb5d86bbc5f860aa1d7be3cd708ba340 GIT binary patch literal 14377 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 literal 0 HcmV?d00001 diff --git a/examples/sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis.h5 b/examples/sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis.h5 new file mode 100644 index 0000000000000000000000000000000000000000..5533fdd7b753fe6bfca3496623397df4ff9f9706 GIT binary patch literal 276776 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 g_3nlnJ`_4OLgky#9u6p=fX%o^3zG)fWkJt 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

6K5z!xnjEGDS3u&R!n*^eGJ$-Yt%@ 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 z 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 literal 0 HcmV?d00001 diff --git a/examples/sbml-core/Tomida-EMBO-J-2003-NFAT-translocation.h5 b/examples/sbml-core/Tomida-EMBO-J-2003-NFAT-translocation.h5 new file mode 100644 index 0000000000000000000000000000000000000000..4030eabbe3a3670b9609d126365bbb8f05589760 GIT binary patch literal 31566 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 literal 0 HcmV?d00001 diff --git a/examples/sbml-fbc/Escherichia-coli-core-metabolism.h5 b/examples/sbml-fbc/Escherichia-coli-core-metabolism.h5 new file mode 100644 index 0000000000000000000000000000000000000000..81e395d00088d34a67af52d2dd58e1a23795e96c GIT binary patch literal 11328 zcmeI1F;Cl25P;7ys3A!U0fy3{%FqE-Rh1#C*a#viK|%!)hDse0(>z3w(?rA|*cjoT zu(L2SvUX)cs`wKOz&qbv8mw9+s0;KQCHH*icQ5z7i~Zi^s8ag;GW8|}cqEfB1Y==S zK5qFaejtsUi@nYbhvgy5;{-Jvz!$)4)@Rv&^t!dxavAKE;$I|pgUexRB}Jj~zamg6 z&#hpxyv4M{z$mnrqkXI@J>iaMGTLW)i28>%wfs99OrG%e~?5kcPr7^B=Zav?p8|CJni;;jlxTL7c~i*|4`a z10zg4$xl`{;U2IKd*C~q@^Kyw6<6O<^)Y__o=%X1JrY(+8JT}aiXx8-tmn&mBAQpz zFM1|z3_t*%8#u4B-VrJHhd5VxUXO`grc0#!-o>s`2`B+2pahhF5>Nt4;As=c*hVZZ(0-5iqPQ=g{%`rVtp<@NqtH8=N0I}{PI$0 zXLEml?2X@})-^$`y}o6>2hCkm+x7e%BW0RV8Ui9_;B64dHe$nXd%>qd7$bMNCl18X zJ*}Q70VSXWlzi(lvOPkvtCT)c(MncKMoBx0T+ literal 0 HcmV?d00001 diff --git a/examples/sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.h5 b/examples/sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.h5 new file mode 100644 index 0000000000000000000000000000000000000000..414f1db095adb965a0baa10852b08c1cfd8739f5 GIT binary patch literal 11459 zcmeHMO-xfk5T4gcsipiB!T6WhL=R0gCX%Y$1O=>s(pV10n83rnN<&*JeI{x=)Of)= zQ4b#QK*Gfv2kyqiGY1bOCLTR_^=NSC?M&G|ZJ^wMS%b4PyE{Ak?eO0FhBv99k@m=` z2w)3`;RtkjUH)&2+UJYf!a9#nQ^z8?NOCoxI~L$SfD>eok$?ZZ$$P`Ypk}gvmb46h zwCG-#4I&Q}0;%D_G#>aqojOkPE9DufP{|jc7Hl^^U%FIrvc&@1IY0Z^uuIt}e^Wv2 zV3zW7r~K`w#FhNrCGZDqnm>Q}DZ5Dd!^d54%JT~@J_&V8@xUHs=I+E0<}l}7obtBj z-sZ>o>f^WtStq9+Zw?%#eZur+4F-Z$vf zA?P0)p3@t5OF3KVM4!C)>c*XgIn*(BY#2Yb+Ir`44t4YVb>nWn=qN)7jjFL93JaL- zu${sowzVA>g;C>c94~DTy70Q~pSD%EsvGZLn-!;o!r1rJ_s8`3Ic+FARq_`0)l`bAP5Kof`A|(2<%G) zw(AxhX5C`ko^c9Tx@fj;f&8267RaTMU$c&X4>fhHfSB`<+nYLa=O`?DHVa~Ad_$`2 zF!{XfP<5sGIMFx9h1}cJk)xYBQeacZT7aozEu#UBnOR#0*({F8>p4E;=%$Wb-qexv zn>yAEOkLLsxRRg-r3nIpfFK|U9C`$vZ9bYF2%Y`)G1?mbVy(0+uZ5T1RyX?653JD( zgZbXXr_jok<+bBW-(GFJNN>XE=^OcTiDGo+&YAT0Ym>8Xb?oJ;HS=ez`1|#{5PWzt G((xAy0^jNY literal 0 HcmV?d00001 diff --git a/tests/test_examples.py b/tests/test_examples.py new file mode 100644 index 0000000..30f005f --- /dev/null +++ b/tests/test_examples.py @@ -0,0 +1,53 @@ +from biosimulators_utils.combine.io import CombineArchiveReader +from biosimulators_utils.report.data_model import ReportFormat +from biosimulators_utils.report.io import ReportReader +from biosimulators_utils.sedml.data_model import Report, DataSet +from biosimulators_utils.sedml.io import SedmlSimulationReader +import glob +import json +import mock +import numpy +import os +import shutil +import tempfile +import unittest + + +class ExamplesTestCase(unittest.TestCase): + def setUp(self): + self.dirname = tempfile.mkdtemp() + + def tearDown(self): + shutil.rmtree(self.dirname) + + def test(self): + examples_dir = os.path.join(os.path.dirname(__file__), '..', 'examples') + for example_filename in glob.glob(os.path.join(examples_dir, '**', '*.json')): + example_base_dir = os.path.join(os.path.dirname(example_filename)) + reports_filename = example_filename.replace('.omex', '.h5') + if not os.path.isfile(reports_filename): + continue + + with open(example_filename, 'rb') as file: + specs = json.load(file) + + archive_filename = os.path.join(example_base_dir, specs['filename']) + archive_dirname = os.path.join(self.dirname, specs['filename'].replace('.omex', '')) + CombineArchiveReader().run(archive_filename, archive_dirname) + + report_path = specs['filename'].replace('.omex', '.h5') + for expectedReport in specs['expectedReports']: + sedml_location = os.path.dirname(expectedReport['id']) + report_id = os.path.basename(expectedReport['id']) + sedml_filename = os.path.join(archive_dirname, sedml_location) + doc = SedmlSimulationReader().run(sedml_filename) + + report = next(output for output in doc.outputs if output.id == report_id) + + with mock.patch.dict(os.environ, {'H5_REPORTS_PATH': report_path}): + report_results = ReportReader().run(report, example_base_dir, expectedReport['id'], format=ReportFormat.h5) + + self.assertEqual(set(report_results.keys()), set([data_set.id for data_set in report.data_sets])) + self.assertEqual(report_results[report.data_sets[0].id].shape, tuple(expectedReport['points'])) + for data_set_result in report_results.values(): + self.assertFalse(numpy.any(numpy.isnan(data_set_result))) diff --git a/tests/test_examples.sh b/tests/test_examples.sh new file mode 100644 index 0000000..55ed8e4 --- /dev/null +++ b/tests/test_examples.sh @@ -0,0 +1,42 @@ +export REPORT_FORMATS=h5 +export PLOT_FORMATS= +export BUNDLE_OUTPUTS=1 +export KEEP_INDIVIDUAL_OUTPUTS=0 + +bionetgen -o examples/bngl/ -i examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.omex +mv examples/bngl/reports.h5 examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.h5 + +bionetgen -o examples/bngl/ -i examples/bngl/test-bngl.omex +mv examples/bngl/reports.h5 examples/bngl/test-bngl.h5 + +tellurium -o examples/sbml-core/ -i examples/sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.omex +mv examples/sbml-core/reports.h5 examples/sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.h5 + +tellurium -o examples/sbml-core/ -i examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint.omex +mv examples/sbml-core/reports.h5 examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint.h5 + +pysces -o examples/sbml-core/ -i examples/sbml-core/Edelstein-Biol-Cybern-1996-Nicotinic-excitation.omex +mv examples/sbml-core/reports.h5 examples/sbml-core/Edelstein-Biol-Cybern-1996-Nicotinic-excitation.h5 + +tellurium -o examples/sbml-core/ -i examples/sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution.omex +mv examples/sbml-core/reports.h5 examples/sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution.h5 + +amici -o examples/sbml-core/ -i examples/sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis.omex +mv examples/sbml-core/reports.h5 examples/sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis.h5 + +copasi -o examples/sbml-core/ -i examples/sbml-core/Tomida-EMBO-J-2003-NFAT-translocation.omex +mv examples/sbml-core/reports.h5 examples/sbml-core/Tomida-EMBO-J-2003-NFAT-translocation.h5 + +copasi -o examples/sbml-core/ -i examples/sbml-core/Varusai-Sci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML.omex +mv examples/sbml-core/reports.h5 examples/sbml-core/Varusai-Sci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML.h5 + +cobrapy -o examples/sbml-fbc/ -i examples/sbml-fbc/Escherichia-coli-core-metabolism.omex +mv examples/sbml-fbc/reports.h5 examples/sbml-fbc/Escherichia-coli-core-metabolism.h5 + +boolnet -o examples/sbml-qual/ -i examples/sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.omex +mv examples/sbml-qual/reports.h5 examples/sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.h5 + +rm examples/bngl/log.yml +rm examples/sbml-core/log.yml +rm examples/sbml-fbc/log.yml +rm examples/sbml-qual/log.yml From d884e50e4a992cc074c69570abae386d10b0ff12 Mon Sep 17 00:00:00 2001 From: Jonathan Karr Date: Fri, 22 Jan 2021 03:44:23 -0500 Subject: [PATCH 6/7] updating for improved reports in biosimulators-utils --- biosimulators_test_suite/data_model.py | 29 ++++++++++-- biosimulators_test_suite/test_case/log.py | 32 +++++++------ .../test_case/published_project.py | 46 ++++++++++--------- biosimulators_test_suite/test_case/sedml.py | 42 +++++++++++++++++ .../Dolan-PLoS-Comput-Biol-2015-NHEJ.json | 7 ++- examples/bngl/test-bngl.json | 13 +++++- ...l-2010-tumor-suppressive-oscillations.json | 8 +++- ...ll-Biol-2003-morphogenesis-checkpoint.json | 24 +++++++++- ...Biol-Cybern-1996-Nicotinic-excitation.json | 8 +++- ...-BMC-Syst-Biol-2017-iron-distribution.json | 6 ++- ...anska-J-Theor-Biol-2009-HSP-synthesis.json | 14 +++++- ...Tomida-EMBO-J-2003-NFAT-translocation.json | 9 +++- ...2018-mTOR-signaling-LSODA-LSODAR-SBML.json | 6 ++- .../Escherichia-coli-core-metabolism.json | 5 +- ...BMC-Syst-Biol-2013-EGF-TNFa-signaling.json | 9 +++- tests/fixtures/COPASI.specs.json | 2 +- tests/test_case/test_log.py | 37 ++++++++------- tests/test_case/test_published_project.py | 14 +++--- 18 files changed, 236 insertions(+), 75 deletions(-) diff --git a/biosimulators_test_suite/data_model.py b/biosimulators_test_suite/data_model.py index f24a488..9a46108 100644 --- a/biosimulators_test_suite/data_model.py +++ b/biosimulators_test_suite/data_model.py @@ -6,6 +6,7 @@ :License: MIT """ +from .config import Config from .exceptions import SkippedTestCaseException # noqa: F401 from biosimulators_utils.image import get_docker_image import abc @@ -14,7 +15,7 @@ __all__ = [ 'OutputMedium', - 'TestCase', 'SedTaskRequirements', 'ExpectedSedReport', 'ExpectedSedPlot', + 'TestCase', 'SedTaskRequirements', 'ExpectedSedReport', 'ExpectedSedDataSet', 'ExpectedSedPlot', 'AlertType', ] @@ -61,7 +62,7 @@ def eval(self, specifications): """ pass # pragma: no cover - def get_simulator_docker_image(self, specifications, pull=True): + def get_simulator_docker_image(self, specifications, pull=None): """ Get the Docker image for a simulator, pulling if necessary Args: @@ -72,6 +73,8 @@ def get_simulator_docker_image(self, specifications, pull=True): """ docker_client = docker.from_env() image_url = specifications['image']['url'] + if pull is None: + pull = Config().pull_docker_image return get_docker_image(docker_client, image_url, pull=pull) @@ -98,7 +101,7 @@ class ExpectedSedReport(object): Attributes id (:obj:`str`): id - data_sets (:obj:`list` of :obj:`str`): labels of expected data sets + data_sets (:obj:`list` of :obj:`ExpectedSedDataSet`): labels of expected data sets points (:obj:`tuple` of :obj:`int`): number of expected points of values (:obj:`dict` of :obj:`str` to :obj:`dict` of :obj:`list`): expected values of data sets or elements of data sets """ @@ -107,7 +110,7 @@ def __init__(self, id=None, data_sets=None, points=None, values=None): """ Args: id (:obj:`str`, optional): id - data_sets (:obj:`set` of :obj:`str`, optional): labels of expected data sets + data_sets (:obj:`set` of :obj:`ExpectedSedDataSet`, optional): labels of expected data sets points (:obj:`tuple` of :obj:`int`, optional): number of expected points of values (:obj:`dict` of :obj:`str` to :obj:`dict` of :obj:`list`, optional): expected values of data sets or elements of data sets """ @@ -117,6 +120,24 @@ def __init__(self, id=None, data_sets=None, points=None, values=None): self.values = values +class ExpectedSedDataSet(object): + """ An expected SED report + + Attributes + id (:obj:`str`): id + label (:obj:`str`): label + """ + + def __init__(self, id=None, label=None): + """ + Args: + id (:obj:`str`): id + label (:obj:`str`): label + """ + self.id = id + self.label = label + + class ExpectedSedPlot(object): """ An expected SED report diff --git a/biosimulators_test_suite/test_case/log.py b/biosimulators_test_suite/test_case/log.py index 0b24826..af9ee29 100644 --- a/biosimulators_test_suite/test_case/log.py +++ b/biosimulators_test_suite/test_case/log.py @@ -52,10 +52,11 @@ def eval_outputs(self, specifications, synthetic_archive, synthetic_sed_docs, ou try: with open(log_path, 'r') as file: - status = yaml.load(file) + log = yaml.load(file) except Exception as exception: - warnings.warn('The execution status report produced by the simulator is not valid:\n\n {}'.format( - str(exception).replace('\n', '\n ')), TestCaseWarning) + msg = 'The execution status report produced by the simulator is not valid:\n\n {}'.format( + str(exception).replace('\n', '\n ')) + warnings.warn(msg, TestCaseWarning) return False self._status_valid = True @@ -69,26 +70,27 @@ def is_status_valid(status, self=self): self._status_valid = False try: - is_status_valid(status['status']) + is_status_valid(log['status']) - for doc in status['sedDocuments'].values(): - is_status_valid(doc['status']) + for doc_log in log['sedDocuments']: + is_status_valid(doc_log['status']) - for task in doc['tasks'].values(): - is_status_valid(task['status']) + for task_log in doc_log['tasks']: + is_status_valid(task_log['status']) - for output in doc['outputs'].values(): - is_status_valid(output['status']) + for output_log in doc_log['outputs']: + is_status_valid(output_log['status']) - els = output.get('dataSets', output.get('curves', output.get('surfaces', None))) + els = output_log.get('dataSets', output_log.get('curves', output_log.get('surfaces', None))) if els is None: raise KeyError('Outputs must have one of the keys `dataSets`, `curves` or `surfaces`') - for status in els.values(): - is_status_valid(status) + for el in els: + is_status_valid(el['status']) except Exception as exception: - warnings.warn('The execution status report produced by the simulator is not valid:\n\n {}'.format( - str(exception).replace('\n', '\n ')), TestCaseWarning) + msg = 'The execution status report produced by the simulator is not valid:\n\n {}'.format( + str(exception).replace('\n', '\n ')) + warnings.warn(msg, TestCaseWarning) return False if not self._status_valid: diff --git a/biosimulators_test_suite/test_case/published_project.py b/biosimulators_test_suite/test_case/published_project.py index 0cbb815..cf8f117 100644 --- a/biosimulators_test_suite/test_case/published_project.py +++ b/biosimulators_test_suite/test_case/published_project.py @@ -7,7 +7,7 @@ """ from ..config import Config -from ..data_model import (TestCase, SedTaskRequirements, ExpectedSedReport, ExpectedSedPlot, +from ..data_model import (TestCase, SedTaskRequirements, ExpectedSedReport, ExpectedSedDataSet, ExpectedSedPlot, AlertType, OutputMedium) from ..exceptions import InvalidOutputsException, SkippedTestCaseException from ..warnings import IgnoredTestCaseWarning, SimulatorRuntimeErrorWarning, InvalidOutputsWarning, TestCaseWarning @@ -183,15 +183,17 @@ def from_dict(self, data): for exp_report_def in data.get('expectedReports', []): id = exp_report_def['id'] - data_set_labels = set(exp_report_def.get('dataSets', [])) + data_sets = [ExpectedSedDataSet(id=data_set.get('id', None), label=data_set.get('label', None)) + for data_set in exp_report_def.get('dataSets', [])] + data_set_ids = [data_set.id for data_set in data_sets] points = tuple(exp_report_def['points']) values = {} for labelVal in exp_report_def.get('values', []): - label = labelVal['label'] + data_set_id = labelVal['id'] val = labelVal['value'] if isinstance(val, dict): - values[label] = {} + values[data_set_id] = {} for k, v in val.items(): multi_index = tuple(int(index) for index in k.split(",")) try: @@ -206,14 +208,14 @@ def from_dict(self, data): self.id.replace('published_project.SimulatorCanExecutePublishedProject:', ''), tuple(p - 1 for p in points), )) - values[label][multi_index] = v + values[data_set_id][multi_index] = v else: - values[label] = numpy.array(val) + values[data_set_id] = numpy.array(val) - invalid_dataset_ids = set(values.keys()).difference(set(data_set_labels)) + invalid_dataset_ids = set(values.keys()).difference(set(data_set_ids)) if invalid_dataset_ids: raise ValueError(( - "The `label` fields of the expected values of report `{}` of published project test case `{}` " + "The `id` fields of the expected values of report `{}` of published project test case `{}` " "should be defined in the 'dataSets' property. " "The following keys were not in the 'dataSets' property:\n - {}").format( id, self.id.replace('published_project.SimulatorCanExecutePublishedProject:', ''), @@ -221,7 +223,7 @@ def from_dict(self, data): self.expected_reports.append(ExpectedSedReport( id=id, - data_sets=data_set_labels, + data_sets=data_sets, points=points, values=values, )) @@ -306,15 +308,15 @@ def eval(self, specifications): report_reader = biosimulators_utils.report.io.ReportReader() for expected_report in self.expected_reports: report = Report() - for data_set_label in expected_report.data_sets: - report.data_sets.append(DataSet(id=data_set_label, label=data_set_label)) + for data_set in expected_report.data_sets: + report.data_sets.append(DataSet(id=data_set.id, label=data_set.label)) try: report_results = report_reader.run(report, out_dir, expected_report.id, format=ReportFormat.h5) except Exception: errors.append('Report {} could not be read'.format(expected_report.id)) continue - missing_data_sets = set(expected_report.data_sets).difference(set(report_results.keys())) + missing_data_sets = set([data_set.id for data_set in expected_report.data_sets]).difference(set(report_results.keys())) if missing_data_sets: errors.append(('Report {} does not contain expected data sets:\n {}\n\n' 'Report contained these data sets:\n {}').format( @@ -330,9 +332,9 @@ def eval(self, specifications): expected_report.id, points, expected_report.points)) continue - for data_set_label, expected_value in expected_report.values.items(): + for data_set_id, expected_value in expected_report.values.items(): if isinstance(expected_value, dict): - value = report_results[data_set_label] + value = report_results[data_set_id] for el_id, expected_el_value in expected_value.items(): el_index = numpy.ravel_multi_index([el_id], value.shape)[0] actual_el_value = value[el_index] @@ -345,20 +347,20 @@ def eval(self, specifications): ) except AssertionError: errors.append('Data set {} of report {} does not have expected value at {}: {} != {}'.format( - data_set_label, expected_report.id, el_id, actual_el_value, expected_el_value)) + data_set_id, expected_report.id, el_id, actual_el_value, expected_el_value)) else: try: numpy.testing.assert_allclose( - report_results[data_set_label], + report_results[data_set_id], expected_value, rtol=self.r_tol, atol=self.a_tol, ) except AssertionError: errors.append('Data set {} of report {} does not have expected values'.format( - data_set_label, expected_report.id)) + data_set_id, expected_report.id)) - report_ids = report_reader.get_ids(out_dir) + report_ids = set(report_reader.get_ids(out_dir)) expected_report_ids = set(report.id for report in self.expected_reports) extra_report_ids = report_ids.difference(expected_report_ids) if extra_report_ids: @@ -446,9 +448,11 @@ def eval(self, specifications): # read curated archives and find one that is suitable for testing suitable_curated_archive = False - for curated_combine_archive_test_case in self.published_projects_test_cases: + for published_projects_test_case in self.published_projects_test_cases: + self.published_projects_test_case = published_projects_test_case + # read archive - curated_archive_filename = curated_combine_archive_test_case.filename + curated_archive_filename = published_projects_test_case.filename shared_archive_dir = os.path.join(temp_dir, 'archive') os.mkdir(shared_archive_dir) @@ -486,7 +490,7 @@ def eval(self, specifications): outputs_dir = os.path.join(temp_dir, 'outputs') succeeded = False pull_docker_image = Config().pull_docker_image - try: + try: biosimulators_utils.simulator.exec.exec_sedml_docs_in_archive_with_containerized_simulator( synthetic_archive_filename, outputs_dir, specifications['image']['url'], pull_docker_image=pull_docker_image) diff --git a/biosimulators_test_suite/test_case/sedml.py b/biosimulators_test_suite/test_case/sedml.py index ec518a5..aece021 100644 --- a/biosimulators_test_suite/test_case/sedml.py +++ b/biosimulators_test_suite/test_case/sedml.py @@ -582,6 +582,27 @@ def eval_outputs(self, specifications, synthetic_archive, synthetic_sed_docs, ou class SimulatorProduces2DPlotsTestCase(SimulatorProducesPlotsTestCase): """ Test that a simulator produces 2D plots """ + def is_curated_sed_report_suitable_for_building_synthetic_archive(self, specifications, report): + """ Determine if a SED report is suitable for testing + + Args: + specifications (:obj:`dict`): specifications of the simulator to validate + report (:obj:`Report`): SED report in curated archive + + Returns: + :obj:`bool`: whether the report is suitable for testing + """ + if not super(SimulatorProduces2DPlotsTestCase, self).is_curated_sed_report_suitable_for_building_synthetic_archive( + specifications, report): + return False + + expected_report = next((expected_report for expected_report in self.published_projects_test_case.expected_reports + if expected_report.id == report.id), None) + if expected_report is None: + return False + + return len(expected_report.points) == 1 + def build_plots(self, data_generators): """ Build plots from the defined data generators @@ -612,6 +633,27 @@ def build_plots(self, data_generators): class SimulatorProduces3DPlotsTestCase(SimulatorProducesPlotsTestCase): """ Test that a simulator produces 3D plots """ + def is_curated_sed_report_suitable_for_building_synthetic_archive(self, specifications, report): + """ Determine if a SED report is suitable for testing + + Args: + specifications (:obj:`dict`): specifications of the simulator to validate + report (:obj:`Report`): SED report in curated archive + + Returns: + :obj:`bool`: whether the report is suitable for testing + """ + if not super(SimulatorProduces3DPlotsTestCase, self).is_curated_sed_report_suitable_for_building_synthetic_archive( + specifications, report): + return False + + expected_report = next((expected_report for expected_report in self.published_projects_test_case.expected_reports + if expected_report.id == report.id), None) + if expected_report is None: + return False + + return len(expected_report.points) == 2 + def build_plots(self, data_generators): """ Build plots from the defined data generators diff --git a/examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.json b/examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.json index de73f64..ed41574 100644 --- a/examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.json +++ b/examples/bngl/Dolan-PLoS-Comput-Biol-2015-NHEJ.json @@ -7,9 +7,14 @@ }], "expectedReports": [{ "id": "Dolan2015.sedml/report", - "dataSets": ["time", "MDM2_mRNA", "MDM2"], + "dataSets": [ + {"id": "time", "label": "time"}, + {"id": "MDM2_mRNA", "label": "MDM2_mRNA"}, + {"id": "MDM2", "label": "MDM2"} + ], "points": [101], "values": [{ + "id": "time", "label": "time", "value": { "0": 0.0, diff --git a/examples/bngl/test-bngl.json b/examples/bngl/test-bngl.json index d60c985..3156c13 100644 --- a/examples/bngl/test-bngl.json +++ b/examples/bngl/test-bngl.json @@ -7,9 +7,20 @@ }], "expectedReports": [{ "id": "test.sedml/report", - "dataSets": ["time", "Atot", "Btot", "GA00tot", "GA01tot", "GA10tot", "GB00tot", "GB01tot", "GB10tot"], + "dataSets": [ + {"id": "data_set_time", "label": "time"}, + {"id": "data_set_Atot", "label": "Atot"}, + {"id": "data_set_Btot", "label": "Btot"}, + {"id": "data_set_GA00tot", "label": "GA00tot"}, + {"id": "data_set_GA01tot", "label": "GA01tot"}, + {"id": "data_set_GA10tot", "label": "GA10tot"}, + {"id": "data_set_GB00tot", "label": "GB00tot"}, + {"id": "data_set_GB01tot", "label": "GB01tot"}, + {"id": "data_set_GB10tot", "label": "GB10tot"} + ], "points": [101], "values": [{ + "id": "data_set_time", "label": "time", "value": { "0": 0.0, diff --git a/examples/sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json b/examples/sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json index 6ce203b..f921ce9 100644 --- a/examples/sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json +++ b/examples/sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json @@ -7,9 +7,15 @@ }], "expectedReports": [{ "id": "BIOMD0000000912_sim.sedml/BIOMD0000000912_sim", - "dataSets": ["time", "T", "E", "I"], + "dataSets": [ + {"id": "data_set_time", "label": "time"}, + {"id": "data_set_T", "label": "T"}, + {"id": "data_set_E", "label": "E"}, + {"id": "data_set_I", "label": "I"} + ], "points": [5001], "values": [{ + "id": "data_set_time", "label": "time", "value": { "0": 0.0, diff --git a/examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint.json b/examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint.json index ab759ff..ff8e8e1 100644 --- a/examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint.json +++ b/examples/sbml-core/Ciliberto-J-Cell-Biol-2003-morphogenesis-checkpoint.json @@ -7,9 +7,31 @@ }], "expectedReports": [{ "id": "simulation_1.sedml/simulation_1", - "dataSets": ["time", "Cdh1", "Trim", "Clb", "Sic", "PTrim", "PClb", "SBF", "IE", "Cdc20a", "Cdc20", "Swe1", "Swe1M", "PSwe1", "PSwe1M", "Mih1a", "Mcm", "BE", "Cln", "mass"], + "dataSets": [ + {"id": "data_set_time", "label": "time"}, + {"id": "data_set_Cdh1", "label": "Cdh1"}, + {"id": "data_set_Trim", "label": "Trim"}, + {"id": "data_set_Clb", "label": "Clb"}, + {"id": "data_set_Sic", "label": "Sic"}, + {"id": "data_set_PTrim", "label": "PTrim"}, + {"id": "data_set_PClb", "label": "PClb"}, + {"id": "data_set_SBF", "label": "SBF"}, + {"id": "data_set_IE", "label": "IE"}, + {"id": "data_set_Cdc20a", "label": "Cdc20a"}, + {"id": "data_set_Cdc20", "label": "Cdc20"}, + {"id": "data_set_Swe1", "label": "Swe1"}, + {"id": "data_set_Swe1M", "label": "Swe1M"}, + {"id": "data_set_PSwe1", "label": "PSwe1"}, + {"id": "data_set_PSwe1M", "label": "PSwe1M"}, + {"id": "data_set_Mih1a", "label": "Mih1a"}, + {"id": "data_set_Mcm", "label": "Mcm"}, + {"id": "data_set_BE", "label": "BE"}, + {"id": "data_set_Cln", "label": "Cln"}, + {"id": "data_set_mass", "label": "mass"} + ], "points": [101], "values": [{ + "id": "data_set_time", "label": "time", "value": { "0": 0.0, diff --git a/examples/sbml-core/Edelstein-Biol-Cybern-1996-Nicotinic-excitation.json b/examples/sbml-core/Edelstein-Biol-Cybern-1996-Nicotinic-excitation.json index 26701da..bef301b 100644 --- a/examples/sbml-core/Edelstein-Biol-Cybern-1996-Nicotinic-excitation.json +++ b/examples/sbml-core/Edelstein-Biol-Cybern-1996-Nicotinic-excitation.json @@ -7,9 +7,15 @@ }], "expectedReports": [{ "id": "BIOMD0000000002_sim.sedml/BIOMD0000000002_sim", - "dataSets": ["time", "BLL", "IL", "AL"], + "dataSets": [ + {"id": "data_set_time", "label": "time"}, + {"id": "data_set_BLL", "label": "BLL"}, + {"id": "data_set_IL", "label": "IL"}, + {"id": "data_set_AL", "label": "AL"} + ], "points": [1001], "values": [{ + "id": "data_set_time", "label": "time", "value": { "0": 0.0, diff --git a/examples/sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution.json b/examples/sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution.json index eb47040..78e6ee8 100644 --- a/examples/sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution.json +++ b/examples/sbml-core/Parmar-BMC-Syst-Biol-2017-iron-distribution.json @@ -7,9 +7,13 @@ }], "expectedReports": [{ "id": "Parmar2017_Deficient_Rich_tracer.sedml/simulation_1", - "dataSets": ["time", "FeDuo"], + "dataSets": [ + {"id": "data_set_time", "label": "time"}, + {"id": "data_set_FeDuo", "label": "FeDuo"} + ], "points": [301], "values": [{ + "id": "data_set_time", "label": "time", "value": { "0": 0.0, diff --git a/examples/sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis.json b/examples/sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis.json index 8883d98..2646fd6 100644 --- a/examples/sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis.json +++ b/examples/sbml-core/Szymanska-J-Theor-Biol-2009-HSP-synthesis.json @@ -7,9 +7,21 @@ }], "expectedReports": [{ "id": "BIOMD0000000896_sim.sedml/BIOMD0000000896_sim", - "dataSets": ["time", "Hsp70", "HSF", "S", "Hsp70_HSF", "Hsp70_S", "HSF_3", "HSE", "HSF_3_HSE", "mRNA"], + "dataSets": [ + {"id": "data_set_time", "label": "time"}, + {"id": "data_set_Hsp70", "label": "Hsp70"}, + {"id": "data_set_HSF", "label": "HSF"}, + {"id": "data_set_S", "label": "S"}, + {"id": "data_set_Hsp70_HSF", "label": "Hsp70_HSF"}, + {"id": "data_set_Hsp70_S", "label": "Hsp70_S"}, + {"id": "data_set_HSF_3", "label": "HSF_3"}, + {"id": "data_set_HSE", "label": "HSE"}, + {"id": "data_set_HSF_3_HSE", "label": "HSF_3_HSE"}, + {"id": "data_set_mRNA", "label": "mRNA"} + ], "points": [4001], "values": [{ + "id": "data_set_time", "label": "time", "value": { "0": 0.0, diff --git a/examples/sbml-core/Tomida-EMBO-J-2003-NFAT-translocation.json b/examples/sbml-core/Tomida-EMBO-J-2003-NFAT-translocation.json index 9400060..46bf4b6 100644 --- a/examples/sbml-core/Tomida-EMBO-J-2003-NFAT-translocation.json +++ b/examples/sbml-core/Tomida-EMBO-J-2003-NFAT-translocation.json @@ -7,9 +7,16 @@ }], "expectedReports": [{ "id": "BIOMD0000000678_sim.sedml/BIOMD0000000678_sim", - "dataSets": ["time", "NFAT_phosphorylated", "NFAT_dephosphorylated", "NFAT_transported", "stimulus"], + "dataSets": [ + {"id": "data_set_time", "label": "time"}, + {"id": "data_set_NFAT_phosphorylated", "label": "NFAT_phosphorylated"}, + {"id": "data_set_NFAT_dephosphorylated", "label": "NFAT_dephosphorylated"}, + {"id": "data_set_NFAT_transported", "label": "NFAT_transported"}, + {"id": "data_set_stimulus", "label": "stimulus"} + ], "points": [801], "values": [{ + "id": "data_set_time", "label": "time", "value": { "0": 0.0, diff --git a/examples/sbml-core/Varusai-Sci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML.json b/examples/sbml-core/Varusai-Sci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML.json index 4c7c52c..5afa9a3 100644 --- a/examples/sbml-core/Varusai-Sci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML.json +++ b/examples/sbml-core/Varusai-Sci-Rep-2018-mTOR-signaling-LSODA-LSODAR-SBML.json @@ -7,9 +7,13 @@ }], "expectedReports": [{ "id": "LSODA.sedml/report_1_task1", - "dataSets": ["Time", "pmTORC1"], + "dataSets": [ + {"id": "data_set_time", "label": "Time"}, + {"id": "data_set_pmTORC1", "label": "pmTORC1"} + ], "points": [1001], "values": [{ + "id": "data_set_time", "label": "Time", "value": { "0": 0.0, diff --git a/examples/sbml-fbc/Escherichia-coli-core-metabolism.json b/examples/sbml-fbc/Escherichia-coli-core-metabolism.json index 8961295..906b735 100644 --- a/examples/sbml-fbc/Escherichia-coli-core-metabolism.json +++ b/examples/sbml-fbc/Escherichia-coli-core-metabolism.json @@ -7,9 +7,12 @@ }], "expectedReports": [{ "id": "simulation.sedml/report", - "dataSets": ["objective_value"], + "dataSets": [ + {"id": "data_set_objective_value", "label": "objective_value"} + ], "points": [], "values": [{ + "id": "data_set_objective_value", "label": "objective_value", "value": 0.8739215069684301 }] diff --git a/examples/sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.json b/examples/sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.json index a52fb88..b50bdb4 100644 --- a/examples/sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.json +++ b/examples/sbml-qual/Chaouiya-BMC-Syst-Biol-2013-EGF-TNFa-signaling.json @@ -7,9 +7,16 @@ }], "expectedReports": [{ "id": "simulation.sedml/report", - "dataSets": ["time", "egf", "erk", "nfkb", "tnfa"], + "dataSets": [ + {"id": "data_set_time", "label": "time"}, + {"id": "data_set_egf", "label": "egf"}, + {"id": "data_set_erk", "label": "erk"}, + {"id": "data_set_nfkb", "label": "nfkb"}, + {"id": "data_set_tnfa", "label": "tnfa"} + ], "points": [21], "values": [{ + "id": "data_set_time", "label": "time", "value": { "0": 0, diff --git a/tests/fixtures/COPASI.specs.json b/tests/fixtures/COPASI.specs.json index 76f82cc..30d88b6 100644 --- a/tests/fixtures/COPASI.specs.json +++ b/tests/fixtures/COPASI.specs.json @@ -5,7 +5,7 @@ "description": "COPASI is a C++-based software application for the simulation and analysis of biochemical networks and their dynamics.", "urls": [{"type": "Home page", "url": "http://copasi.org/"}], "image": { - "url": "ghcr.io/biosimulators/biosimulators_copasi/copasi:4.30.233", + "url": "ghcr.io/biosimulators/biosimulators_copasi/copasi:latest", "format": { "namespace": "EDAM", "id": "format_3973", "version": null, "supportedFeatures": [] diff --git a/tests/test_case/test_log.py b/tests/test_case/test_log.py index bd39f3f..de9a18d 100644 --- a/tests/test_case/test_log.py +++ b/tests/test_case/test_log.py @@ -11,7 +11,7 @@ import unittest -class CombineArchiveTestCaseTest(unittest.TestCase): +class LogTestCaseTest(unittest.TestCase): IMAGE = 'ghcr.io/biosimulators/biosimulators_copasi/copasi:latest' CURATED_ARCHIVE_FILENAME = os.path.join( os.path.dirname(__file__), '..', '..', @@ -45,21 +45,23 @@ def test_SimulatorReportsTheStatusOfTheExecutionOfCombineArchives_eval_outputs(s with open(log_path, 'w') as file: file.write('status: RUNNING\n') file.write('sedDocuments:\n') - file.write(' doc_1:\n') + file.write(' - id: doc_1\n') file.write(' status: RUNNING\n') file.write(' tasks:\n') - file.write(' task_1:\n') + file.write(' - id: task_1\n') file.write(' status: RUNNING\n') file.write(' outputs:\n') - file.write(' output_1:\n') + file.write(' - id: output_1\n') file.write(' status: RUNNING\n') file.write(' dataSets:\n') - file.write(' data_set_1: RUNNING\n') - file.write(' output_2:\n') + file.write(' - id: data_set_1\n') + file.write(' status: RUNNING\n') + file.write(' - id: output_2\n') file.write(' status: RUNNING\n') file.write(' curves:\n') - file.write(' curve_1: RUNNING\n') - file.write(' output_3:\n') + file.write(' - id curve_1\n') + file.write(' status: RUNNING\n') + file.write(' - id: output_3\n') file.write(' status: RUNNING\n') with self.assertWarnsRegex(TestCaseWarning, 'is not valid'): self.assertEqual(case.eval_outputs(None, None, None, self.dirname), False) @@ -67,24 +69,27 @@ def test_SimulatorReportsTheStatusOfTheExecutionOfCombineArchives_eval_outputs(s with open(log_path, 'w') as file: file.write('status: RUNNING\n') file.write('sedDocuments:\n') - file.write(' doc_1:\n') + file.write(' - id: doc_1\n') file.write(' status: RUNNING\n') file.write(' tasks:\n') - file.write(' task_1:\n') + file.write(' - id: task_1\n') file.write(' status: RUNNING\n') file.write(' outputs:\n') - file.write(' output_1:\n') + file.write(' - id: output_1\n') file.write(' status: RUNNING\n') file.write(' dataSets:\n') - file.write(' data_set_1: RUNNING\n') - file.write(' output_2:\n') + file.write(' - id: data_set_1\n') + file.write(' status: RUNNING\n') + file.write(' - id: output_2\n') file.write(' status: RUNNING\n') file.write(' curves:\n') - file.write(' curve_1: RUNNING\n') - file.write(' output_3:\n') + file.write(' - id: curve_1\n') + file.write(' status: RUNNING\n') + file.write(' - id: output_3\n') file.write(' status: RUNNING\n') file.write(' surfaces:\n') - file.write(' surface_1: RUNNING\n') + file.write(' - id: surface_1\n') + file.write(' status: RUNNING\n') with self.assertWarnsRegex(TestCaseWarning, 'is not valid. By the end of the execution'): self.assertEqual(case.eval_outputs(None, None, None, self.dirname), False) diff --git a/tests/test_case/test_published_project.py b/tests/test_case/test_published_project.py index 8fa938f..153fcab 100644 --- a/tests/test_case/test_published_project.py +++ b/tests/test_case/test_published_project.py @@ -74,7 +74,7 @@ def test_CuratedCombineArchiveTestCase_from_dict(self): id = ('published_project.SimulatorCanExecutePublishedProject:' 'sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json') case = SimulatorCanExecutePublishedProject(id=id).from_dict(data) - numpy.testing.assert_allclose(case.expected_reports[0].values['time'], numpy.array([0, 1, 2, 3, 4, 5])) + numpy.testing.assert_allclose(case.expected_reports[0].values['data_set_time'], numpy.array([0, 1, 2, 3, 4, 5])) def test_CuratedCombineArchiveTestCase_from_dict_error_handling(self): base_path = os.path.join(os.path.dirname(__file__), '..', '..', 'examples') @@ -84,15 +84,15 @@ def test_CuratedCombineArchiveTestCase_from_dict_error_handling(self): id = ('published_project.SimulatorCanExecutePublishedProject:' 'sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json') - data['expectedReports'][0]['values'] = [{'label': 't', 'value': [0, 1, 2, 3, 4, 5]}] + data['expectedReports'][0]['values'] = [{'id': 't', 'label': 't', 'value': [0, 1, 2, 3, 4, 5]}] with self.assertRaisesRegex(ValueError, "keys were not in the 'dataSets' property"): SimulatorCanExecutePublishedProject(id=id).from_dict(data) - data['expectedReports'][0]['values'] = [{'label': 'T', 'value': {'5001': 1000.2}}] + data['expectedReports'][0]['values'] = [{'id': 'T', 'label': 'T', 'value': {'5001': 1000.2}}] with self.assertRaisesRegex(ValueError, "Key must be less than or equal to"): SimulatorCanExecutePublishedProject(id=id).from_dict(data) - data['expectedReports'][0]['values'] = [{'label': 'T', 'value': {'5000': 1000.}}] + data['expectedReports'][0]['values'] = [{'id': 'data_set_time', 'label': 'T', 'value': {'5000': 1000.}}] SimulatorCanExecutePublishedProject(id=id).from_dict(data) def test_CuratedCombineArchiveTestCase_from_json(self): @@ -108,10 +108,10 @@ def test_CuratedCombineArchiveTestCase_from_json(self): self.assertEqual(case.task_requirements[0].simulation_algorithm, 'KISAO_0000019') self.assertEqual(len(case.expected_reports), 1) self.assertEqual(case.expected_reports[0].id, 'BIOMD0000000912_sim.sedml/BIOMD0000000912_sim') - self.assertEqual(case.expected_reports[0].data_sets, set(["time", "T", "E", "I"])) + self.assertEqual(set(data_set.label for data_set in case.expected_reports[0].data_sets), set(["time", "T", "E", "I"])) self.assertEqual(case.expected_reports[0].points, (5001,)) self.assertEqual(case.expected_reports[0].values, { - "time": { + "data_set_time": { (0,): 0.0, (1,): 0.2, (2,): 0.4, @@ -133,7 +133,7 @@ def test_CuratedCombineArchiveTestCase_eval(self): base_path = os.path.join(os.path.dirname(__file__), '..', '..', 'examples') filename = os.path.join('sbml-core', 'Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations.json') case = SimulatorCanExecutePublishedProject().from_json(base_path, filename) - case.expected_reports[0].values['T'] = numpy.zeros((5001,)) + case.expected_reports[0].values['data_set_time'] = numpy.linspace(0., 1000., 5001,) # skips specs = { From b4ef936e00e5e9f4494bacc747109cc44182a4c5 Mon Sep 17 00:00:00 2001 From: Jonathan Karr Date: Fri, 22 Jan 2021 03:45:02 -0500 Subject: [PATCH 7/7] removing white space --- biosimulators_test_suite/test_case/published_project.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/biosimulators_test_suite/test_case/published_project.py b/biosimulators_test_suite/test_case/published_project.py index cf8f117..1a00cb3 100644 --- a/biosimulators_test_suite/test_case/published_project.py +++ b/biosimulators_test_suite/test_case/published_project.py @@ -490,7 +490,7 @@ def eval(self, specifications): outputs_dir = os.path.join(temp_dir, 'outputs') succeeded = False pull_docker_image = Config().pull_docker_image - try: + try: biosimulators_utils.simulator.exec.exec_sedml_docs_in_archive_with_containerized_simulator( synthetic_archive_filename, outputs_dir, specifications['image']['url'], pull_docker_image=pull_docker_image)