Skip to content

Commit

Permalink
Merge pull request #1079 from ICB-DCM/release_0.11.0
Browse files Browse the repository at this point in the history
Release 0.11.0
  • Loading branch information
FFroehlich authored May 10, 2020
2 parents 390305f + 2ad2e36 commit a5f30d5
Show file tree
Hide file tree
Showing 656 changed files with 113,244 additions and 32,286 deletions.
9 changes: 7 additions & 2 deletions .github/workflows/sbml-semantic-test-suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,13 @@ on:
- develop
- master
pull_request:
branches:
- master
paths:
- python/amici/sbml_import.py
- python/amici/ode_export.py
- scripts/run-SBMLTestsuite.sh
- tests/testSBMLSuite.py
check_suite:
types: [requested]

jobs:
build:
Expand Down
107 changes: 107 additions & 0 deletions .github/workflows/test_cplusplus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: C++ testsuite / Ubuntu
on: [push]

jobs:
build:
name: _

# TODO: prepare image with more deps preinstalled
runs-on: ubuntu-latest

env:
ENABLE_GCOV_COVERAGE: TRUE
CI_SONARCLOUD: TRUE

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

- run: echo "::set-env name=AMICI_DIR::$(pwd)"
- run: echo "::set-env name=BNGPATH::${AMICI_DIR}/ThirdParty/BioNetGen-2.3.2"

# sonar cloud
- run: echo "::set-env name=SONAR_SCANNER_VERSION::4.2.0.1873"
- run: echo "::set-env name=SONAR_SCANNER_HOME::$HOME/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux"
- run: echo "::set-env name=SONAR_SCANNER_OPTS::-server"
- run: echo "::add-path::${SONAR_SCANNER_HOME}/bin"
- run: echo "::add-path::$HOME/.sonar/build-wrapper-linux-x86"

# TODO: add to ci image
- name: Install sonarcloud tools
run: |
sudo apt install nodejs curl unzip \
&& curl --create-dirs -sSLo $HOME/.sonar/sonar-scanner.zip \
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$SONAR_SCANNER_VERSION-linux.zip \
&& unzip -o $HOME/.sonar/sonar-scanner.zip -d $HOME/.sonar/ \
&& curl --create-dirs -sSLo $HOME/.sonar/build-wrapper-linux-x86.zip \
https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip \
&& unzip -o $HOME/.sonar/build-wrapper-linux-x86.zip -d $HOME/.sonar/ \
# install amici dependencies
- name: apt
run: |
sudo apt-get update \
&& sudo apt-get install -y \
cmake \
g++ \
libatlas-base-dev \
libboost-serialization-dev \
libhdf5-serial-dev \
python3-dev \
swig
- name: Build suitesparse
run: |
scripts/buildSuiteSparse.sh
- name: Build sundials
run: |
scripts/buildSundials.sh
- name: Build cpputest
run: |
scripts/buildCpputest.sh
- name: Build cpputest
run: |
scripts/buildBNGL.sh
- name: Build AMICI
run: |
CI_SONARCLOUD=TRUE scripts/buildAmici.sh
- name: Cache sonar files
id: cache-sonar
uses: actions/cache@v1
with:
path: sonar_cache
key: ${{ runner.os }}-sonar_cache

