Skip to content

Commit

Permalink
Release 0.9.0 (#529)
Browse files Browse the repository at this point in the history
* fix(CI) ignore multiple @param sections warning for the time being, fixes #504 (#505)

* fix(CI) ignore multiple @param sections warning for the time being, fixes #504

* Update scripts/run-doxygen.sh

Co-Authored-By: FFroehlich <[email protected]>

* Feature state reduction using conservation laws (#492)

* feature(python) implement computation of conservation laws for pysb models.

* feature(core) separate nx_solver and nx_rdata

* fix(tests) refresh pregenerated models + bugfixes

* fix(matlab) fixes #491

* fix(tests) update and regenerate main.cpp

* fix(tests) bugfixes

* [WIP] commit current changes to update from head

* feature(core) fix symbolic computations, regenerate pregenerated models, extend Model

* fix(cpp) fix include for copy_n

* fix(doc) add missing documentation

* fix(matlab) fix compiler version string processing

* fix(core) fix storage of x0 and sx0 post preequilibration/simulation

* fix(cpp) fix typo

* fix(CI) fix coverage generation

* fix(python) fix model import for models that use sympy reserved names as component name

* fix(python) fix conservation law computation for degradation rules with delete_molecules not set

* feature(CI) add pysb model testcase with delete_molecules=True

* Update include/amici/rdata.h

Co-Authored-By: FFroehlich <[email protected]>

* Update include/amici/vector.h

Co-Authored-By: FFroehlich <[email protected]>

* Update python/amici/ode_export.py

Co-Authored-By: FFroehlich <[email protected]>

* fix typo

* Update python/amici/ode_export.py

Co-Authored-By: FFroehlich <[email protected]>

* fix typo

* feature(CI) add additional pysb model tests

* Update src/model.cpp

Co-Authored-By: FFroehlich <[email protected]>

* fix(doc) add more documentation to remove_typedefs

* fix(doc) update comment and add some const specifiers

* fix(python) fix raise exception when computing conservation laws involving muiltiple compartments

* fix(CI) fix pysb SelfExporter cleanup and skip earm_1_3 example in python <=3.6

* fix(CI) fix module loading issues

* feature(CI) add unittests for AmiVector(Array)

* feature(python) move reversion of chainrule factor to cpp and reenable setInitialState(Sensitivities) for models with conservation laws

* fix(cpp) remove deprecated code pieces

* fix(cpp) refactor and fix user-specified x0 and sx0

* feature(CI) add additional tests for preequilibration models

* fix(CI) fix coverage script

* fix(CI) fix the coverage script for good

* fix(cpp) fix incorrect sensitivities for preequilibration

* feature(steadystate) use klu_refactor instead of always factoring de … (#513)

* feature(steadystate) use klu_refactor instead of always factoring de novo, fixes #421

* fix(steadystate) remove erroneous bracket

* Feauture automated deployment (#511)

* feature(CI) bump version number

* feature(CI) add script for automated deployment + travis configuration

* fix(CI) readd comments to travis.yml

* fix(CI) remove deprecated comments, hopefully fixes travis being stuck

* fix(CI) fix indentation in travis.yml

* Check positivity of sigmas from fsigmay (Closes #512). Free checking functions. Cleanup.

* fix(python) Set parameter names when converting constant species to parameters

* Reduce logsize (#521)

* feature(CI) silence BNGL download (2.5k lines)

* Create SlsMat wrapper so we don't need custom dtor, copyctr in Model (Closes #516)

* Replace std::exchange (is C++14)

* Get rid of newmat calls, make ctor explicit

* Don't throw when (not) creating empty matrix

* Fix doxygen doc

* Show swig/modelname.template.i in IDE

* Add Model::setAllStatesNonNegative()

* Add option to check for finiteness of all Model::f* outputs (Closes #514)

* Check if we have pysb before accessing pysb.core.Component

* ode_export.py: don't create empty switch-cases during c++ code generation (closes #481)

* Fix ExampleSteadystate notebook

* Fix doxygen doc

* Various bugfixes (#510)

* fix(python) fix processing of conservation law construction with fixed initial conditions

this cannot be tested yet as fixed initial conditions is not in the pysb master branch yet

* fix(CI) extend ccpcheck to header files, fixes #503, fix all style/performance issues that came up

* fix(CI) refactor SBML testsuite, fixes #502

* fix(python) implement check for unsupported functions

* feature(python) add version string to compiled versions, fixes #509,

* fix(core) bugfixes after ccpcheck changes

* Update include/amici/model.h

Co-Authored-By: FFroehlich <[email protected]>

* fix(CI) change getAmiciVersion to getAmiciCommit and regenerate test models

* fix(core) cleanup ExpData interface

* feature(python) extend list of forbidden functions to include piecewise

* fix(core) fixes edata interface

* fix(CI) fix cppcheck issues

* fix(core) fix dimension initialization in ExpData

* fix(core) fix edata dimensions and piecewise function class

* fix(doc) make stray variables in amici private and update documentation pdf

* fix(steadystate) fix int fractions

* fix(core) move sundials wrapper initializations to initializer list

* fix(core) no = in initializer list

* Fix include

* Cleanup Model. Extract abstract methods. All implementations to cpp file. Cleanup include. Fix format and doc.

* fix(Matlab) Add new source file to matlab source list

* clang-format

* fix(swig) Sneak in fix for Warning 401: Base class ignored

* fix(core) Virtual dtor for abstract_model

* ci(travis) Fold script section outputs

* test

* Feature better conservation laws (#520)

* feature(python) we can and should implement conservation laws for monomers with only one species

* feature(python) choose conservation laws such that the generated fill in is minimal

* feature(python) finish work on fill-in minimization and refactor pysb_import such that public API is more evident

* fix(doc) update documentation

* fix(python) fix possible index computation, make ODEModel_from_pysb_importer public

* fix(python) fix conservation law computation

* fix(python) remove deprecated code, add some explanatory comments for future improvements

* fix(doc) fix documentation, remove outdated pdf file

* Update python/amici/pysb_import.py

Co-Authored-By: FFroehlich <[email protected]>

* Update python/amici/ode_export.py

Co-Authored-By: FFroehlich <[email protected]>

* fix(doc) remove return doc for function without return

* fix(python) optimize get_appearance_counts

* Better newton solver debugging and error messages (#527)

* fix(steadystateproblem) extend ReturnData::newton_numsteps such that simulation does not overwrite newton results

* fix(python) update newton_numsteps dimension

* fix(steadystateproblem) better error propagation, fixes #508

* Update src/steadystateproblem.cpp

Co-Authored-By: FFroehlich <[email protected]>

* fix(steadystateproblem) replace int index with enum

* feature(CI) split osx build into deploy and test mode

* fix(CI) fix yml syntax

* fix(CI) missed one space

* fix(CI) extend nbconvert timeout and only run lcov when coverage is enabled

* fix(python) fix codacy issues (#530)
  • Loading branch information
FFroehlich authored Jan 18, 2019
1 parent dce9bbc commit cd7a15e
Show file tree
Hide file tree
Showing 115 changed files with 8,449 additions and 3,415 deletions.
31 changes: 21 additions & 10 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -195,14 +195,26 @@ tests/test_model_steadystate_scaled/*
tests/test_model_presimulation/*
tests/test_model_presimulation_pysb/*
tests/test_model_presimulation_sbml/*
tests/bax_pore_sequential/*
tests/bax_pore/*
tests/bngwiki_egfr_simple/*
tests/earm_1_3/*
tests/expression_observables/*
tests/robertson/*
tests/tyson_oscillator/*

tests/bax_pore_sequential_amici/*
tests/bax_pore_amici/*
tests/bngwiki_egfr_simple_amici/*
tests/bngwiki_egfr_simple_deletemolecules_amici/*
tests/earm_1_3_amici/*
tests/earm_1_0_amici/*
tests/expression_observables_amici/*
tests/robertson_amici/*
tests/tyson_oscillator_amici/*
tests/bngwiki_simple_amici/*
tests/bngwiki_enzymatic_cycle_mm_amici/*
tests/move_connected_amici/*
tests/michment_amici/*
tests/kinase_cascade_amici/*
tests/hello_pysb_amici/*
tests/fricker_2010_apoptosis_amici/*
tests/explicit_amici/*

*/sbml-semantic-test-cases/*
/python/test/amici-SBMLTest*/
coverage_py.xml

.idea/*
Expand All @@ -224,5 +236,4 @@ testSuite.txt
python/sdist/build/*
*.so
python/sdist/amici/git_version.txt


AMICI_guide.pdf
85 changes: 52 additions & 33 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ matrix:
fast_finish: true
include:
- os: linux
before_install:
- sudo apt-get install libhdf5-serial-dev zlib1g-dev libatlas-base-dev valgrind lcov cppcheck libboost-serialization-dev
before_install:
- sudo apt-get install libhdf5-serial-dev zlib1g-dev libatlas-base-dev valgrind lcov cppcheck libboost-serialization-dev
- sudo add-apt-repository -y 'deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe restricted'
- sudo add-apt-repository -y 'deb http://gb.archive.ubuntu.com/ubuntu/ xenial-updates main restricted'
- sudo apt-get update -q
Expand All @@ -22,22 +22,46 @@ matrix:
- mkdir -p ~/bin/ && ln -s /usr/bin/swig3.0 ~/bin/swig && export PATH=~/bin/:$PATH
- pyenv shell 2.7 3.6
compiler: gcc
env: ENABLE_GCOV_COVERAGE=TRUE
env:
- ENABLE_GCOV_COVERAGE=TRUE
- CI_MODE=test
after_script:
- bash <(curl -s https://codecov.io/bash) -f coverage.info -X fix -F cpp
- bash <(curl -s https://codecov.io/bash) -f coverage_py.xml -F python
before_deploy:
- cd $BASE_DIR
deploy:
skip_cleanup: true
provider: script
script: scripts/deployPyPi.sh
on:
branch: master
tags: true


- os: osx
osx_image: xcode9.3
compiler: clang
env:
- CI_MODE=test
before_install:
- brew update # without this homebrew can stumble over wrong ruby version
- travis_wait brew install gcc || brew link --overwrite gcc # fix linker warning regarding /usr/local/include/c++
- travis_wait brew install hdf5 cppcheck swig doxygen ragel graphviz homebrew/cask/mactex
- travis_wait brew install hdf5 swig # cppcheck
- brew upgrade python
- export -f travis_fold travis_nanoseconds travis_time_start travis_time_finish
after_success:
- cd $BASE_DIR # cd to base dir for correct relative path in deploy

- os: osx
osx_image: xcode9.3
compiler: clang
env:
- CI_MODE=deploy
before_install:
- travis_wait brew install doxygen ragel graphviz homebrew/cask/mactex # cppcheck
- export PATH=/Users/travis/Library/Python/3.7/bin:/Library/TeX/texbin:$PATH
after_success:
- export -f travis_fold travis_nanoseconds travis_time_start travis_time_finish
after_success:
- cd $BASE_DIR # cd to base dir for correct relative path in deploy
deploy:
provider: pages
Expand All @@ -51,37 +75,32 @@ matrix:

install:
- export BASE_DIR=`pwd`
- pip3 install --user --upgrade pip==9.0.3 setuptools wheel pkgconfig doxypypy scipy # pinning pip because of https://github.com/pypa/pip/issues/5240
- ./scripts/buildSuiteSparse.sh
- ./scripts/buildSundials.sh
- ./scripts/buildCpputest.sh
- ./scripts/buildBNGL.sh
- export BNGPATH=$(pwd)/ThirdParty/BioNetGen-2.3.2
- ./scripts/buildAmici.sh
- ./scripts/installAmiciArchive.sh
- ./scripts/installAmiciSource.sh
- if [[ "$CI_MODE" == "test" ]]; then pip3 install --user --upgrade pip==9.0.3 setuptools wheel pkgconfig doxypypy scipy; fi # pinning pip because of https://github.com/pypa/pip/issues/5240
- if [[ "$CI_MODE" == "test" ]]; then ./scripts/buildSuiteSparse.sh; fi
- if [[ "$CI_MODE" == "test" ]]; then ./scripts/buildSundials.sh; fi
- if [[ "$CI_MODE" == "test" ]]; then ./scripts/buildCpputest.sh; fi
- if [[ "$CI_MODE" == "test" ]]; then ./scripts/buildBNGL.sh; fi
- if [[ "$CI_MODE" == "test" ]]; then export BNGPATH=$(pwd)/ThirdParty/BioNetGen-2.3.2; fi
- if [[ "$CI_MODE" == "test" ]]; then ./scripts/buildAmici.sh; fi
- if [[ "$CI_MODE" == "test" ]]; then ./scripts/installAmiciArchive.sh; fi
- if [[ "$CI_MODE" == "test" ]]; then ./scripts/installAmiciSource.sh; fi

script:
# - cd $BASE_DIR/python/sdist
# - python3 setup.py sdist --dist-dir=$BASE_DIR/build/python/
# - python3 -m pip install $BASE_DIR/build/python/amici-*.tar.gz --verbose
- cd $BASE_DIR
- ./scripts/run-cpputest.sh
- ./scripts/run-cppcheck.sh
- cd $BASE_DIR/build
- make python-tests
script:
- export -f travis_fold travis_nanoseconds travis_time_start travis_time_finish
- export FOLD=$BASE_DIR/scripts/travis_wrap.sh
- cd $BASE_DIR
- scripts/runNotebook.sh python/examples/example_*/
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./scripts/run-valgrind.sh; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./scripts/run-doxygen.sh; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./scripts/run-codecov.sh; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$TRAVIS_EVENT_TYPE" == "cron" ]]; then ./scripts/run-SBMLTestsuite.sh; fi
- if [[ "$CI_MODE" == "test" ]]; then $FOLD cpputest ./scripts/run-cpputest.sh; fi
- if [[ "$CI_MODE" == "test" ]]; then $FOLD python-tests "cd $BASE_DIR/build && make python-tests"; fi
- if [[ "$CI_MODE" == "test" ]]; then $FOLD notebooks "cd $BASE_DIR && scripts/runNotebook.sh python/examples/example_*/"; fi
- if [[ "$CI_MODE" == "deploy" ]]; then $FOLD doxygen ./scripts/run-doxygen.sh; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$CI_MODE" == "test" ]]; then $FOLD cppcheck ./scripts/run-cppcheck.sh; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$CI_MODE" == "test" ]]; then $FOLD valgrind ./scripts/run-valgrind.sh; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$CI_MODE" == "test" ]]; then $FOLD codecov ./scripts/run-codecov.sh; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$TRAVIS_EVENT_TYPE" == "cron" ]]; then $FOLD sbmltestsuite ./scripts/run-SBMLTestsuite.sh; fi

after_failure:
- echo -en 'travis_fold:start:failure\\r'
- ls -alR
- echo -en 'travis_fold:end:failure\\r'
- $FOLD ls ls -alR

# cache dependencies
cache:
cache:
- pip
Binary file removed AMICI_guide.pdf
Binary file not shown.
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ set(AMICI_SRC_LIST
${CMAKE_SOURCE_DIR}/src/forwardproblem.cpp
${CMAKE_SOURCE_DIR}/src/steadystateproblem.cpp
${CMAKE_SOURCE_DIR}/src/backwardproblem.cpp
${CMAKE_SOURCE_DIR}/src/sundials_matrix_wrapper.cpp
${CMAKE_SOURCE_DIR}/src/abstract_model.cpp
)

add_library(${PROJECT_NAME} ${AMICI_SRC_LIST})
Expand Down Expand Up @@ -126,6 +128,7 @@ add_custom_target(
src/wrapfunctions.ODE_template.h
src/wrapfunctions.template.cpp
swig/CMakeLists_model.txt
swig/modelname.template.i
)


Expand Down
Loading

0 comments on commit cd7a15e

Please sign in to comment.