biosimulators_cbmpy package

biosimulators_cbmpy.exec_sed_doc(doc, working_dir, base_out_path, rel_out_path=None, apply_xml_model_changes=True, log=None, indent=0, pretty_print_modified_xml_models=False, log_level=StandardOutputErrorCapturerLevel.c, config=None)[source]

Execute the tasks specified in a SED document and generate the specified outputs

Parameters
  • doc (SedDocument or str) – SED document or a path to SED-ML file which defines a SED document

  • working_dir (str) – working directory of the SED document (path relative to which models are located)

  • base_out_path (str) –

    path to store the outputs

    • CSV: directory in which to save outputs to files {base_out_path}/{rel_out_path}/{report.id}.csv

    • HDF5: directory in which to save a single HDF5 file ({base_out_path}/reports.h5), with reports at keys {rel_out_path}/{report.id} within the HDF5 file

  • rel_out_path (str, optional) – path relative to base_out_path to store the outputs

  • apply_xml_model_changes (bool, optional) – if True, apply any model changes specified in the SED-ML file before calling task_executer.

  • log (SedDocumentLog, optional) – log of the document

  • indent (int, optional) – degree to indent status messages

  • pretty_print_modified_xml_models (bool, optional) – if True, pretty print modified XML models

  • log_level (StandardOutputErrorCapturerLevel, optional) – level at which to log output

  • config (Config, optional) – BioSimulators common configuration

  • simulator_config (SimulatorConfig, optional) – tellurium configuration

Returns

  • ReportResults: results of each report

  • SedDocumentLog: log of the document

Return type

tuple

biosimulators_cbmpy.exec_sed_task(task, variables, preprocessed_task=None, log=None, config=None)[source]

Execute a task and save its results

Parameters
  • task (Task) – task

  • variables (list of Variable) – variables that should be recorded

  • preprocessed_task (dict, optional) – preprocessed information about the task, including possible model changes and variables. This can be used to avoid repeatedly executing the same initialization for repeated calls to this method.

  • log (TaskLog, optional) – log for the task

  • config (Config, optional) – BioSimulators common configuration

Returns

VariableResults: results of variables TaskLog: log

Return type

tuple

Raises
  • ValueError – if the task or an aspect of the task is not valid, or the requested output variables could not be recorded

  • NotImplementedError – if the task is not of a supported type or involves an unsuported feature

biosimulators_cbmpy.exec_sedml_docs_in_combine_archive(archive_filename, out_dir, config=None)[source]

Execute the SED tasks defined in a COMBINE/OMEX archive and save the outputs

Parameters
  • archive_filename (str) – path to COMBINE/OMEX archive

  • out_dir (str) –

    path to store the outputs of the archive

    • CSV: directory in which to save outputs to files { out_dir }/{ relative-path-to-SED-ML-file-within-archive }/{ report.id }.csv

    • HDF5: directory in which to save a single HDF5 file ({ out_dir }/reports.h5), with reports at keys { relative-path-to-SED-ML-file-within-archive }/{ report.id } within the HDF5 file

  • config (Config, optional) – BioSimulators common configuration

Returns

  • SedDocumentResults: results

  • CombineArchiveLog: log

Return type

tuple

biosimulators_cbmpy.get_simulator_version()[source]

Get the version of CBMPy

Returns

version

Return type

str

biosimulators_cbmpy.preprocess_sed_task(task, variables, config=None)[source]

Preprocess a SED task, including its possible model changes and variables. This is useful for avoiding repeatedly initializing tasks on repeated calls of exec_sed_task.

Parameters
  • task (Task) – task

  • variables (list of Variable) – variables that should be recorded

  • config (Config, optional) – BioSimulators common configuration

Returns

preprocessed information about the task

Return type

dict

Submodules

biosimulators_cbmpy.core module

Methods for executing SED tasks in COMBINE archives and saving their outputs

Author

Jonathan Karr <karr@mssm.edu>

Date

2020-10-29

Copyright

2020, Center for Reproducible Biomedical Modeling

License

MIT

biosimulators_cbmpy.core.exec_sed_doc(doc, working_dir, base_out_path, rel_out_path=None, apply_xml_model_changes=True, log=None, indent=0, pretty_print_modified_xml_models=False, log_level=StandardOutputErrorCapturerLevel.c, config=None)[source]

Execute the tasks specified in a SED document and generate the specified outputs

Parameters
  • doc (SedDocument or str) – SED document or a path to SED-ML file which defines a SED document

  • working_dir (str) – working directory of the SED document (path relative to which models are located)

  • base_out_path (str) –

    path to store the outputs

    • CSV: directory in which to save outputs to files {base_out_path}/{rel_out_path}/{report.id}.csv

    • HDF5: directory in which to save a single HDF5 file ({base_out_path}/reports.h5), with reports at keys {rel_out_path}/{report.id} within the HDF5 file

  • rel_out_path (str, optional) – path relative to base_out_path to store the outputs

  • apply_xml_model_changes (bool, optional) – if True, apply any model changes specified in the SED-ML file before calling task_executer.

  • log (SedDocumentLog, optional) – log of the document

  • indent (int, optional) – degree to indent status messages

  • pretty_print_modified_xml_models (bool, optional) – if True, pretty print modified XML models

  • log_level (StandardOutputErrorCapturerLevel, optional) – level at which to log output

  • config (Config, optional) – BioSimulators common configuration

  • simulator_config (SimulatorConfig, optional) – tellurium configuration

Returns

  • ReportResults: results of each report

  • SedDocumentLog: log of the document

Return type

tuple