- name: C++ tests
run: |
scripts/run-cpputest.sh
- name: gcov
run: cd build && gcov CMakeFiles/amici.dir/src/*.o

- name: Install python package
run: scripts/installAmiciSource.sh

- name: Python tests
run: |
source build/venv/bin/activate \
&& pip3 install coverage pytest pytest-cov \
&& pytest \
--ignore-glob=*petab* \
--cov=amici \
--cov-report=xml:"${AMICI_DIR}/build/coverage_py.xml" \
--cov-append \
${AMICI_DIR}/python/tests
- name: Run sonar-scanner
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
sonar-scanner \
-Dsonar.cfamily.build-wrapper-output=bw-output \
-Dsonar.projectVersion="$(git describe --abbrev=4 --dirty=-dirty --always --tags | tr -d '\n')"
54 changes: 54 additions & 0 deletions .github/workflows/test_cplusplus_valgrind.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: C++ testsuite / Valgrind / Ubuntu
on:
push:
branches:
- develop
- master
- feature_1053_sonarcloud


jobs:
build:
name: _

# TODO: prepare image with more deps preinstalled
runs-on: ubuntu-latest

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

# install amici dependencies
- name: apt
run: |
sudo apt-get update \
&& sudo apt-get install -y \
cmake \
g++ \
libatlas-base-dev \
libboost-serialization-dev \
libhdf5-serial-dev \
swig \
valgrind
- name: Build suitesparse
run: |
scripts/buildSuiteSparse.sh
- name: Build sundials
run: |
scripts/buildSundials.sh
- name: Build cpputest
run: |
scripts/buildCpputest.sh
- name: Build AMICI
# TODO: should get rid of having to install numpy before
run: |
pip3 install numpy \
&& scripts/buildAmici.sh
- name: C++ tests / Valgrind
run: |
scripts/run-valgrind.sh
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ tests/test/*
*/tests/test_model_presimulation/*
*/tests/test_model_presimulation_pysb/*
*/tests/test_model_presimulation_sbml/*
*/tests/model_constant_species_cl/*
*/tests/model_constant_species/*
*/tests/test_likelihoods/*
*/tests/bax_pore_sequential_amici/*
*/tests/bax_pore_amici/*
Expand Down Expand Up @@ -136,6 +138,7 @@ tests/sedml-test-suite/
tests/SBMLTestModels/
tests/benchmark-models/test_bmc
tests/petab_test_suite
petab_test_suite
/python/test/amici-SBMLTest*/

