petab.sbml
Functions for interacting with SBML models
Functions
|
Add new global parameter to SBML model |
|
Add PEtab-style output to model |
|
Add PEtab-style sigma for the given observable id |
|
Add PEtab-style output and corresponding sigma with single (newly created) parameter |
|
Turn assignment rules into dictionary. |
|
Create SBML AssignmentRule |
|
Create an SBML model for the given condition. |
|
Return SBML model parameters which are not AssignmentRule targets for observables or sigmas |
|
Get observables defined in SBML model according to PEtab format. |
|
Get an SBML model from file or URL or file handle |
|
Get sigmas defined in SBML model according to PEtab format. |
|
Turn all local parameters into global parameters with the same properties |
|
Check for SBML validity / consistency |
|
Load SBML model from file |
|
Load SBML model from string |
|
Log libsbml errors |
|
Returns whether the |
|
Returns whether the |
|
Write PEtab visualization table |
- petab.sbml.add_global_parameter(sbml_model: libsbml.Model, parameter_id: str, parameter_name: Optional[str] = None, constant: bool = False, units: str = 'dimensionless', value: float = 0.0) libsbml.Parameter [source]
Add new global parameter to SBML model
- Parameters
sbml_model – SBML model
parameter_id – ID of the new parameter
parameter_name – Name of the new parameter
constant – Is parameter constant?
units – SBML unit ID
value – parameter value
- Returns
The created parameter
- petab.sbml.add_model_output(sbml_model: libsbml.Model, observable_id: str, formula: str, observable_name: Optional[str] = None) None [source]
Add PEtab-style output to model
We expect that all formula parameters are added to the model elsewhere.
- Parameters
sbml_model – Model to add output to
formula – Formula string for model output
observable_id – ID without “observable_” prefix
observable_name – Any observable name
- petab.sbml.add_model_output_sigma(sbml_model: libsbml.Model, observable_id: str, formula: str) None [source]
Add PEtab-style sigma for the given observable id
We expect that all formula parameters are added to the model elsewhere.
- Parameters
sbml_model – Model to add to
observable_id – Observable id for which to add sigma
formula – Formula for sigma
- petab.sbml.add_model_output_with_sigma(sbml_model: libsbml.Model, observable_id: str, observable_formula: str, observable_name: Optional[str] = None) None [source]
Add PEtab-style output and corresponding sigma with single (newly created) parameter
We expect that all formula parameters are added to the model elsewhere.
- Parameters
sbml_model – Model to add output to
observable_formula – Formula string for model output
observable_id – ID without “observable_” prefix
observable_name – Any name
- petab.sbml.assignment_rules_to_dict(sbml_model: libsbml.Model, filter_function=<function <lambda>>, remove: bool = False) Dict[str, Dict[str, Any]] [source]
Turn assignment rules into dictionary.
- Parameters
sbml_model – a sbml model instance.
filter_function – callback function taking assignment variable as input and returning True/False to indicate if the respective rule should be turned into an observable.
remove – Remove the all matching assignment rules from the model
- Returns
{ assigneeId: { 'name': assigneeName, 'formula': formulaString } }
- petab.sbml.create_assigment_rule(sbml_model: libsbml.Model, assignee_id: str, formula: str, rule_id: Optional[str] = None, rule_name: Optional[str] = None) libsbml.AssignmentRule [source]
Create SBML AssignmentRule
- Parameters
sbml_model – Model to add output to
assignee_id – Target of assignment
formula – Formula string for model output
rule_id – SBML id for created rule
rule_name – SBML name for created rule
- Returns
The created
AssignmentRule
- petab.sbml.get_model_for_condition(petab_problem: petab.problem.Problem, sim_condition_id: Optional[str] = None, preeq_condition_id: Optional[str] = None) Tuple[libsbml.SBMLDocument, libsbml.Model] [source]
Create an SBML model for the given condition.
Creates a copy of the model and updates parameters according to the PEtab files. Estimated parameters are set to their
nominalValue
. Observables defined in the observables table are not added to the model.- Parameters
petab_problem – PEtab problem
sim_condition_id – Simulation
conditionId
for which to generate a modelpreeq_condition_id – Preequilibration
conditionId
of the settings for which to generate a model. This is only used to determine the relevant output parameter overrides. Preequilibration is not encoded in the resulting model.
- Returns
The generated SBML document, and SBML model
- petab.sbml.get_model_parameters(sbml_model: libsbml.Model, with_values=False) Union[List[str], Dict[str, float]] [source]
Return SBML model parameters which are not AssignmentRule targets for observables or sigmas
- Parameters
sbml_model – SBML model
with_values – If False, returns list of SBML model parameter IDs which are not AssignmentRule targets for observables or sigmas. If True, returns a dictionary with those parameter IDs as keys and parameter values from the SBML model as values.
- petab.sbml.get_observables(sbml_model: libsbml.Model, remove: bool = False) dict [source]
Get observables defined in SBML model according to PEtab format.
- Returns
Dictionary of observable definitions. See assignment_rules_to_dict for details.
- petab.sbml.get_sbml_model(filepath_or_buffer) Tuple[libsbml.SBMLReader, libsbml.SBMLDocument, libsbml.Model] [source]
Get an SBML model from file or URL or file handle
- Parameters
filepath_or_buffer – File or URL or file handle to read the model from
- Returns
The SBML document, model and reader
- petab.sbml.get_sigmas(sbml_model: libsbml.Model, remove: bool = False) dict [source]
Get sigmas defined in SBML model according to PEtab format.
- Returns
Dictionary of sigma definitions.
Keys are observable IDs, for values see assignment_rules_to_dict for details.
- petab.sbml.globalize_parameters(sbml_model: libsbml.Model, prepend_reaction_id: bool = False) None [source]
Turn all local parameters into global parameters with the same properties
Local parameters are currently ignored by other PEtab functions. Use this function to convert them to global parameters. There may exist local parameters with identical IDs within different kinetic laws. This is not checked here. If in doubt that local parameter IDs are unique, enable prepend_reaction_id to create global parameters named ${reaction_id}_${local_parameter_id}.
- Parameters
sbml_model – The SBML model to operate on
prepend_reaction_id – Prepend reaction id of local parameter when creating global parameters
- petab.sbml.is_sbml_consistent(sbml_document: libsbml.SBMLDocument, check_units: bool = False) bool [source]
Check for SBML validity / consistency
- Parameters
sbml_document – SBML document to check
check_units – Also check for unit-related issues
- Returns
False
if problems were detected, otherwiseTrue
- petab.sbml.load_sbml_from_file(sbml_file: str) Tuple[libsbml.SBMLReader, libsbml.SBMLDocument, libsbml.Model] [source]
Load SBML model from file
- Parameters
sbml_file – Filename of the SBML file
- Returns
The SBML document, model and reader
- petab.sbml.load_sbml_from_string(sbml_string: str) Tuple[libsbml.SBMLReader, libsbml.SBMLDocument, libsbml.Model] [source]
Load SBML model from string
- Parameters
sbml_string – Model as XML string
- Returns
The SBML document, model and reader
- petab.sbml.log_sbml_errors(sbml_document: libsbml.SBMLDocument, minimum_severity=1) None [source]
Log libsbml errors
- Parameters
sbml_document – SBML document to check
minimum_severity – Minimum severity level to report (see libsbml)
- petab.sbml.sbml_parameter_is_observable(sbml_parameter: libsbml.Parameter) bool [source]
Returns whether the
libsbml.Parameter
sbml_parameter
matches the defined observable format.