biosimulators_cbmpy.core.exec_sed_task(task, variables, preprocessed_task=None, log=None, config=None)[source]

Execute a task and save its results

Parameters
  • task (Task) – task

  • variables (list of Variable) – variables that should be recorded

  • preprocessed_task (dict, optional) – preprocessed information about the task, including possible model changes and variables. This can be used to avoid repeatedly executing the same initialization for repeated calls to this method.

  • log (TaskLog, optional) – log for the task

  • config (Config, optional) – BioSimulators common configuration

Returns

VariableResults: results of variables TaskLog: log

Return type

tuple

Raises
  • ValueError – if the task or an aspect of the task is not valid, or the requested output variables could not be recorded

  • NotImplementedError – if the task is not of a supported type or involves an unsuported feature

biosimulators_cbmpy.core.exec_sedml_docs_in_combine_archive(archive_filename, out_dir, config=None)[source]

Execute the SED tasks defined in a COMBINE/OMEX archive and save the outputs

Parameters
  • archive_filename (str) – path to COMBINE/OMEX archive

  • out_dir (str) –

    path to store the outputs of the archive

    • CSV: directory in which to save outputs to files { out_dir }/{ relative-path-to-SED-ML-file-within-archive }/{ report.id }.csv

    • HDF5: directory in which to save a single HDF5 file ({ out_dir }/reports.h5), with reports at keys { relative-path-to-SED-ML-file-within-archive }/{ report.id } within the HDF5 file

  • config (Config, optional) – BioSimulators common configuration

Returns

  • SedDocumentResults: results

  • CombineArchiveLog: log

Return type

tuple

biosimulators_cbmpy.core.preprocess_sed_task(task, variables, config=None)[source]

Preprocess a SED task, including its possible model changes and variables. This is useful for avoiding repeatedly initializing tasks on repeated calls of exec_sed_task.

Parameters
  • task (Task) – task

  • variables (list of Variable) – variables that should be recorded

  • config (Config, optional) – BioSimulators common configuration

Returns

preprocessed information about the task

Return type

dict

biosimulators_cbmpy.data_model module

Data model for mapping from KiSAO terms for algorithms and their parameters to solvers methods and their arguments.

Author

Jonathan Karr <karr@mssm.edu>

Date

2021-01-02

Copyright

2021, Center for Reproducible Biomedical Modeling

License

MIT

biosimulators_cbmpy.utils module

Utilities for working with CBMPy

Author

Jonathan Karr <karr@mssm.edu>

Date

2020-01-02

Copyright

2021, BioSimulators Team

License

MIT

biosimulators_cbmpy.utils.apply_algorithm_change_to_simulation_module_method_args(method_props, argument_change, model, module_method_args)[source]

Set the value of an argument of a simulation method based on a SED algorithm parameter change

Parameters
  • method_props (dict) – properties of the simulation method

  • argument_change (AlgorithmParameterChange) – algorithm parameter change

  • model (cbmpy.CBModel.Model) – model

  • module_method_args (dict) – dictionary representing the desired simulation function, its parent module, and the desired keyword arguments to the function

Raises
  • NotImplementedError – if the simulation method doesn’t support the parameter

  • ValueError – if the new value is not a valid value of the parameter

biosimulators_cbmpy.utils.apply_variables_to_simulation_module_method_args(target_sbml_id_map, method_props, variables, solver_method_args)[source]

Encode the desired output variables into arguments to simulation methods

Parameters
  • target_sbml_id_map (dict of str to str) – dictionary that maps each XPath to the SBML id of the corresponding model object

  • method_props (dict) – properties of the simulation method

  • variables (list of Variable) – variables that should be recorded

  • solver_method_args (dict) – keyword arguments for the simulation method

biosimulators_cbmpy.utils.get_default_solver_module_function_args(algorithm=None)[source]

Get the default solver and its default arguments for an algorithm

Parameters

algorithm (str, optional) – KiSAO id of algorithm

Returns

default solver and default values of its arguments

Return type

dict

biosimulators_cbmpy.utils.get_results_of_variables(target_results_path_map, method_props, solver, variables, model, solution)[source]

Get the results of the desired variables

Parameters
  • target_results_path_map (dict) – path to results of desired variables

  • method_props (dict) – properties of desired simulation method

  • solver (dict) – dictionary representing the desired simulation function, its parent module, and the desired keyword arguments to the function

  • variables (list of Variable) – variables that should be recorded

  • model (cbmpy.CBModel.Model) – model

  • solution (object) – solution of method

Returns

the results of desired variables

Return type

VariableResults

biosimulators_cbmpy.utils.get_simulation_method_args(method_props, module_method_args)[source]

Setup the simulation method and its keyword arguments

Parameters
  • method_props (dict) – properties of the simulation method

  • module_method_args (dict) – dictionary representing the desired simulation function, its parent module, and the desired keyword arguments to the function

Returns

  • types.FunctionType: simulation method

  • dict: keyword arguments for the simulation method

Return type

tuple

biosimulators_cbmpy.utils.validate_variables(model, method, variables, target_sbml_id_map, target_sbml_fbc_id_map, sbml_fbc_uri)[source]

Validate the desired output variables of a simulation

Parameters
  • model (cbmpy.CBModel.Model) – model

  • method (dict) – properties of desired simulation method

  • variables (list of Variable) – variables that should be recorded

  • target_sbml_id_map (dict of str to str) – dictionary that maps each XPath to the SBML id of the corresponding model object

  • target_sbml_fbc_id_map (dict of str to str) – dictionary that maps each XPath to the SBML-FBC id of the corresponding model object

  • sbml_fbc_uri (str) – URI for SBML FBC package