Skip to content

Commit

Permalink
Release 0.14.0 (#1898)
Browse files Browse the repository at this point in the history
* Fix pandas groupby deprecation warning (#1873)

Fixes #1872

* Update reference list (#1874)

* Code printing: Use SymPy C99 math optimizations (#1377)

for SBML import. Does not currently work with PySB import. Also fixes some argument type issues.

Co-authored-by: Daniel Weindl <daniel.weindl@helmholtz-muenchen.de>

* PEtab import: Add option for treating fixed parameters as constants (#1877)

Makes the changes from #1810 optional, as sometimes users prefer more flexible models.
The default remains to treat non-estimated parameters in PEtab as constants in AMICI.

Also adds a basic check for loading existing models during PEtab, to see if they are compatible to what was supposed to be imported. Only checks non-constant parameter IDs so far.

* Make sympy code optimizations optional (#1878)

Turns out that applying sympy optimizations as introduced
in #1377 is
potentially very costly. Therefore, they are disabled by
default. They can be enabled by setting
`AmiciCxxCodePrinter.optimizations` as shown in the test
case.

* Update reference list (#1884)

* GHA: update actions (#1885)

Fixes some GHA warnings.

* Add macos hdf5 header/library paths (#1894)

* Doxygen 1.9.5 on RTD (#1889)

Older binaries are no longer available.

* Code-gen: Fix missing `return` in non-void-returning functions (#1892)

... and set `-Werror` for compiling models in debug mode.

* Add operator== for ExpData (#1881)

Adds `operator==` for `amici::ExpData` and fixes issues for other  `operator==` in case of NaNs in arrays.


Closes #1880

* Fix SetuptoolsDeprecationWarning (#1893)

Setuptools meanwhile requires listing data directories as subpackages. Fixes #1888.

* Dockerfile: Update base image to Ubuntu 22.04 (#1896)

* GHA: Pin python version for osx tests (#1891)

Fixes #1890.

Also: 
* use homebrew boost version
* fix CMake logic for selecting a specific Python version.

* Fix `petab_import.import_model(..., compile=False)` failure (#1897)

Fixes a bug where amici would fail importing an extension that was never built.

* bump version, update changelog

* fix changelog

* -Wno-error=deprecated-declarations

Co-authored-by: Daniel Weindl <dweindl@users.noreply.github.com>
Co-authored-by: Lorenzo Contento <lcontento@users.noreply.github.com>
Co-authored-by: Daniel Weindl <daniel.weindl@helmholtz-muenchen.de>
Co-authored-by: Doresic <85789271+Doresic@users.noreply.github.com>
  • Loading branch information
5 people authored Nov 23, 2022
1 parent 11a881e commit b5177d9
Show file tree
Hide file tree
Showing 63 changed files with 484 additions and 136 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/deploy_branch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
with:
fetch-depth: 20

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy_protected.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- uses: actions/checkout@master
- uses: actions/checkout@v3
- run: git archive -o docker/amici.tar.gz --format=tar.gz HEAD
- name: Publish to Registry
uses: elgohr/Publish-Docker-Github-Action@v4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
with:
fetch-depth: 20

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test_benchmark_collection_models.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
with:
fetch-depth: 20

Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/test_doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
- run: git fetch --prune --unshallow

- name: apt
Expand Down Expand Up @@ -59,11 +59,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
- run: git fetch --prune --unshallow

- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/test_install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
- run: git fetch --prune --unshallow

- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
Expand Down Expand Up @@ -61,11 +61,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
- run: git fetch --prune --unshallow

- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test_matlab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@master
- uses: actions/checkout@v3
- run: git fetch --prune --unshallow

- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test_performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
with:
fetch-depth: 20

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test_petab_test_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
with:
fetch-depth: 20

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test_pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
fi
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

Expand Down
17 changes: 12 additions & 5 deletions .github/workflows/test_python_cplusplus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
- run: git fetch --prune --unshallow

- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
Expand Down Expand Up @@ -143,20 +143,27 @@ jobs:
runs-on: macos-latest

steps:
- uses: actions/checkout@master
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.8

- uses: actions/checkout@v3
- run: git fetch --prune --unshallow

- run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
- run: echo "BNGPATH=${AMICI_DIR}/ThirdParty/BioNetGen-2.7.0" >> $GITHUB_ENV
# Ensure CMake is using the python version that we will use for the python tests later on
- run: echo "PYTHON_EXECUTABLE=${Python3_ROOT_DIR}/bin/python3" >> $GITHUB_ENV

# install amici dependencies
- name: homebrew
run: |
brew install hdf5 swig gcc cppcheck libomp boost \
&& brew ls -v boost \
&& brew ls -v libomp \
&& echo LDFLAGS="-L/usr/local/lib/ -L/usr/local/Cellar/boost/1.78.0_1/lib/" >> $GITHUB_ENV \
&& echo CPPFLAGS="-I/usr/local/Cellar/boost/1.78.0_1/include/" >> $GITHUB_ENV
&& echo LDFLAGS="-L/usr/local/lib/ -L/usr/local/Cellar/boost/1.80.0/lib/" >> $GITHUB_ENV \
&& echo CPPFLAGS="-I/usr/local/Cellar/boost/1.80.0/include/" >> $GITHUB_ENV
- name: Build AMICI
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test_python_ver_matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ jobs:
- run: echo "BNGPATH=${AMICI_DIR}/ThirdParty/BioNetGen-2.7.0" >> $GITHUB_ENV

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
with:
fetch-depth: 20

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test_sbml_semantic_test_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
with:
fetch-depth: 1
- name: apt
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/test_valgrind.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
- run: git fetch --prune --unshallow

# install amici dependencies
Expand Down Expand Up @@ -71,11 +71,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
- run: git fetch --prune --unshallow

# install amici dependencies
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ jobs:

steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- uses: actions/checkout@master
- uses: actions/checkout@v3
- run: git fetch --prune --unshallow

- shell: bash
Expand Down
54 changes: 51 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,54 @@

## v0.X Series

### v0.14.0 (2022-11-23)

#### Features:

* Added optional functionality to apply C99 math optimization to generated C++ code
by @dweindl and @lcontento in https://github.com/AMICI-dev/AMICI/pull/1377, https://github.com/AMICI-dev/AMICI/pull/1878

* Added option to treat fixed parameters as constants in PEtab import

by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1877

* Added equality operator for ExpData

by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1881

* Updated base image for Dockerfile to Ubuntu 22.04/Python 3.10

by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1896


#### Fixes:

* Fixed deprecation warnings
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1873, https://github.com/AMICI-dev/AMICI/pull/1893

* Fixes/updates to GitHub actions
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1885, https://github.com/AMICI-dev/AMICI/pull/1893, https://github.com/AMICI-dev/AMICI/pull/1889, https://github.com/AMICI-dev/AMICI/pull/1891

* Added hdf5 search directories for arm64 architecture (M1/M2 macs)

by @Doresic in https://github.com/AMICI-dev/AMICI/pull/1894

* Fixed missing return in generated non-void functions

by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1892

* Fixed import failure for pre-compiled models

by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1897

#### Documentation:

* Update reference list
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1874, https://github.com/AMICI-dev/AMICI/pull/1884

**Full Changelog**:
https://github.com/AMICI-dev/AMICI/compare/v0.13.0...v0.14.0

### v0.13.0 (2022-10-04)

* Fixed extraction of common subexpressions
Expand Down Expand Up @@ -314,7 +362,7 @@ Fixes:
@PaulJonasJost in https://github.com/AMICI-dev/AMICI/pull/1620
* Fixed wrong array size in warnings by @dweindl in
https://github.com/AMICI-dev/AMICI/pull/1624

NOTE: AMICI 0.11.23 requires numpy<1.22.0

**Full Changelog**:
Expand Down Expand Up @@ -918,7 +966,7 @@ Misc:

* Simplify/fix AMICI installation
* If available use environment modules to detect dependencies

* Add SWIG installation script

* Update list of publication
Expand Down Expand Up @@ -949,7 +997,7 @@ Detaills:
* Improve finding swig executable and allow user override via SWIG environment variable
* Provide installation hints if no SWIG found (Closes #724)
* Allow overriding cmake executable with environment variables in build scripts (Closes #738)


### v0.10.9 (2019-07-24)

Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:20.04
FROM ubuntu:22.04

RUN apt update \
&& apt-get install -y \
Expand Down
23 changes: 23 additions & 0 deletions documentation/amici_refs.bib
Original file line number Diff line number Diff line change
Expand Up @@ -1052,6 +1052,29 @@ @Article{LakrisenkoSta2022
url = {https://www.biorxiv.org/content/early/2022/08/11/2022.08.08.503176},
}
@Article{VillaverdeRai2022,
author = {Villaverde, Alejandro F. and Raimúndez, Elba and Hasenauer, Jan and Banga, Julio R.},
journal = {IEEE/ACM Transactions on Computational Biology and Bioinformatics},
title = {Assessment of Prediction Uncertainty Quantification Methods in Systems Biology},
year = {2022},
pages = {1-12},
doi = {10.1109/TCBB.2022.3213914},
}
@Article{MishraWan2023,
author = {Shekhar Mishra and Ziyu Wang and Michael J. Volk and Huimin Zhao},
journal = {Metabolic Engineering},
title = {Design and application of a kinetic model of lipid metabolism in Saccharomyces cerevisiae},
year = {2023},
issn = {1096-7176},
pages = {12-18},
volume = {75},
abstract = {Lipid biosynthesis plays a vital role in living cells and has been increasingly engineered to overproduce various lipid-based chemicals. However, owing to the tightly constrained and interconnected nature of lipid biosynthesis, both understanding and engineering of lipid metabolism remain challenging, even with the help of mathematical models. Here we report the development of a kinetic metabolic model of lipid metabolism in Saccharomyces cerevisiae that integrates fatty acid biosynthesis, glycerophospholipid metabolism, sphingolipid metabolism, storage lipids, lumped sterol synthesis, and the synthesis and transport of relevant target-chemicals, such as fatty acids and fatty alcohols. The model was trained on lipidomic data of a reference S. cerevisiae strain, single knockout mutants, and lipid overproduction strains reported in literature. The model was used to design mutants for fatty alcohol overproduction and the lipidomic analysis of the resultant mutant strains coupled with model-guided hypothesis led to discovery of a futile cycle in the triacylglycerol biosynthesis pathway. In addition, the model was used to explain successful and unsuccessful mutant designs in metabolic engineering literature. Thus, this kinetic model of lipid metabolism can not only enable the discovery of new phenomenon in lipid metabolism but also the engineering of mutant strains for overproduction of lipids.},
doi = {https://doi.org/10.1016/j.ymben.2022.11.003},
keywords = {Lipid metabolism, Kinetic model, Free fatty acid, Fatty alcohol},
url = {https://www.sciencedirect.com/science/article/pii/S1096717622001380},
}
@Comment{jabref-meta: databaseType:bibtex;}
@Comment{jabref-meta: grouping:
Expand Down
2 changes: 1 addition & 1 deletion documentation/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ def install_amici_deps_rtd():

def install_doxygen():
"""Get a more recent doxygen"""
version = '1.9.3'
version = '1.9.5'
doxygen_exe = os.path.join(amici_dir, 'ThirdParty',
f'doxygen-{version}', 'bin', 'doxygen')
# to create a symlink to doxygen in a location that is already on PATH
Expand Down
Loading

0 comments on commit b5177d9

Please sign in to comment.