|
9 | 9 | import os |
10 | 10 | from itertools import chain |
11 | 11 | from pathlib import Path |
12 | | -from typing import Dict, Iterable, Optional, Tuple, Union |
| 12 | +from typing import Dict, Iterable, Optional, Union |
13 | 13 |
|
14 | | -import libsbml |
15 | 14 | import petab |
16 | 15 | import pysb |
17 | 16 | import sympy as sp |
18 | 17 | from petab.C import (CONDITION_FILES, CONDITION_NAME, FORMAT_VERSION, |
19 | 18 | MEASUREMENT_FILES, NOISE_FORMULA, OBSERVABLE_FILES, |
20 | 19 | OBSERVABLE_FORMULA, PARAMETER_FILE, SBML_FILES, |
21 | 20 | VISUALIZATION_FILES) |
| 21 | +from petab.models.sbml_model import SbmlModel |
22 | 22 |
|
23 | 23 | from .logging import get_logger, log_execution_time, set_log_level |
24 | 24 |
|
@@ -56,7 +56,7 @@ def __init__(self, pysb_model: 'pysb.Model' = None, *args, **kwargs): |
56 | 56 | self._add_observation_model() |
57 | 57 |
|
58 | 58 | if self.pysb_model is not None: |
59 | | - self.sbml_document, self.sbml_model = \ |
| 59 | + self.model = \ |
60 | 60 | create_dummy_sbml( |
61 | 61 | self.pysb_model, |
62 | 62 | observable_ids=self.observable_df.index.values |
@@ -252,17 +252,16 @@ def from_yaml(yaml_config: Union[Dict, Path, str], |
252 | 252 | def create_dummy_sbml( |
253 | 253 | pysb_model: 'pysb.Model', |
254 | 254 | observable_ids: Optional[Iterable[str]] = None |
255 | | -) -> Tuple['libsbml.Model', 'libsbml.SBMLDocument']: |
| 255 | +) -> SbmlModel: |
256 | 256 | """Create SBML dummy model for to use PySB models with PEtab. |
257 | 257 |
|
258 | 258 | Model must at least contain PEtab problem parameter and noise parameters |
259 | 259 | for observables. |
260 | 260 |
|
261 | 261 | :param pysb_model: PySB model |
262 | 262 | :param observable_ids: Observable IDs |
263 | | - :return: A dummy SBML model and document. |
| 263 | + :return: A dummy petab SBML model. |
264 | 264 | """ |
265 | | - |
266 | 265 | import libsbml |
267 | 266 |
|
268 | 267 | document = libsbml.SBMLDocument(3, 1) |
@@ -305,7 +304,7 @@ def create_dummy_sbml( |
305 | 304 | s.setCompartment('dummy_compartment') |
306 | 305 | s.setConstant(False) |
307 | 306 |
|
308 | | - return document, dummy_sbml_model |
| 307 | + return SbmlModel(sbml_model=dummy_sbml_model, sbml_document=document) |
309 | 308 |
|
310 | 309 |
|
311 | 310 | @log_execution_time('Importing PEtab model', logger) |
|
0 commit comments