amici
High-performance sensitivity analysis for large ordinary differential equation models
Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 5 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
8 of 30 committers (26.7%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.4%) to scientific vocabulary
Keywords
Repository
High-performance sensitivity analysis for large ordinary differential equation models
Basic Info
- Host: GitHub
- Owner: AMICI-dev
- License: other
- Language: C++
- Default Branch: main
- Homepage: https://amici.readthedocs.io/
- Size: 211 MB
Statistics
- Stars: 125
- Watchers: 9
- Forks: 31
- Open Issues: 123
- Releases: 124
Topics
Metadata Files
README.md

Advanced Multilanguage Interface for CVODES and IDAS
About
AMICI provides a multi-language (Python, C++, Matlab) interface for the
SUNDIALS solvers
CVODES
(for ordinary differential equations) and
IDAS
(for algebraic differential equations). AMICI allows the user to read
differential equation models specified as SBML
or PySB
and automatically compiles such models into Python modules, C++ libraries or
Matlab .mex simulation files.
The generated model expressions along with the corresponding sensitivity
equations are transformed into native C++ code which allows for a significantly
faster simulation.
NOTE: The MATLAB interface is no longer supported and will be removed soon.
Beyond forward integration, the compiled simulation file also allows for forward sensitivity analysis, steady state sensitivity analysis and adjoint sensitivity analysis for likelihood-based output functions.
The interface was designed to provide routines for efficient gradient computation in parameter estimation of biochemical reaction models, but it is also applicable to a wider range of differential equation constrained optimization problems.
Current build status
Features
- SBML import
- PySB import
- Generation of C++ code for model simulation and sensitivity computation
- Access to and high customizability of CVODES and IDAS solver
- Python, C++, Matlab interface
- Sensitivity analysis
- forward
- steady state
- adjoint
- first- and second-order
- Pre-equilibration and pre-simulation conditions
- Support for discrete events and logical operations
Interfaces & workflow
The AMICI workflow starts with importing a model from either
SBML (Matlab, Python), PySB (Python),
or a Matlab definition of the model (Matlab-only). From this input,
all equations for model simulation
are derived symbolically and C++ code is generated. This code is then
compiled into a C++ library, a Python module, or a Matlab .mex file and
is then used for model simulation.

