Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test_benchmark_collection_models.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
run: |
python3 -m pip uninstall -y petab && python3 -m pip install git+https://github.com/petab-dev/libpetab-python.git@main \
&& python3 -m pip install -U sympy \
&& python3 -m pip install git+https://github.com/ICB-DCM/fiddy.git@amici100
&& python3 -m pip install git+https://github.com/ICB-DCM/fiddy.git@main

- name: Download benchmark collection
run: |
Expand Down
100 changes: 96 additions & 4 deletions .github/workflows/test_petab_test_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
workflow_dispatch:

jobs:
build:
petab_v1:
name: PEtab Testsuite

runs-on: ubuntu-latest
Expand Down Expand Up @@ -87,7 +87,7 @@ jobs:
run: |
source ./venv/bin/activate \
&& python3 -m pip uninstall -y petab \
&& python3 -m pip install git+https://github.com/petab-dev/libpetab-python.git@main \
&& python3 -m pip install git+https://github.com/petab-dev/libpetab-python.git@8dc6c1c4b801fba5acc35fcd25308a659d01050e \
&& python3 -m pip install git+https://github.com/pysb/pysb@master \
&& python3 -m pip install sympy>=1.12.1

Expand All @@ -102,11 +102,103 @@ jobs:
- name: Run PEtab test suite
run: |
source ./venv/bin/activate \
&& AMICI_PARALLEL_COMPILE="" pytest -v \
&& AMICI_PARALLEL_COMPILE="" pytest -rxXs -v \
--cov-report=xml:coverage.xml \
--cov-append \
--cov=amici \
tests/petab_test_suite/
tests/petab_test_suite/test_petab_suite.py

- name: Codecov
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.xml
flags: petab
fail_ci_if_error: true


petab_v2:
name: PEtab v2 Testsuite

runs-on: ubuntu-latest

env:
ENABLE_GCOV_COVERAGE: TRUE

strategy:
matrix:
python-version: ["3.12"]

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

- uses: actions/checkout@v4
with:
fetch-depth: 20

- name: Install apt dependencies
uses: ./.github/actions/install-apt-dependencies

# install dependencies
- name: apt
run: |
sudo apt-get update \
&& sudo apt-get install -y python3-venv

- name: Build BNGL
run: scripts/buildBNGL.sh

- run: |
echo "${HOME}/.local/bin/" >> $GITHUB_PATH
echo "${GITHUB_WORKSPACE}/tests/performance/" >> $GITHUB_PATH
echo "BNGPATH=${GITHUB_WORKSPACE}/ThirdParty/BioNetGen-2.7.0" >> $GITHUB_ENV

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

- name: Install petab
run: |
source ./venv/bin/activate \
&& pip3 install wheel pytest shyaml pytest-cov pysb>=1.16

# retrieve test models
- name: Download and install PEtab test suite
run: |
git clone https://github.com/PEtab-dev/petab_test_suite \
&& source ./venv/bin/activate \
&& cd petab_test_suite \
&& git checkout c12b9dc4e4c5585b1b83a1d6e89fd22447c46d03 \
&& pip3 install -e .

# TODO: once there is a PEtab v2 benchmark collection
# - name: Install PEtab benchmark collection
# run: |
# git clone --depth 1 https://github.com/benchmarking-initiative/Benchmark-Models-PEtab.git \
# && export BENCHMARK_COLLECTION="$(pwd)/Benchmark-Models-PEtab/Benchmark-Models/" \
# && source venv/bin/activate && python -m pip install -e $BENCHMARK_COLLECTION/../src/python

- name: Install petab
run: |
source ./venv/bin/activate \
&& python3 -m pip uninstall -y petab \
&& python3 -m pip install git+https://github.com/petab-dev/libpetab-python.git@8dc6c1c4b801fba5acc35fcd25308a659d01050e \
&& python3 -m pip install git+https://github.com/pysb/pysb@master \
&& python3 -m pip install sympy>=1.12.1

# run test models
- name: Run PEtab test suite
run: |
source ./venv/bin/activate \
&& AMICI_PARALLEL_COMPILE="" pytest -rxXs -v \
--cov-report=xml:coverage.xml \
--cov-append \
--cov=amici \
tests/petab_test_suite/test_petab_v2_suite.py

- name: Codecov
if: (github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev') && github.actor != 'dependabot[bot]'
Expand Down
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,6 @@ tests/sbml/sbml-test-suite/
*/sbml-semantic-test-cases/*
tests/sbml/SBMLTestModels/
tests/benchmark_models/test_bmc
tests/petab_test_suite
petab_test_suite
*/tests/BIOMD0000000529/*

python/examples/example_steadystate/model_steadystate_scaled/*
Expand Down Expand Up @@ -200,3 +198,4 @@ tests/benchmark_models/cache_fiddy/*
venv/*
.coverage
tests/sciml/models/*
amici_models
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,14 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni

**Features**

* Experimental support for the PEtab data format v2.0.0 (draft, see
https://petab.readthedocs.io/en/latest/v2/documentation_data_format.html)
for SBML- and PySB-based problems (see `amici.petab.petab_importer`). The API is subject to change.

* Current limitations for PySB-based PEtab problems:
* Only species and `pysb.Expression` are supported as condition table
targets.

* Many relevant `ReturnData` fields are now available as `xarray.DataArray`
via `ReturnData.xr.{x,y,w,x0,sx,...}`.
`DataArray`s include the identifiers and are often more convenient than the
Expand Down Expand Up @@ -83,6 +91,7 @@ See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioni
can now be specified via the `AMICI_MODELS_ROOT` environment variable.
See `amici.get_model_dir` for details.


## v0.X Series

### v0.34.2 (2025-11-03)
Expand Down
Loading
Loading