Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.18.0 #2115

Merged
merged 29 commits into from
May 26, 2023
Merged

Release 0.18.0 #2115

merged 29 commits into from
May 26, 2023

Conversation

dweindl
Copy link
Member

@dweindl dweindl commented May 26, 2023

No description provided.

paulstapor and others added 25 commits May 11, 2023 14:59
* re-fix sbml exception

* Handle windows TemporaryDirectory cleanup failures

* Fix windows PermissionError

* remove unused import

* Revert "re-fix sbml exception"

This reverts commit ac596be.

* Revert "remove unused import"

This reverts commit 5007143.

* fix spline sensitivity test with no parameters

* Fix some sphinx issues

* Fix some sphinx issues

* Fix sphinx issues with TYPE_CHECKING

* Doxygen doc

* Temporary: Run sonar scanner before tests

* cleanup

..

* Revert "cleanup"

This reverts commit ae0969a.

* Cleanup

* fix name

* snakecase

* improve C++ docstrings

* cpp cleanup

* case

* ..

* fixup doxygen

* snakecase

* typehints/case/..

* rename

* simplify

* exceptions

* duplicated docs

* private

* rename; swig ignore

* snake, shadow

* simplify

* adjust tolerances for spline tests

* Revert "Temporary: Run sonar scanner before tests"

This reverts commit 77478ac.

* Add test stub

* Check ctor arguments

* fix regression

* fix floating point splines

* draft of example notebook

* remove leftover code

Co-authored-by: Daniel Weindl <[email protected]>

* fix (maybe) signedness error on CI

* test unit-tests

* fix typo

* switch to all float?

* fix typo in header too

* fix float division

* split tests

* fix finite differences

* fix private

* make spline exact on nodes

* one more test spline

* remove python syntax

* derivatives are given/computed in linear space

This is debatable, especially for boundary conditions like natural, but 
it should be the behaviour of the python code

* test for logarithmic spline

* approx tests

* temporarily disable python tests

* fix extrapolation for all BCs

* use and check noExtrapolation

* extrapolation tests

* fix periodic bc in test

* fix derivative computation for periodic bc

* fix missing include for AmiException

* fix missing commas

* bugfix

* fix sensitivity computation for fd

* test sensitivity (simplest case)

* remove unused variables

* fix loop variable type

* add atol in test

* fix botched merge

* more tests

* <= instead of < in testing

* forgot derivatives

* fix precomputed sensitivities

* relax tolerances

* fix sensitivities computation for logarithmic splines

* relax tolerances

* fix evaluation points for test

* relax tolerances

* fix loop

* small fixes

* remove symlinks

* move python files

* post merge fixes

* add discard_annotations to import_model_sbml

* fix small merge mistakes

* regenerate test models

* Fix missing return

* -Werror in debug mode

* fix NameError: name 'SBMLException' is not defined

* const

* final value tests

* fix comments

* remove copy&paste leftover

* make some more methods public

* compute final values explicitly

* fix coefficients_extrapolate indexing

* more fixes for extrapolation sensitivity

* remove unused variables

* missing namespace

* notebook to sphinx doc

* fic horner form

* rewrite python tests

* add more C++ tests

* python spline evaluation tests

* update notebook

* fix for when slopes are specified

* specify constant flag

* change ode_export to de_export

* fix duplicated test name

* try fixing sensitivity of final state with zero derivative and linear extrapolation

* fix final value sensitivity inf in logscale

* sensitivity with respect to plist

* bugfix (C++ indexing is 0-based)

* Spline example notebooks

* remove leftover long output in notebook

* Fixing typos in notebooks and adding symlink for docs

* fix typo in spline C++ docstrings

* add spline notebooks to documentation

* Expensive tests only for merges to master

* Remove redundant class - fixes SBML suite?

* nb kernel

* nb kernel

* merge_group

* cmake

* ignore-glob

* ..

* ..

* fo the minimal amount of work in notebooks when running in a Github action

* split slow/fast spline tests

* more relaxed tolerances on windows

* try pip install in notebook

* compute groundtruth only once per call to check_splines_full

* add fides package to example notebook

* precompute data for spline test

* fix path

* split pip pypesto and fide

* use single core engine on github actions

* even less work on Github actions

* even less work whe running Github actions

* fix unused folder argument

* fix a possible edge case

* fix problem with unique folders

* maybe windows does not like long paths

* Update python/sdist/amici/sbml_utils.py

Co-authored-by: Daniel Weindl <[email protected]>

