Skip to content

Commit 43ac751

Browse files
committed
change names of e.g. observed in DSL call
1 parent aac44f2 commit 43ac751

File tree

2 files changed

+23
-8
lines changed

2 files changed

+23
-8
lines changed

src/dsl.jl

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -339,16 +339,17 @@ function make_reaction_system(ex::Expr, name)
339339
spatial_ivs = $sivs
340340
rx_eq_vec = $rxsexprs
341341
us = setdiff(union($spsvar, $vsvar, $cmpsvar), $obs_syms)
342-
observed = $obs_eqs
343-
continuous_events = $continuous_events_expr
344-
discrete_events = $discrete_events_expr
345-
combinatoric_ratelaws = $combinatoric_ratelaws
346-
default_reaction_metadata = $default_reaction_metadata
342+
_observed = $obs_eqs
343+
_continuous_events = $continuous_events_expr
344+
_discrete_events = $discrete_events_expr
345+
_combinatoric_ratelaws = $combinatoric_ratelaws
346+
_default_reaction_metadata = $default_reaction_metadata
347347

348348
remake_ReactionSystem_internal(
349349
make_ReactionSystem_internal(rx_eq_vec, $tiv, us, $psvar; name, spatial_ivs,
350-
observed, continuous_events, discrete_events, combinatoric_ratelaws);
351-
default_reaction_metadata)
350+
observed = _observed, continuous_events = _continuous_events,
351+
discrete_events = _discrete_events, combinatoric_ratelaws = _combinatoric_ratelaws);
352+
default_reaction_metadata = _default_reaction_metadata)
352353
end))
353354
end
354355

@@ -470,7 +471,7 @@ function extract_sps_and_ps(reactions, excluded_syms; requiredec = false)
470471
(!isempty(species) && requiredec) &&
471472
throw(UndeclaredSymbolicError("Unrecognized reactant $(join(species, ", ")) detected in reaction expression: \"$(string(reaction.rxexpr))\". Since the flag @require_declaration is declared, all species must be explicitly declared with the @species option."))
472473
end
473-
union!(excluded_syms, species)
474+
excluded_syms = union(excluded_syms, species)
474475

475476
# Loops through all rates and stoichiometries, extracting used symbols as parameters.
476477
parameters = OrderedSet{Union{Symbol, Expr}}()

test/dsl/dsl_advanced_model_construction.jl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,20 @@ let
136136
@test rx == Reaction(b+ex, [A,C], nothing, [2,1], nothing)
137137
end
138138

139+
# Creates a reaction network using `eval` and internal function.
140+
let
141+
ex = quote
142+
(Ka, Depot --> Central)
143+
(CL / Vc, Central --> 0)
144+
end
145+
# Line number nodes aren't ignored so have to be manually removed
146+
Base.remove_linenums!(ex)
147+
name = QuoteNode(:rs)
148+
exsys = Catalyst.make_reaction_system(ex, name)
149+
sys = @eval Catalyst $exsys
150+
@test sys isa ReactionSystem
151+
end
152+
139153
### Tests Reaction Metadata ###
140154

141155
# Tests construction for various types of reaction metadata.

0 commit comments

Comments
 (0)