Metadata-Version: 2.1
Name: petab_select
Version: 0.2.1
Summary: PEtab Select: an extension to PEtab for model selection.
Home-page: https://github.com/PEtab-dev/petab_select
Author: The PEtab Select developers
Maintainer-email: Dilan Pathirana <dilan.pathirana@uni-bonn.de>
License: BSD-3-Clause
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: more-itertools
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: petab
Requires-Dist: pyyaml
Requires-Dist: click
Requires-Dist: dill
Provides-Extra: plot
Requires-Dist: matplotlib>=2.2.3; extra == "plot"
Requires-Dist: upsetplot; extra == "plot"
Requires-Dist: toposort; extra == "plot"
Requires-Dist: networkx; extra == "plot"
Provides-Extra: test
Requires-Dist: pytest>=5.4.3; extra == "test"
Requires-Dist: pytest-cov>=2.10.0; extra == "test"
Requires-Dist: amici>=0.11.25; extra == "test"
Requires-Dist: fides>=0.7.5; extra == "test"
Requires-Dist: pypesto>0.2.13; extra == "test"
Requires-Dist: tox>=3.12.4; extra == "test"
Provides-Extra: doc
Requires-Dist: sphinx>=8.1.3; extra == "doc"
Requires-Dist: sphinxcontrib-napoleon>=0.7; extra == "doc"
Requires-Dist: sphinx-markdown-tables>=0.0.15; extra == "doc"
Requires-Dist: sphinx-rtd-theme>=0.5.1; extra == "doc"
Requires-Dist: recommonmark>=0.7.1; extra == "doc"
Requires-Dist: nbsphinx>=0.9.5; extra == "doc"
Requires-Dist: pandoc>=2.4; extra == "doc"
Requires-Dist: nbconvert>=7.16.4; extra == "doc"
Requires-Dist: ipython>=7.21.0; extra == "doc"
Requires-Dist: readthedocs-sphinx-ext>=2.2.5; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints; extra == "doc"

<img src="https://raw.githubusercontent.com/PEtab-dev/petab_select/refs/heads/main/doc/logo/logo-wide.svg" height="200" alt="PEtab Select logo">

[![PyPI - Version](https://img.shields.io/pypi/v/petab-select)](https://pypi.org/project/petab-select/)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14183390.svg)](https://doi.org/10.5281/zenodo.14183390)


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/](http://petab-select.readthedocs.io/).

## Examples

There are example Jupyter notebooks for usage of PEtab Select with

- the command-line interface, and
- the Python 3 interface,

in the `doc/examples` directory.

## Supported features

### Criterion

- `AIC`: https://en.wikipedia.org/wiki/Akaike_information_criterion#Definition
- `AICc`: https://en.wikipedia.org/wiki/Akaike_information_criterion#Modification_for_small_sample_size
- `BIC`: https://en.wikipedia.org/wiki/Bayesian_information_criterion#Definition

### Methods

- `forward`: https://en.wikipedia.org/wiki/Stepwise_regression#Main_approaches
- `backward`: https://en.wikipedia.org/wiki/Stepwise_regression#Main_approaches
- `brute_force`: Optimize all possible model candidates, then return the model
  with the best criterion value.
- `famos`: https://doi.org/10.1371/journal.pcbi.1007230

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.