* Update python/sdist/amici/sbml_utils.py

Co-authored-by: Daniel Weindl <[email protected]>

* Update python/sdist/amici/sbml_utils.py

Co-authored-by: Daniel Weindl <[email protected]>

* Update python/sdist/amici/sbml_utils.py

Co-authored-by: Daniel Weindl <[email protected]>

* Update src/splinefunctions.cpp

Co-authored-by: Daniel Weindl <[email protected]>

* Update python/sdist/amici/sbml_utils.py

Co-authored-by: Daniel Weindl <[email protected]>

* Update python/sdist/amici/sbml_utils.py

Co-authored-by: Daniel Weindl <[email protected]>

* Update python/sdist/amici/sbml_utils.py

Co-authored-by: Daniel Weindl <[email protected]>

* Update python/sdist/amici/sbml_utils.py

Co-authored-by: Daniel Weindl <[email protected]>

* Update python/sdist/amici/sbml_utils.py

Co-authored-by: Daniel Weindl <[email protected]>

* Update include/amici/abstract_model.h

Co-authored-by: Daniel Weindl <[email protected]>

* small changes

* Update include/amici/abstract_model.h

Co-authored-by: Daniel Weindl <[email protected]>

* Update python/tests/splines_utils.py

Co-authored-by: Daniel Weindl <[email protected]>

* fix uuid

* add python type hints

* t_extrapolate

* more docstrings

* more type hints

* more type hints

* Update python/sdist/amici/sbml_utils.py

Co-authored-by: Daniel Weindl <[email protected]>

* mkdtemp

* Update python/sdist/amici/sbml_utils.py

Co-authored-by: Daniel Weindl <[email protected]>

* docstring

* docstrings

* how to recompute precomputed results for spline tests

* Update python/examples/example_splines/ExampleSplines.ipynb

Co-authored-by: Daniel Weindl <[email protected]>

* Update python/examples/example_splines/ExampleSplines.ipynb

Co-authored-by: Daniel Weindl <[email protected]>

* notebook suggestions

* move spline plotting to library

* add a more informative error when there are no converged starts in CI

* splines in observables

* No hack?

* address Fabian's comments

* finishing touches for assigning splines to species

* more expressive argument names in splines.py

* real-world spline examples using species assignment

* fix non-refactored bits

* update example notebook

* more interesting errors

* upgrade sympy?

* dwdw needs the spline

* revert debug changes

* try more starts in github

* Binder: update compilers

* Revert "Binder: update compilers"

This reverts commit 18b6210.

* py311?

* timeout=600

* Revert "py311?"

This reverts commit 3e539db.

* Revert "timeout=600"

This reverts commit 4302eff.

* DBG artifacts

* Revert "DBG artifacts"

This reverts commit 3c898bc.

* conservation laws / assignment rules

* notebook update

* fix doc?

* Revert "dwdw needs the spline"

This reverts commit 4bef57a.

* increase multistarts for swameye

* Fix deprecation

* Fix deprecation

* remove assert

* format

* cleanup

* cleanup

* Apply suggestions from code review

* Revert "Fix deprecation"

This reverts commit 9eedc54.

* Increase timeout

---------

Co-authored-by: Lorenzo Contento <[email protected]>
Co-authored-by: Daniel Weindl <[email protected]>
Co-authored-by: Daniel Weindl <[email protected]>
Runs black, fixes line endings, ...
* pre-commit: sort imports / update contrib doc

* sort imports

* fix circular import
#2091)

* Update documentation stack
* require sphinxcontrib-matlabdomain<0.19.0 
  Fixes #2090
