Skip to content

Commit 5a408ca

Browse files
committed
feat: updated to BioSimulators-utils 0.1.104
1 parent b403610 commit 5a408ca

File tree

3 files changed

+47
-21
lines changed

3 files changed

+47
-21
lines changed

biosimulators_bionetgen/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,17 @@
22
# :obj:`str`: version
33

44
from .config import Config
5-
from .core import exec_sedml_docs_in_combine_archive # noqa: F401
5+
from .core import exec_sed_task, exec_sedml_docs_in_combine_archive # noqa: F401
66

77
import subprocess
88

99

10-
__all = ['__version__', 'get_simulator_version']
10+
__all = [
11+
'__version__',
12+
'get_simulator_version',
13+
'exec_sed_task',
14+
'exec_sedml_docs_in_combine_archive',
15+
]
1116

1217

1318
def get_simulator_version():

biosimulators_bionetgen/core.py

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@
1212
get_variables_results_from_observable_results, add_variables_to_model)
1313
from .warnings import IgnoredBnglFileContentWarning
1414
from biosimulators_utils.combine.exec import exec_sedml_docs_in_archive
15+
from biosimulators_utils.config import get_config
1516
from biosimulators_utils.log.data_model import CombineArchiveLog, TaskLog # noqa: F401
1617
from biosimulators_utils.viz.data_model import VizFormat # noqa: F401
17-
from biosimulators_utils.report.data_model import ReportFormat, VariableResults # noqa: F401
18+
from biosimulators_utils.report.data_model import ReportFormat, VariableResults, SedDocumentResults # noqa: F401
1819
from biosimulators_utils.sedml import validation
1920
from biosimulators_utils.sedml.data_model import (Task, ModelLanguage, ModelAttributeChange, # noqa: F401
2021
UniformTimeCourseSimulation, Variable)
@@ -27,8 +28,10 @@
2728

2829

2930
def exec_sedml_docs_in_combine_archive(archive_filename, out_dir,
31+
return_results=False,
3032
report_formats=None, plot_formats=None,
31-
bundle_outputs=None, keep_individual_outputs=None):
33+
bundle_outputs=None, keep_individual_outputs=None,
34+
raise_exceptions=True):
3235
""" Execute the SED tasks defined in a COMBINE/OMEX archive and save the outputs
3336
3437
Args:
@@ -40,21 +43,28 @@ def exec_sedml_docs_in_combine_archive(archive_filename, out_dir,
4043
* HDF5: directory in which to save a single HDF5 file (``{ out_dir }/reports.h5``),
4144
with reports at keys ``{ relative-path-to-SED-ML-file-within-archive }/{ report.id }`` within the HDF5 file
4245
46+
return_results (:obj:`bool`, optional): whether to return the result of each output of each SED-ML file
4347
report_formats (:obj:`list` of :obj:`ReportFormat`, optional): report format (e.g., csv or h5)
4448
plot_formats (:obj:`list` of :obj:`VizFormat`, optional): report format (e.g., pdf)
4549
bundle_outputs (:obj:`bool`, optional): if :obj:`True`, bundle outputs into archives for reports and plots
4650
keep_individual_outputs (:obj:`bool`, optional): if :obj:`True`, keep individual output files
51+
raise_exceptions (:obj:`bool`, optional): whether to raise exceptions
4752
4853
Returns:
49-
:obj:`CombineArchiveLog`: log
54+
:obj:`tuple`:
55+
56+
* :obj:`SedDocumentResults`: results
57+
* :obj:`CombineArchiveLog`: log
5058
"""
5159
sed_doc_executer = functools.partial(exec_sed_doc, exec_sed_task)
5260
return exec_sedml_docs_in_archive(sed_doc_executer, archive_filename, out_dir,
5361
apply_xml_model_changes=False,
62+
return_results=return_results,
5463
report_formats=report_formats,
5564
plot_formats=plot_formats,
5665
bundle_outputs=bundle_outputs,
57-
keep_individual_outputs=keep_individual_outputs)
66+
keep_individual_outputs=keep_individual_outputs,
67+
raise_exceptions=raise_exceptions)
5868

5969

6070
def exec_sed_task(sed_task, variables, log=None):
@@ -94,22 +104,33 @@ def exec_sed_task(sed_task, variables, log=None):
94104
* BioNetGen
95105
* :obj:`get_variables_results_from_observable_results`
96106
"""
107+
config = get_config()
97108
log = log or TaskLog()
98109

99-
raise_errors_warnings(validation.validate_task(sed_task),
100-
error_summary='Task `{}` is invalid.'.format(sed_task.id))
101-
raise_errors_warnings(validation.validate_model_language(sed_task.model.language, ModelLanguage.BNGL),
102-
error_summary='Language for model `{}` is not supported.'.format(sed_task.model.id))
103-
raise_errors_warnings(validation.validate_model_change_types(sed_task.model.changes, (ModelAttributeChange, )),
104-
error_summary='Changes for model `{}` are not supported.'.format(sed_task.model.id))
105-
raise_errors_warnings(*validation.validate_model_changes(sed_task.model),
106-
error_summary='Changes for model `{}` are invalid.'.format(sed_task.model.id))
107-
raise_errors_warnings(validation.validate_simulation_type(sed_task.simulation, (UniformTimeCourseSimulation, )),
108-
error_summary='{} `{}` is not supported.'.format(sed_task.simulation.__class__.__name__, sed_task.simulation.id))
109-
raise_errors_warnings(*validation.validate_simulation(sed_task.simulation),
110-
error_summary='Simulation `{}` is invalid.'.format(sed_task.simulation.id))
111-
raise_errors_warnings(*validation.validate_data_generator_variables(variables),
112-
error_summary='Data generator variables for task `{}` are invalid.'.format(sed_task.id))
110+
if config.VALIDATE_SEDML:
111+
raise_errors_warnings(
112+
validation.validate_task(sed_task),
113+
error_summary='Task `{}` is invalid.'.format(sed_task.id))
114+
raise_errors_warnings(
115+
validation.validate_model_language(sed_task.model.language, ModelLanguage.BNGL),
116+
error_summary='Language for model `{}` is not supported.'.format(sed_task.model.id))
117+
raise_errors_warnings(
118+
validation.validate_model_change_types(sed_task.model.changes, (ModelAttributeChange, )),
119+
error_summary='Changes for model `{}` are not supported.'.format(sed_task.model.id))
120+
raise_errors_warnings(
121+
*validation.validate_model_changes(sed_task.model),
122+
error_summary='Changes for model `{}` are invalid.'.format(sed_task.model.id))
123+
raise_errors_warnings(
124+
validation.validate_simulation_type(sed_task.simulation, (UniformTimeCourseSimulation, )),
125+
error_summary='{} `{}` is not supported.'.format(
126+
sed_task.simulation.__class__.__name__,
127+
sed_task.simulation.id))
128+
raise_errors_warnings(
129+
*validation.validate_simulation(sed_task.simulation),
130+
error_summary='Simulation `{}` is invalid.'.format(sed_task.simulation.id))
131+
raise_errors_warnings(
132+
*validation.validate_data_generator_variables(variables),
133+
error_summary='Data generator variables for task `{}` are invalid.'.format(sed_task.id))
113134

114135
# read the model from the BNGL file
115136
bionetgen_task = read_task(sed_task.model.source)

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
biosimulators_utils[bngl,logging] >= 0.1.96
1+
biosimulators_utils[bngl,logging] >= 0.1.104
22
kisao
33
pandas

0 commit comments

Comments
 (0)