Skip to content

Commit 367ac4e

Browse files
committed
handle equations in reaction system as well
1 parent 93c94c9 commit 367ac4e

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

src/registered_functions.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ function expand_registered_functions(rx::Reaction)
143143
end
144144
# If applied to a Equation, returns it with it applied to lhs and rhs
145145
function expand_registered_functions(eq::Equation)
146-
return expand_registered_functions(eq.lhs) ~ expand_registered_functions(eq.rhs)
146+
return expand_registered_functions!(deepcopy(eq.lhs)) ~ expand_registered_functions!(deepcopy(eq.rhs))
147147
end
148148
# If applied to a ReactionSystem, applied function to all Reactions and other Equations, and return updated system.
149149
function expand_registered_functions(rs::ReactionSystem)

test/reactionsystem_core/custom_crn_functions.jl

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,12 +160,18 @@ end
160160
let
161161
# Create model with a registered function.
162162
@species X(t)
163+
@variables V(t)
163164
@parameters v K
164-
rxs = [Reaction(mm(X,v,K), [], [X])]
165-
@named rs = ReactionSystem(rxs, t)
165+
eqs = [
166+
Reaction(mm(X,v,K), [], [X]),
167+
mm(V,v,K) ~ V + 1
168+
]
169+
@named rs = ReactionSystem(eqs, t)
166170

167171
# Check that `expand_registered_functions` does not mutate original model.
168172
rs_expanded_funcs = Catalyst.expand_registered_functions(rs)
169173
@test isequal(only(Catalyst.get_rxs(rs)).rate, Catalyst.mm(X,v,K))
170174
@test isequal(only(Catalyst.get_rxs(rs_expanded_funcs)).rate, v*X/(X + K))
175+
@test isequal(last(Catalyst.get_eqs(rs)).lhs, Catalyst.mm(V,v,K))
176+
@test isequal(last(Catalyst.get_eqs(rs_expanded_funcs)).lhs, v*V/(V + K))
171177
end

0 commit comments

Comments
 (0)