Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
c46d57d
parse piecewise into heaviside functions
paulstapor Nov 30, 2020
f27004f
Add Events as model quantity, parse Heavisides slightly differently
paulstapor Dec 1, 2020
c2e7543
bugfix
paulstapor Dec 1, 2020
4ffa4ca
rename symbols of root to h and switch order of functions to make sur…
paulstapor Dec 1, 2020
0382baf
rename root symbols to HeavisideFunction_ to have things more indicative
paulstapor Dec 1, 2020
7a121a5
tell AMICI about root, stau, and deltasx functions
paulstapor Dec 1, 2020
5b9fc4e
heavisides without sensitivities should be working
paulstapor Dec 1, 2020
d1cbf26
need to change generation of stau to generration via inverse function…
paulstapor Dec 1, 2020
3bca674
compute stau via inverse function theorem
paulstapor Dec 2, 2020
d736d36
added functionality for deltasx, but segfaulting
paulstapor Dec 2, 2020
fbf0775
bugfixing
paulstapor Dec 2, 2020
a7fc833
remove debug output
paulstapor Dec 2, 2020
224e10e
get indentations right
paulstapor Dec 2, 2020
e7583fb
Merge branch 'develop' into piecewise_to_heaviside
FFroehlich Dec 2, 2020
dbd245a
Update python/amici/ode_export.py
paulstapor Dec 2, 2020
f25f2c9
Update python/amici/ode_export.py
paulstapor Dec 2, 2020
5272337
Update python/amici/ode_export.py
paulstapor Dec 2, 2020
1ba9942
Update python/amici/ode_export.py
paulstapor Dec 2, 2020
ca8879f
Update python/amici/ode_export.py
paulstapor Dec 2, 2020
5d1a3cc
Update python/amici/sbml_import.py
paulstapor Dec 2, 2020
8405b98
add a test for trajectories
dilpath Dec 4, 2020
762a8fd
fix sroot and test
paulstapor Dec 4, 2020
26f8f68
cosmetic
dilpath Dec 4, 2020
ed5b6c7
add analytical expressions for sensitivities
paulstapor Dec 4, 2020
f30dae3
add test for a complex condition
dilpath Dec 4, 2020
49c2e43
merge conflict for whatever reason
paulstapor Dec 4, 2020
32a5ec7
Merge branch 'piecewise_to_heaviside' of https://github.com/AMICI-dev…
dilpath Dec 4, 2020
4be7c95
add test for many conditions
dilpath Dec 4, 2020
f1e53d1
fix test
paulstapor Dec 5, 2020
2071b76
resolve conflict
paulstapor Dec 5, 2020
f71c786
improve documentation
paulstapor Dec 7, 2020
2e0cdc8
rename tests and refactor test for iterated piecewise, to check SBML …
paulstapor Dec 7, 2020
e8e9738
cleanup for code review
paulstapor Dec 7, 2020
2ef5fe9
further cleanup
paulstapor Dec 7, 2020
978307a
quarter way done with parsing heavisides into piecewise
paulstapor Dec 7, 2020
3bd894b
fix logic parsing
FFroehlich Dec 7, 2020
da370a4
monkeypatch sympy printer
FFroehlich Dec 8, 2020
3cfdc14
enable more tests
FFroehlich Dec 8, 2020
23c162e
Merge branch 'develop' into piecewise_to_heaviside
FFroehlich Dec 8, 2020
c8876ce
Merge branch 'develop' into piecewise_to_heaviside
FFroehlich Dec 8, 2020
ecdbbe3
implement denesting of piecewise
FFroehlich Dec 8, 2020
25c5ef3
Merge branch 'piecewise_to_heaviside' of https://github.com/AMICI-dev…
FFroehlich Dec 8, 2020
bdebbc9
fix SBML nonsense
FFroehlich Dec 8, 2020
0197e1e
fix boolean triggers
FFroehlich Dec 8, 2020
c811aa1
simplify logic checks
FFroehlich Dec 8, 2020
0333e64
fix code smells
FFroehlich Dec 8, 2020
c6c0f7c
add events to variable prototypes
FFroehlich Dec 9, 2020
1c6456f
cleanup
FFroehlich Dec 9, 2020
ff2a4bb
report details for skipped tests durin GHA run
FFroehlich Dec 9, 2020
a2e4967
better skip printing
FFroehlich Dec 9, 2020
d40f8ba
resubstitution of non-optimized RHS into stau
paulstapor Dec 9, 2020
b05cc7d
add sensitivity tests
paulstapor Dec 9, 2020
209f992
refactor tests
dilpath Dec 9, 2020
983823e
remove skipping display code
FFroehlich Dec 9, 2020
a1c7f6b
Merge branch 'piecewise_to_heaviside' of https://github.com/AMICI-dev…
FFroehlich Dec 9, 2020
748b1eb
update test stats
FFroehlich Dec 9, 2020
c48b8a4
Update python/amici/ode_export.py
FFroehlich Dec 9, 2020
5d897fe
Apply suggestions from code review
FFroehlich Dec 9, 2020
eb64393
document and simplify _collect_heaviside_roots
FFroehlich Dec 9, 2020
46805ab
Merge branch 'piecewise_to_heaviside' of https://github.com/AMICI-dev…
FFroehlich Dec 9, 2020
61a36b6
address review comments
FFroehlich Dec 9, 2020
3f81ad1
reduce complexity
FFroehlich Dec 9, 2020
33eb0ec
misplaced docstrings
dilpath Dec 9, 2020
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: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ python/examples/example_presimulation/model_presimulation/*
python/examples/example_presimulation/model_presimulation_re/*
python/examples/example_constant_species/model_constant_species_reduced/*
python/examples/example_constant_species/model_constant_species/*
python/tests/sbml_test_models/*

python/sdist/amici.egg-info/*
python/sdist/amici/version.txt
Expand Down Expand Up @@ -191,3 +192,4 @@ tests/performance/CS_Signalling_ERBB_RAS_AKT_petab/*
coverage_SBMLSuite.xml
Benchmark-Models-PEtab/


3 changes: 1 addition & 2 deletions documentation/python_interface.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ AMICI can import :term:`SBML` models via the
Status of SBML support in Python-AMICI
++++++++++++++++++++++++++++++++++++++

Python-AMICI currently **passes 850 out of the 1780 (~48%) test cases** from
Python-AMICI currently **passes 805 out of the 1780 (~45%) test cases** from
Copy link
Member

Choose a reason for hiding this comment

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

🙀

Copy link
Member

Choose a reason for hiding this comment

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

Not sure what happened, looking at the tests that are skipped I couldn't really identify those 45 that are not longer passing.

Copy link
Member

Choose a reason for hiding this comment

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

Ah, this is unrelated to this PR. (Here it increases from 804 to 805). This is where it happened: https://github.com/AMICI-dev/AMICI/actions/runs/331448378

Copy link
Member

@dweindl dweindl Dec 9, 2020

Choose a reason for hiding this comment

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

Used to work but skipped now (Should be all those AMICI does not support SBML models containing variables with SId):

969
970
971
974
1104
1105
1107
1109
1121
1434
1436
1438
1440
1442
1465
1498
1552
1554
1574
1638
1639
1651
1652
1653
1654
1655
1656
1657
1722
1724
1725
1726
1733
1734
1735
1744
1746
1748
1750
1753
1764
1765
1766
1767
1768
1773
1774

Copy link
Member

Choose a reason for hiding this comment

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

I suspect thats due to the skippings with msgs like

SKIPPED [2] tests/testSBMLSuite.py:87: AMICI does not support SBML models containing variables with SId k0.
3677
SKIPPED [3] tests/testSBMLSuite.py:87: AMICI does not support SBML models containing variables with SId A1_sr.
3678
SKIPPED [2] tests/testSBMLSuite.py:87: AMICI does not support SBML models containing variables with SId A_sr1.

Those are a little over 50 cases, so lets have a more detailed look in a different PR. Also looks like there are still a handful of low hanging fruits like ceil/min/max applied to numerical values, which we should be able to pass.

Copy link
Member

Choose a reason for hiding this comment

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

Yes, separate PR.

the semantic
`SBML Test Suite <https://github.com/sbmlteam/sbml-test-suite/>`_
(`current status <https://github.com/AMICI-dev/AMICI/actions>`_).
Expand All @@ -35,7 +35,6 @@ In addition, we currently plan to add support for the following features

- Events (currently Matlab-only)
- Algebraic rules
- Models without species

contributions are welcome.

Expand Down
12 changes: 6 additions & 6 deletions include/amici/solver.h
Original file line number Diff line number Diff line change
Expand Up @@ -750,7 +750,7 @@ class Solver {
*/
bool computingFSA() const {
return getSensitivityOrder() >= SensitivityOrder::first &&
getSensitivityMethod() == SensitivityMethod::forward;
getSensitivityMethod() == SensitivityMethod::forward && nplist() > 0;
}

/**
Expand All @@ -759,7 +759,7 @@ class Solver {
*/
bool computingASA() const {
return getSensitivityOrder() >= SensitivityOrder::first &&
getSensitivityMethod() == SensitivityMethod::adjoint;
getSensitivityMethod() == SensitivityMethod::adjoint && nplist() > 0;
}

/**
Expand Down Expand Up @@ -1644,18 +1644,18 @@ class Solver {
mutable bool force_reinit_postprocess_B_ {false};

private:

/**
* @brief applies total number of steps for next solver call
*/
void apply_max_num_steps() const;

/**
* @brief applies total number of steps for next backwards solver call
*/
void apply_max_num_steps_B() const;


/** method for sensitivity computation */
SensitivityMethod sensi_meth_ {SensitivityMethod::forward};

Expand Down
2 changes: 1 addition & 1 deletion include/amici/steadystateproblem.h
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ class SteadystateProblem {
/**
* @brief Assembles the error message to be thrown.
* @param errorString const pointer to string with error message
* @param status Entry of steady_state_staus to be processed
* @param status Entry of steady_state_status to be processed
*/
void writeErrorString(std::string *errorString, SteadyStateStatus
status) const;
Expand Down
1 change: 1 addition & 0 deletions python/amici/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,4 @@ class SymbolId(str, enum.Enum):
EXPRESSION = 'expression'
SIGMAY = 'sigmay'
LLHY = 'llhy'
EVENT = 'event'
Loading