Home

Awesome

PEtab Select

The repository for the development of the extension to PEtab for model selection, including the additional file formats and Python 3 package.

Install

The Python 3 package provides both the Python 3 and command-line (CLI) interfaces, and can be installed from PyPI, with pip3 install petab-select.

Documentation

Further documentation is available at http://petab-select.readthedocs.io/.

Examples

There are example Jupyter notebooks for usage of PEtab Select with

in the doc/examples directory.

Supported features

Criterion

Methods

Note that the directional methods (forward, backward) find models with the smallest step size (in terms of number of estimated parameters). For example, given the forward method and a predecessor model with 2 estimated parameters, if there are no models with 3 estimated parameters, but some models with 4 estimated parameters, then the search may return candidate models with 4 estimated parameters.

File formats

Column or key names that are surrounding by square brackets (e.g. [constraint_files]) are optional.

Selection problem

A YAML file with a description of the model selection problem.

format_version: [string]
criterion: [string]
method: [string]
model_space_files: [List of filenames]
[constraint_files]: [List of filenames]
[predecessor_model_files]: [List of filenames]

Model space

A TSV with candidate models, in compressed or uncompressed format.

model_subspace_idpetab_yaml[sbml]parameter_id_1...parameter_id_n
(Unique) [string][string][string][string/float] OR [; delimited list of string/float]...[string/float] OR [; delimited list of string/float]

Constraints

A TSV file with constraints.

petab_yaml[if]constraint
[string][SBML L3 Formula expression][SBML L3 Formula expression]

Model(s) (Predecessor models / model interchange / report)

Here, the format for a single model is shown. Multiple models can be specified as a YAML list of the same format.

The only required key is the PEtab YAML, as a model requires a PEtab problem. All other keys are maybe required, for the different uses of the format (e.g., the report format should include estimated_parameters), or at different stages of the model selection process (the PEtab-compatible calibration tool should provide criteria for model comparison).

[criteria]: [Dictionary of criterion names and values]
[estimated_parameters]: [Dictionary of parameter IDs and values]
[model_hash]: [string]
[model_id]: [string]
[parameters]: [Dictionary of parameter IDs and values]
petab_yaml: [string]
[predecessor_model_hash]: [string]
[sbml]: [string]

Test cases

Several test cases are provided, to test the compatibility of a PEtab-compatible calibration tool with different PEtab Select features.

The test cases are available in the test_cases directory, and are provided in the model format.

Test IDCriterionMethodModel space filesCompressed formatConstraints filesPredecessor (initial) models files
0001(all)(only one model)1
0002<sup>1</sup>AICforward1
0003BICall1Yes
0004AICcbackward11
0005AICforward11
0006AICforward1
0007<sup>2</sup>AICforward1
0008<sup>2</sup>AICcbackward1
0009<sup>3</sup>AICcFAMoS1YesYes

<a name="test_case_0002">1</a>. Model M1_0 differs from M1_1 in three parameters, but only 1 additional estimated parameter. The effect of this on model selection criteria needs to be clarified. Test case 0006 is a duplicate of 0002 that doesn't have this issue.

<a name="test_case_0007_and_0008">2</a>. Noise parameter is removed, noise is fixed to 1.

<a name="test_case_0009">3</a>. This is a computationally expensive problem to solve. Developers can try a model selection initialized with the provided predecessor model, which is a model start that reproducibly finds the expected model. To solve the problem reproducibly <i>ab initio</i>, on the order of 100 random model starts are required. This test case reproduces the model selection problem presented in https://doi.org/10.1016/j.cels.2016.01.002 .