Getting started
The AMICI source code is available at https://github.com/AMICI-dev/AMICI/. To install AMICI, first read the installation instructions for Python, C++ or Matlab. There are also instructions for using AMICI inside containers.
To get you started with Python-AMICI, the best way might be checking out this
Jupyter notebook
.
To get started with Matlab-AMICI, various examples are available in matlab/examples/.
Comprehensive documentation is available at https://amici.readthedocs.io/en/latest/.
Any contributions to AMICI are welcome (code, bug reports, suggestions for improvements, ...).
Getting help
In case of questions or problems with using AMICI, feel free to post an issue on GitHub. We are trying to get back to you quickly.
Projects using AMICI
There are several tools for parameter estimation offering good integration with AMICI:
- pyPESTO: Python library for optimization, sampling and uncertainty analysis
- pyABC: Python library for parallel and scalable ABC-SMC (Approximate Bayesian Computation - Sequential Monte Carlo)
- parPE: C++ library for parameter estimation of ODE models offering distributed memory parallelism with focus on problems with many simulation conditions.
Publications
Citeable DOI for the latest AMICI release:
There is a list of publications using AMICI. If you used AMICI in your work, we are happy to include your project, please let us know via a GitHub issue.
When using AMICI in your project, please cite:
- Fröhlich, F., Weindl, D., Schälte, Y., Pathirana, D., Paszkowski, Ł., Lines, G.T., Stapor, P. and Hasenauer, J., 2021. AMICI: High-Performance Sensitivity Analysis for Large Ordinary Differential Equation Models. Bioinformatics, btab227, DOI:10.1093/bioinformatics/btab227.
bibtex
@article{frohlich2020amici,
title={AMICI: High-Performance Sensitivity Analysis for Large Ordinary Differential Equation Models},
author={Fr{\"o}hlich, Fabian and Weindl, Daniel and Sch{\"a}lte, Yannik and Pathirana, Dilan and Paszkowski, {\L}ukasz and Lines, Glenn Terje and Stapor, Paul and Hasenauer, Jan},
journal = {Bioinformatics},
year = {2021},
month = {04},
issn = {1367-4803},
doi = {10.1093/bioinformatics/btab227},
note = {btab227},
eprint = {https://academic.oup.com/bioinformatics/advance-article-pdf/doi/10.1093/bioinformatics/btab227/36866220/btab227.pdf},
}
When presenting work that employs AMICI, feel free to use one of the icons in doc/gfx/, which are available under a CC0 license:
Owner
- Name: AMICI
- Login: AMICI-dev
- Kind: organization
- Twitter: AMICI_toolbox
- Repositories: 1
- Profile: https://github.com/AMICI-dev
Advanced Multilanguage Interface to CVODES and IDAS
Citation (CITATION.cff)
authors:
-
family-names: "Fröhlich"
given-names: "Fabian"
orcid: "https://orcid.org/0000-0002-5360-4292"
-
family-names: "Weindl"
given-names: "Daniel"
orcid: "https://orcid.org/0000-0001-9963-6057"
-
family-names: "Schälte"
given-names: "Yannik"
orcid: "https://orcid.org/0000-0003-1293-820X"
-
family-names: "Pathirana"
given-names: "Dilan"
orcid: "https://orcid.org/0000-0001-7000-2659"
-
family-names: "Paszkowski"
given-names: "Lukasz"
-
family-names: "Lines"
given-names: "Glenn Terje"
orcid: "https://orcid.org/0000-0002-6294-1805"
-
family-names: "Stapor"
given-names: "Paul"
orcid: "https://orcid.org/0000-0002-7567-3985"
-
family-names: "Hasenauer"
given-names: "Jan"
orcid: "https://orcid.org/0000-0002-4935-3312"
title: "AMICI: High-Performance Sensitivity Analysis for Large Ordinary Differential Equation Models"
preferred-citation:
type: article
title: "AMICI: High-Performance Sensitivity Analysis for Large Ordinary Differential Equation Models"
doi: 10.1093/bioinformatics/btab227
journal: "Bioinformatics"
year: 2021
month: 4
start: 1
end: 1
authors:
-
family-names: "Fröhlich"
given-names: "Fabian"
orcid: "https://orcid.org/0000-0002-5360-4292"
-
family-names: "Weindl"
given-names: "Daniel"
orcid: "https://orcid.org/0000-0001-9963-6057"
-
family-names: "Schälte"
given-names: "Yannik"
orcid: "https://orcid.org/0000-0003-1293-820X"
-
family-names: "Pathirana"
given-names: "Dilan"
orcid: "https://orcid.org/0000-0001-7000-2659"
-
family-names: "Paszkowski"
given-names: "Lukasz"
-
family-names: "Lines"
given-names: "Glenn Terje"
orcid: "https://orcid.org/0000-0002-6294-1805"
-
family-names: "Stapor"
given-names: "Paul"
orcid: "https://orcid.org/0000-0002-7567-3985"
-
family-names: "Hasenauer"
given-names: "Jan"
orcid: "https://orcid.org/0000-0002-4935-3312"
cff-version: 1.2.0
message: "If you use this software, please cite both the article from preferred-citation and the software itself."
url: "https://github.com/AMICI-dev/AMICI"
doi: 10.5281/zenodo.597928
GitHub Events
Total
- Create event: 190
- Release event: 11
- Issues event: 143
- Watch event: 13
- Delete event: 170
- Issue comment event: 870
- Push event: 560
- Pull request review comment event: 80
- Pull request review event: 250
- Pull request event: 424
- Fork event: 1
Last Year
- Create event: 190
- Release event: 11
- Issues event: 143
- Watch event: 13
- Delete event: 170
- Issue comment event: 870
- Push event: 560
- Pull request review comment event: 80
- Pull request review event: 250
- Pull request event: 424
- Fork event: 1
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 3,005
- Total Committers: 30
- Avg Commits per committer: 100.167
- Development Distribution Score (DDS): 0.619
Top Committers
| Name | Commits | |
|---|---|---|
| fabian.froehlich | f****h@h****e | 1,145 |
| Daniel Weindl | d****l@h****e | 804 |
| Daniel Weindl | d****l@u****m | 514 |
| Fabian Fröhlich | f****n@s****m | 221 |
| Paul Stapor | p****r@h****e | 149 |
| Fabian Fröhlich | f****h@h****u | 58 |
| Yannik Schälte | 3****e@u****m | 32 |
| Dilan Pathirana | 5****h@u****m | 21 |
| lcontento | l****o@u****m | 11 |
| AMICI-developer | f****b@g****m | 9 |
| Polina Lakrisenko | p****o@g****m | 7 |
| Thomas S. Ligon | t****m@t****o | 4 |
| Leonard | l****r@h****e | 4 |
| dependabot[bot] | 4****]@u****m | 3 |
| Jan Hasenauer | j****r@h****e | 2 |
| Łukasz Paszkowski | l****i@r****m | 2 |
| Łukasz Paszkowski | 4****w@u****m | 2 |
| yannikschaelte | y****e@g****m | 2 |
| Paul Jonas Jost | 7****t@u****m | 2 |
| Fabian Froehlich | F****h@m****e | 2 |
| MerktSimon | 4****n@u****m | 2 |
| Kristian Meyer | km@m****m | 1 |
| Paul Lang | 4****g@u****m | 1 |
| Stephan Grein | s****n@u****e | 1 |
| Stephan Grein | 1****g@u****m | 1 |
| Doresic | 8****c@u****m | 1 |
| Katrin Leinweber | 9****r@u****m | 1 |
| LarsFroehling | 6****g@u****m | 1 |
| Jakob Vanhoefer | 3****r@u****m | 1 |
| willov | w****s@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 270
- Total pull requests: 742
- Average time to close issues: 9 months
- Average time to close pull requests: 12 days
- Total issue authors: 28
- Total pull request authors: 13
- Average comments per issue: 1.69
- Average comments per pull request: 1.32
- Merged pull requests: 620
- Bot issues: 0
- Bot pull requests: 9
Past Year
- Issues: 96
- Pull requests: 495
- Average time to close issues: about 1 month
- Average time to close pull requests: 2 days
- Issue authors: 7
- Pull request authors: 4
- Average comments per issue: 0.95
- Average comments per pull request: 1.14
- Merged pull requests: 394
- Bot issues: 0
- Bot pull requests: 3
Top Authors
Issue Authors
- dweindl (229)
- FFroehlich (27)
- paulstapor (6)
- aidinbii (5)
- yannikschaelte (4)
- plakrisenko (3)
- matthiaskoenig (3)
- dilpath (2)
- ahjanee (2)
- m-philipps (2)
- lcontento (2)
- derleanfv (1)
- winkmal (1)
- lmriccardo (1)
- PHvanLent (1)
Pull Request Authors
- dweindl (833)
- FFroehlich (101)
- dependabot[bot] (16)
- plakrisenko (5)
- dilpath (4)
- paulstapor (4)
- BartoszBartmanski (2)
- ChocolateCharlie (2)
- willov (1)
- Podde1 (1)
- Doresic (1)
- PaulJonasJost (1)
- fbergmann (1)
- stephanmg (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 3,028 last-month
- Total docker downloads: 2,876
-
Total dependent packages: 5
(may contain duplicates) -
Total dependent repositories: 13
(may contain duplicates) - Total versions: 129
- Total maintainers: 3
pypi.org: amici
Advanced multi-language Interface to CVODES and IDAS
- Homepage: https://github.com/AMICI-dev/AMICI
- Documentation: https://amici.readthedocs.io/en/latest/
- License: other
-
Latest release: 0.34.1
published 6 months ago
Rankings
Maintainers (2)
spack.io: py-amici
Advanced Multilanguage Interface for CVODES and IDAS
- Homepage: https://github.com/AMICI-dev/AMICI
- License: []
-
Latest release: 0.16.0
published almost 3 years ago
Rankings
Maintainers (1)
Dependencies
- breathe ==4.31.0
- exhale ea77a313777c1382a7830ce9ee6c405ce47f5f3b
- ipython >=7.28.0
- matplotlib >=3.4.3
- mock >=4.0.1
- nbformat ==5.1.3
- nbsphinx >=0.8.7
- petab >=0.1.20
- pkgconfig >=1.5.5
- pygments ==2.10.0
- pysb >=1.11.0
- recommonmark >=0.6.0
- setuptools >=45.2.0
- sphinx ==4.2.0
- sphinx-autodoc-typehints ==1.13.0
- sphinx_rtd_theme >=1.0.0
- sphinxcontrib-matlabdomain >=0.12.0
- sphinxcontrib-napoleon *
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- docker/setup-buildx-action v2 composite
- docker/setup-qemu-action v2 composite
- elgohr/Publish-Docker-Github-Action v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- matlab-actions/run-command v1 composite
- matlab-actions/setup-matlab v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3.1.0 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3.1.0 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- codecov/codecov-action v3.1.0 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- ilammy/msvc-dev-cmd v1 composite
- ubuntu 22.04 build
- ubuntu 22.04 build
- exhale >=0.3.6