python/examples/example_steadystate/model_steadystate_scaled/*
Expand Down
2 changes: 0 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ matrix:
- travis_wait brew link --overwrite gcc # fix linker warning regarding /usr/local/include/c++
- brew link --overwrite python # https://github.com/ICB-DCM/AMICI/issues/894
- export -f travis_fold travis_nanoseconds travis_time_start travis_time_finish
- pip3 install --user -U numpy
after_success:
- cd $BASE_DIR # cd to base dir for correct relative path in deploy

Expand Down Expand Up @@ -149,7 +148,6 @@ matrix:
- choco install python --version 3.7.5
- choco install swig
- python -m pip install --upgrade pip
- pip install --user -U numpy
- git clone -c core.symlinks=true https://github.com/ICB-DCM/AMICI.git && cd AMICI
- if [[ "$TRAVIS_PULL_REQUEST" == "false" ]]; then git checkout -qf $TRAVIS_COMMIT; elif [[ "$TRAVIS_PULL_REQUEST" != "false" ]]; then git fetch --update-head-ok origin pull/$TRAVIS_PULL_REQUEST/head:$TRAVIS_BRANCH && git checkout $TRAVIS_BRANCH; fi
# run BLAS installation script
Expand Down
9 changes: 3 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ constrained optimization problems.
<img src="https://travis-ci.com/ICB-DCM/AMICI.svg?branch=master"></a>
<a href="https://codecov.io/gh/ICB-DCM/AMICI" alt="CodeCov">
<img src="https://codecov.io/gh/ICB-DCM/AMICI/branch/master/graph/badge.svg"></a>
<a href="https://www.codacy.com/app/FFroehlich/AMICI" alt="Codacy">
<img src="https://api.codacy.com/project/badge/Grade/945235766e344a7fa36278feab915ff6"></a>
<a href="https://sonarcloud.io/dashboard?id=ICB-DCM_AMICI&branch=master" alt="SonarCloud">
<img src="https://sonarcloud.io/api/project_badges/measure?branch=master&project=ICB-DCM_AMICI&metric=sqale_index"></a>
<a href="https://zenodo.org/badge/latestdoi/43677177" alt="Zenodo">
<img src="https://zenodo.org/badge/43677177.svg"></a>
<a href="https://amici.readthedocs.io/en/latest/?badge=latest" alt="RTD">
Expand Down Expand Up @@ -130,7 +130,7 @@ When presenting work that employs AMICI, feel free to use one of the icons in

## Status of SBML support in Python-AMICI

Python-AMICI currently passes 500 out of the 1780 (~28%) test cases from
Python-AMICI currently passes 696 out of the 1780 (~39%) test cases from
the semantic
[SBML Test Suite](https://github.com/sbmlteam/sbml-test-suite/)
([current status](https://github.com/ICB-DCM/AMICI/actions)).
Expand All @@ -139,10 +139,7 @@ In addition, we currently plan to add support for the following features
(see corresponding issues for details and progress):

- Events (currently Matlab-only)
- Rate rules
- Algebraic rules
- Species assignment rules
- Compartment assignment rules
- Models without species

contributions are welcome.
Expand Down
58 changes: 1 addition & 57 deletions ThirdParty/SuiteSparse/AMD/Doc/License.txt
Original file line number Diff line number Diff line change
@@ -1,37 +1,14 @@
AMD, Copyright (c), 1996-2015, Timothy A. Davis,
Patrick R. Amestoy, and Iain S. Duff. All Rights Reserved.

AMD License: At the user's option, you may use AMD under either the LGPL
version 2.1 license, or the BSD 3-clause license. You may not use both
licenses, nor may you mix-and-match clauses from each license. To use a
license, in the documentation for your application simply state either of the
following, replacing <YOUR APPLICATION> with the name of your application:

AMD, Copyright (c), 1996-2015, Timothy A. Davis,
Patrick R. Amestoy, and Iain S. Duff. All Rights Reserved.
Used in <YOUR APPLICATION> under the BSD 3-clause license.

or

AMD, Copyright (c), 1996-2015, Timothy A. Davis,
Patrick R. Amestoy, and Iain S. Duff. All Rights Reserved.
Used in <YOUR APPLICATION> under the LGPL v2.1 license.

In the event that your package <A> includes another package <B> by another
author, and <A> and <B> use AMD under different licenses, you may select
one license to apply to both uses of AMD in the combined application.

Availability:

http://www.suitesparse.com

-------------------------------------------------------------------------------
BSD 3-clause:
AMD License: BSD 3-clause:
-------------------------------------------------------------------------------

Copyright (c), 1996-2015, Timothy A. Davis,
Patrick R. Amestoy, and Iain S. Duff. All Rights Reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
Expand All @@ -56,36 +33,3 @@ BSD 3-clause:
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

-------------------------------------------------------------------------------
LGPL version 2.1:
-------------------------------------------------------------------------------

Your use or distribution of AMD or any modified version of
AMD implies that you agree to this License.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA

Permission is hereby granted to use or copy this program under the
terms of the GNU LGPL, provided that the Copyright, this License,
and the Availability of the original version is retained on all copies.
User documentation of any code that uses this code or any modified
version of this code must cite the Copyright, this License, the
Availability note, and "Used by permission." Permission to modify
the code and to distribute modified code is granted, provided the
Copyright, this License, and the Availability note are retained,
and a notice that the code was modified is included.

-------------------------------------------------------------------------------
4 changes: 2 additions & 2 deletions ThirdParty/SuiteSparse/AMD/Doc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ distclean: clean
#------------------------------------------------------------------------------

AMD_UserGuide.pdf: AMD_UserGuide.tex AMD_UserGuide.bib ../Include/amd.h
echo '\begin{verbatim}' > amd_h.tex
echo '\\begin{verbatim}' > amd_h.tex
expand -8 ../Include/amd.h >> amd_h.tex
echo '\end{verbatim}' >> amd_h.tex
echo '\\end{verbatim}' >> amd_h.tex
pdflatex AMD_UserGuide
bibtex AMD_UserGuide
pdflatex AMD_UserGuide
Expand Down
55 changes: 25 additions & 30 deletions ThirdParty/SuiteSparse/CAMD/Doc/License.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,33 @@ Yanqing Chen,
Patrick R. Amestoy, and Iain S. Duff. All Rights Reserved.
CAMD is available under alternate licenses, contact T. Davis for details.

CAMD License:

Your use or distribution of CAMD or any modified version of
CAMD implies that you agree to this License.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA

Permission is hereby granted to use or copy this program under the
terms of the GNU LGPL, provided that the Copyright, this License,
and the Availability of the original version is retained on all copies.
User documentation of any code that uses this code or any modified
version of this code must cite the Copyright, this License, the
Availability note, and "Used by permission." Permission to modify
the code and to distribute modified code is granted, provided the
Copyright, this License, and the Availability note are retained,
and a notice that the code was modified is included.
CAMD License: BSD 3-clause

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the organizations to which the authors are
affiliated, nor the names of its contributors may be used to endorse
or promote products derived from this software without specific prior
written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.

Availability:

http://www.suitesparse.com

-------------------------------------------------------------------------------
Loading

0 comments on commit a5f30d5

Please sign in to comment.