# pyPESTO - Parameter EStimation TOolbox for python
<img src="https://raw.githubusercontent.com/ICB-DCM/pyPESTO/master/doc/logo/logo_wordmark.png" width="50%" alt="pyPESTO logo"/>
**pyPESTO** is a widely applicable and highly customizable toolbox for
parameter estimation.
[![PyPI](https://badge.fury.io/py/pypesto.svg)](https://badge.fury.io/py/pypesto)
[![CI](https://github.com/ICB-DCM/pyPESTO/workflows/CI/badge.svg)](https://github.com/ICB-DCM/pyPESTO/actions)
[![Coverage](https://codecov.io/gh/ICB-DCM/pyPESTO/branch/master/graph/badge.svg)](https://codecov.io/gh/ICB-DCM/pyPESTO)
[![Documentation](https://readthedocs.org/projects/pypesto/badge/?version=latest)](https://pypesto.readthedocs.io)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2553546.svg)](https://doi.org/10.5281/zenodo.2553546)
## Feature overview
![](https://raw.githubusercontent.com/ICB-DCM/pyPESTO/main/doc/gfx/concept_pypesto.png)
*Feature overview of pyPESTO. Figure taken from the [Bioinformatics publication](https://doi.org/10.1093/bioinformatics/btad711).*
pyPESTO features include:
* Parameter estimation interfacing **multiple optimization algorithms** including
multi-start local and global optimization. ([example](https://pypesto.readthedocs.io/en/latest/example/getting_started.html),
[overview of optimizers](https://pypesto.readthedocs.io/en/latest/api/pypesto.optimize.html))
* Interface to **multiple simulators** including
* [AMICI](https://github.com/AMICI-dev/AMICI/) for efficient simulation and
sensitivity analysis of ordinary differential equation (ODE) models. ([example](https://pypesto.readthedocs.io/en/latest/example/amici.html))
* [RoadRunner](https://libroadrunner.org/) for simulation of SBML models. ([example](https://pypesto.readthedocs.io/en/latest/example/roadrunner.html))
* [Jax](https://jax.readthedocs.io/en/latest/quickstart.html) and
[Julia](https://julialang.org) for automatic differentiation.
* **Uncertainty quantification** using various methods:
* **Profile likelihoods**.
* **Sampling** using Markov chain Monte Carlo (MCMC), parallel tempering, and
interfacing other samplers including [emcee](https://emcee.readthedocs.io/en/stable/),
[pymc](https://www.pymc.io/welcome.html) and
[dynesty](https://dynesty.readthedocs.io/en/stable/).
([example](https://pypesto.readthedocs.io/en/latest/example/sampler_study.html))
* **Variational inference**
* **Complete** parameter estimation **pipeline** for systems biology problems specified in
[SBML](http://sbml.org/) and [PEtab](https://github.com/PEtab-dev/PEtab).
([example](https://pypesto.readthedocs.io/en/latest/example/petab_import.html))
* Parameter estimation pipelines for **different modes of data**:
* **Relative (scaled and offset) data** as described in
[Schmiester et al. (2020)](https://doi.org/10.1093/bioinformatics/btz581).
([example](https://pypesto.readthedocs.io/en/latest/example/relative_data.html))
* **Ordinal data** as described in
[Schmiester et al. (2020)](https://doi.org/10.1007/s00285-020-01522-w) and
[Schmiester et al. (2021)](https://doi.org/10.1093/bioinformatics/btab512).
([example](https://pypesto.readthedocs.io/en/latest/example/ordinal_data.html))
* **Censored data**. ([example](https://pypesto.readthedocs.io/en/latest/example/censored_data.html))
* **Semiquantitative data** as described in [Doresic et al. (2024)](https://doi.org/10.1093/bioinformatics/btae210). ([example](https://pypesto.readthedocs.io/en/latest/example/semiquantitative_data.html))
* **Model selection**. ([example](https://pypesto.readthedocs.io/en/latest/example/model_selection.html))
* Various **visualization methods** to analyze parameter estimation results.
## Quick install
The simplest way to install **pyPESTO** is via pip:
```shell
pip3 install pypesto
```
More information is available here:
https://pypesto.readthedocs.io/en/latest/install.html
## Documentation
The documentation is hosted on readthedocs.io:
<https://pypesto.readthedocs.io>
## Examples
Multiple use cases are discussed in the documentation. In particular, there are
jupyter notebooks in the [doc/example](doc/example) directory.
## Contributing
We are happy about any contributions. For more information on how to contribute
to pyPESTO check out
<https://pypesto.readthedocs.io/en/latest/contribute.html>
## How to Cite
**Citeable DOI for the latest pyPESTO release:**
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2553546.svg)](https://doi.org/10.5281/zenodo.2553546)
When using pyPESTO in your project, please cite
* Schälte, Y., Fröhlich, F., Jost, P. J., Vanhoefer, J., Pathirana, D., Stapor, P.,
Lakrisenko, P., Wang, D., Raimúndez, E., Merkt, S., Schmiester, L., Städter, P.,
Grein, S., Dudkin, E., Doresic, D., Weindl, D., & Hasenauer, J. (2023). pyPESTO: A
modular and scalable tool for parameter estimation for dynamic models,
Bioinformatics, 2023, btad711, [doi:10.1093/bioinformatics/btad711](https://doi.org/10.1093/bioinformatics/btad711)
When presenting work that employs pyPESTO, feel free to use one of the icons in
[doc/logo/](doc/logo):
<p align="center">
<img src="https://raw.githubusercontent.com/ICB-DCM/pyPESTO/main/doc/logo/logo.png" height="75" alt="pyPESTO Logo">
</p>
There is a list of [publications using pyPESTO](https://pypesto.readthedocs.io/en/latest/references.html).
If you used pyPESTO in your work, we are happy to include
your project, please let us know via a GitHub issue.
## References
pyPESTO supersedes [**PESTO**](https://github.com/ICB-DCM/PESTO/) a parameter estimation
toolbox for MATLAB, whose development is discontinued.
Raw data
{
"_id": null,
"home_page": "https://github.com/icb-dcm/pypesto",
"name": "pypesto",
"maintainer": "Paul Jonas Jost, Maren Philipps, Domagoj Dore\u0161i\u0107, Fabian Fr\u00f6hlich",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "paul.jost@uni-bonn.de, maren.philipps@uni-bonn.de, domagoj.doresic@uni-bonn.de, fabian.frohlich@crick.ac.uk",
"keywords": "parameter inference, optimization, sampling, profiles, ODE, AMICI, systems biology",
"author": "The pyPESTO developers",
"author_email": "yannik.schaelte@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/19/ff/b0d5a8d4a964b148aa9ec1b3b7a97b45b29dad8a4826a9c1ed34ee3fc33c/pypesto-0.5.4.tar.gz",
"platform": null,
"description": "# pyPESTO - Parameter EStimation TOolbox for python\n\n<img src=\"https://raw.githubusercontent.com/ICB-DCM/pyPESTO/master/doc/logo/logo_wordmark.png\" width=\"50%\" alt=\"pyPESTO logo\"/>\n\n**pyPESTO** is a widely applicable and highly customizable toolbox for\nparameter estimation.\n\n[![PyPI](https://badge.fury.io/py/pypesto.svg)](https://badge.fury.io/py/pypesto)\n[![CI](https://github.com/ICB-DCM/pyPESTO/workflows/CI/badge.svg)](https://github.com/ICB-DCM/pyPESTO/actions)\n[![Coverage](https://codecov.io/gh/ICB-DCM/pyPESTO/branch/master/graph/badge.svg)](https://codecov.io/gh/ICB-DCM/pyPESTO)\n[![Documentation](https://readthedocs.org/projects/pypesto/badge/?version=latest)](https://pypesto.readthedocs.io)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2553546.svg)](https://doi.org/10.5281/zenodo.2553546)\n\n## Feature overview\n\n![](https://raw.githubusercontent.com/ICB-DCM/pyPESTO/main/doc/gfx/concept_pypesto.png)\n*Feature overview of pyPESTO. Figure taken from the [Bioinformatics publication](https://doi.org/10.1093/bioinformatics/btad711).*\n\npyPESTO features include:\n\n* Parameter estimation interfacing **multiple optimization algorithms** including\n multi-start local and global optimization. ([example](https://pypesto.readthedocs.io/en/latest/example/getting_started.html),\n [overview of optimizers](https://pypesto.readthedocs.io/en/latest/api/pypesto.optimize.html))\n* Interface to **multiple simulators** including\n * [AMICI](https://github.com/AMICI-dev/AMICI/) for efficient simulation and\n sensitivity analysis of ordinary differential equation (ODE) models. ([example](https://pypesto.readthedocs.io/en/latest/example/amici.html))\n * [RoadRunner](https://libroadrunner.org/) for simulation of SBML models. ([example](https://pypesto.readthedocs.io/en/latest/example/roadrunner.html))\n * [Jax](https://jax.readthedocs.io/en/latest/quickstart.html) and\n [Julia](https://julialang.org) for automatic differentiation.\n* **Uncertainty quantification** using various methods:\n * **Profile likelihoods**.\n * **Sampling** using Markov chain Monte Carlo (MCMC), parallel tempering, and\n interfacing other samplers including [emcee](https://emcee.readthedocs.io/en/stable/),\n [pymc](https://www.pymc.io/welcome.html) and\n [dynesty](https://dynesty.readthedocs.io/en/stable/).\n ([example](https://pypesto.readthedocs.io/en/latest/example/sampler_study.html))\n * **Variational inference**\n* **Complete** parameter estimation **pipeline** for systems biology problems specified in\n [SBML](http://sbml.org/) and [PEtab](https://github.com/PEtab-dev/PEtab).\n ([example](https://pypesto.readthedocs.io/en/latest/example/petab_import.html))\n* Parameter estimation pipelines for **different modes of data**:\n * **Relative (scaled and offset) data** as described in\n [Schmiester et al. (2020)](https://doi.org/10.1093/bioinformatics/btz581).\n ([example](https://pypesto.readthedocs.io/en/latest/example/relative_data.html))\n * **Ordinal data** as described in\n [Schmiester et al. (2020)](https://doi.org/10.1007/s00285-020-01522-w) and\n [Schmiester et al. (2021)](https://doi.org/10.1093/bioinformatics/btab512).\n ([example](https://pypesto.readthedocs.io/en/latest/example/ordinal_data.html))\n * **Censored data**. ([example](https://pypesto.readthedocs.io/en/latest/example/censored_data.html))\n * **Semiquantitative data** as described in [Doresic et al. (2024)](https://doi.org/10.1093/bioinformatics/btae210). ([example](https://pypesto.readthedocs.io/en/latest/example/semiquantitative_data.html))\n* **Model selection**. ([example](https://pypesto.readthedocs.io/en/latest/example/model_selection.html))\n* Various **visualization methods** to analyze parameter estimation results.\n\n## Quick install\n\nThe simplest way to install **pyPESTO** is via pip:\n\n```shell\npip3 install pypesto\n```\n\nMore information is available here:\nhttps://pypesto.readthedocs.io/en/latest/install.html\n\n## Documentation\n\nThe documentation is hosted on readthedocs.io:\n<https://pypesto.readthedocs.io>\n\n## Examples\n\nMultiple use cases are discussed in the documentation. In particular, there are\njupyter notebooks in the [doc/example](doc/example) directory.\n\n## Contributing\n\nWe are happy about any contributions. For more information on how to contribute\nto pyPESTO check out\n<https://pypesto.readthedocs.io/en/latest/contribute.html>\n\n## How to Cite\n\n**Citeable DOI for the latest pyPESTO release:**\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2553546.svg)](https://doi.org/10.5281/zenodo.2553546)\n\nWhen using pyPESTO in your project, please cite\n* Sch\u00e4lte, Y., Fr\u00f6hlich, F., Jost, P. J., Vanhoefer, J., Pathirana, D., Stapor, P.,\n Lakrisenko, P., Wang, D., Raim\u00fandez, E., Merkt, S., Schmiester, L., St\u00e4dter, P.,\n Grein, S., Dudkin, E., Doresic, D., Weindl, D., & Hasenauer, J. (2023). pyPESTO: A\n modular and scalable tool for parameter estimation for dynamic models,\n Bioinformatics, 2023, btad711, [doi:10.1093/bioinformatics/btad711](https://doi.org/10.1093/bioinformatics/btad711)\n\nWhen presenting work that employs pyPESTO, feel free to use one of the icons in\n[doc/logo/](doc/logo):\n\n<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/ICB-DCM/pyPESTO/main/doc/logo/logo.png\" height=\"75\" alt=\"pyPESTO Logo\">\n</p>\n\nThere is a list of [publications using pyPESTO](https://pypesto.readthedocs.io/en/latest/references.html).\nIf you used pyPESTO in your work, we are happy to include\nyour project, please let us know via a GitHub issue.\n\n## References\n\npyPESTO supersedes [**PESTO**](https://github.com/ICB-DCM/PESTO/) a parameter estimation\ntoolbox for MATLAB, whose development is discontinued.\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "python-based Parameter EStimation TOolbox",
"version": "0.5.4",
"project_urls": {
"Bug Tracker": "https://github.com/icb-dcm/pypesto/issues",
"Changelog": "https://pypesto.readthedocs.io/en/latest/changelog.html",
"Documentation": "https://pypesto.readthedocs.io",
"Download": "https://github.com/icb-dcm/pypesto/releases",
"Homepage": "https://github.com/icb-dcm/pypesto"
},
"split_keywords": [
"parameter inference",
" optimization",
" sampling",
" profiles",
" ode",
" amici",
" systems biology"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7b41fe62e834a3e3a863db73565483a5ab27fa258583d874edf4f3aee74f8568",
"md5": "dfd66a6c1f14a50075888c906313bbc3",
"sha256": "e98ee6a3c6f0b99f2edc010578fb3c24540febb7753b48d9f1346d3ee52ced19"
},
"downloads": -1,
"filename": "pypesto-0.5.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "dfd66a6c1f14a50075888c906313bbc3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 411030,
"upload_time": "2024-10-31T10:15:33",
"upload_time_iso_8601": "2024-10-31T10:15:33.664297Z",
"url": "https://files.pythonhosted.org/packages/7b/41/fe62e834a3e3a863db73565483a5ab27fa258583d874edf4f3aee74f8568/pypesto-0.5.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "19ffb0d5a8d4a964b148aa9ec1b3b7a97b45b29dad8a4826a9c1ed34ee3fc33c",
"md5": "c521d7f85b9a0b2f1ebb427ba2f5c4c2",
"sha256": "354993c647cff796d00daaf5e63c6d96d60a091a69bb8e224ae9cb1cb651482b"
},
"downloads": -1,
"filename": "pypesto-0.5.4.tar.gz",
"has_sig": false,
"md5_digest": "c521d7f85b9a0b2f1ebb427ba2f5c4c2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 335432,
"upload_time": "2024-10-31T10:15:35",
"upload_time_iso_8601": "2024-10-31T10:15:35.319214Z",
"url": "https://files.pythonhosted.org/packages/19/ff/b0d5a8d4a964b148aa9ec1b3b7a97b45b29dad8a4826a9c1ed34ee3fc33c/pypesto-0.5.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-31 10:15:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "icb-dcm",
"github_project": "pypesto",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "pypesto"
}