…ests (#2084)

Fixes incorrect sensitivities for models with events with state-dependent trigger functions. 

Add three new event test cases and do some cleanup.

Closes #2086 

Co-authored-by: Paul Stapor <[email protected]>
I can't find any valid SBML model that has anything other than speciesReferences in listOfProducts/Reactants.
We have too many definitions of time ...
* add more swig ignores

* Update amici.i

* Update amici.i

* Update amici.i

* -s

* 2304

* keep asserts

* Update amici.i

* Revert "2304"

This reverts commit 2948382.

* Revert "keep asserts"

This reverts commit 3aa213b.

* Revert "-s"

This reverts commit 731cfc2.

---------

Co-authored-by: Daniel Weindl <[email protected]>
* Test new PEtab model abstraction

* Update .github/workflows/test_petab_test_suite.yml

* Run v2.0.0 test suite

* pysb models

* ..

* ..

* ..

* ..

* libpetab-python.git@model_pysb

* generalize fixed parameters

* ..

* ..

* ..

* ..

* cleanup

* cleanup

* add support for species reinitialization in pysb

* fixup preequilibration

* fixup preequilibration pysb

* fixup pysb import

* prevent warnings?

* move resolve mapping to petab lib, adapt to updated api

* fix error message

* fixup condition checks

* suppress model warnings

* fixup export issues

* cleanup

* fixup

* fixup compartment

* simplify

* Fix NameError: name 'sbml_model' is not defined

* ?

* make pattern matching exact so we only assign single species

* Update petab_import_pysb.py

* ..

* Revert ".."

This reverts commit 02a4f24.

* ..

* deps

* ..

* Update test_benchmark_collection_models.yml

* branch

* Fix matplotlib conflict

> The conflict is caused by:
>    The user requested matplotlib==3.5.3
>    petab[vis] 0.2.0 depends on matplotlib>=3.6.0; extra == "vis"

* merge?

* e

* ..

* - libpetab-python.git@model_pysb

* doc,cleanup

* fix model name / dir

* fixup, cleanup

* cleanup; fixup merge

* ..

* pypi

* pysb

* ..

* deps

* pypi-petab

* reqs

---------

Co-authored-by: Fabian Fröhlich <[email protected]>
Only changing SWIG_EXECUTABLE will lead to inconsistent settings.
Need to unset version and directory, so FindSWIG will try to set
them according to SWIG_EXECUTABLE.
Fixes issues with paths containing blanks:
`sh: line 1: C:/Program: No such file or directory` https://github.com/AMICI-dev/AMICI/actions/runs/5054632314/jobs/9069784824?pr=2104
Let CMake's FindBLAS try to find BLAS libraries in case the user didn't provide any other information via environment variables.

Relates to #2103
Fixes: `/home/runner/work/AMICI/AMICI/documentation/example_errors.ipynb:2262: WARNING: undefined label: /example_errors.ipynb#unsuccessful_factorization`

Link was working until recently. Not sure what changed.
@dweindl dweindl requested a review from a team as a code owner May 26, 2023 07:33
@codecov
Copy link

codecov bot commented May 26, 2023

Codecov Report

Merging #2115 (91767ab) into master (81d32e7) will increase coverage by 0.92%.
The diff coverage is 81.42%.

❗ Current head 91767ab differs from pull request most recent head 7c99f34. Consider uploading reports for the commit 7c99f34 to get more accurate results

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2115      +/-   ##
==========================================
+ Coverage   75.56%   76.49%   +0.92%     
==========================================
  Files          76       81       +5     
  Lines       13126    14857    +1731     
==========================================
+ Hits         9919    11365    +1446     
- Misses       3207     3492     +285     
Flag Coverage Δ
cpp 73.53% <81.55%> (+0.55%) ⬆️
petab 54.38% <43.75%> (-0.52%) ⬇️
python 76.77% <81.25%> (+7.90%) ⬆️
sbmlsuite ∅ <ø> (∅)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
include/amici/abstract_model.h 0.00% <ø> (ø)
include/amici/edata.h 0.00% <ø> (ø)
include/amici/model_dae.h 0.00% <0.00%> (ø)
include/amici/newton_solver.h 100.00% <ø> (ø)
include/amici/solver_cvodes.h 100.00% <ø> (ø)
include/amici/solver_idas.h 100.00% <ø> (ø)
include/amici/sundials_linsol_wrapper.h 100.00% <ø> (ø)
python/sdist/amici/__main__.py 0.00% <0.00%> (ø)
python/sdist/amici/de_export.py 91.43% <ø> (-0.01%) ⬇️
python/sdist/amici/de_model.py 92.85% <ø> (ø)
... and 61 more

... and 10 files with indirect coverage changes

Copy link
Member

@FFroehlich FFroehlich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

.github/workflows/test_windows.yml Outdated Show resolved Hide resolved
.github/workflows/test_windows.yml Outdated Show resolved Hide resolved
@FFroehlich
Copy link
Member

let's wait for #2097, sorry missed submitting the review

dweindl and others added 3 commits May 26, 2023 12:47
@sonarqubecloud
Copy link

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

0.0% 0.0% Coverage
4.7% 4.7% Duplication

@dweindl dweindl merged commit 0fc51c0 into master May 26, 2023
@dweindl dweindl deleted the release_0.18.0 branch May 26, 2023 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants