Skip to content

Commit 6f4ef4c

Browse files
authored
Merge pull request #514 from isaacsas/constant_and_bc_species
Constant and bc species for SBMLToolkit
2 parents e8c3e6b + 976ad29 commit 6f4ef4c

File tree

5 files changed

+423
-126
lines changed

5 files changed

+423
-126
lines changed

HISTORY.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,33 @@
4545
```
4646
Breaking as this required modifications to the `ReactionSystem` type
4747
signature.
48+
- **BREAKING** `ReactionSystem`s now store a default value for
49+
`combinatoric_ratelaws=true`. This default value can be set in the
50+
`ReactionSystem` constructor call as a keyword argument. Passing
51+
`combinatoric_ratelaws` as a keyword to `convert` or problem calls involving a
52+
`ReactionSystem` is still allowed, and will override the `ReactionSystem`'s
53+
default.
54+
- Fixed a bug where `ODESystem` constraint systems did not propagate
55+
`continuous_events` during calls to `convert(ODESystem, rn::ReactionSystem)`.
56+
- Added constant and boundary condition species (in the SBML sense). During
57+
conversion constant species are converted to parameters, while boundary
58+
condition species are kept as state variables. Note that boundary condition
59+
species are treated as constant with respect to reactions, so their dynamics
60+
must be defined in a constraint system. Right now only conversion of
61+
`ReactionSystem`s to an `ODESystem` with a constraint `ODESystem` or
62+
`NonlinearSystem`, or conversion to a `NonlinearSystem` with a constraint
63+
`NonlinearSystem`, are supported. Constraints are not supported in `SDESystem`
64+
or `JumpSystem` conversion, and so boundary condition species are effectively
65+
constant when converting to those model types (but still left as states
66+
instead of parameters). Defining constant and boundary condition species is
67+
done by
68+
```julia
69+
@variables t A(t) [isconstant=true] B(t) [isbc=true] C(t)
70+
```
71+
Here `A` is a constant species, `B` is a boundary condition species, and `C`
72+
is a normal species. Note that network API functions do not make use of these
73+
labels, and treat all species as normal -- these properties are only made use
74+
of when converting to other system types.
4875

4976
## Catalyst 10.8
5077
- Added the ability to use symbolic stoichiometry expressions via the DSL. This should now work

docs/src/api/catalyst_api.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ numreactionparams
160160
speciesmap
161161
paramsmap
162162
reactionparamsmap
163+
Catalyst.isconstant
164+
Catalyst.isbc
163165
```
164166

165167
## Basic Reaction Properties

0 commit comments

Comments
 (0)