Skip to content

Commit 7c78523

Browse files
committed
init finish
1 parent e01e0de commit 7c78523

19 files changed

+349
-351
lines changed

test/compositional_modelling/component_based_model_creation.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
using Catalyst, LinearAlgebra, OrdinaryDiffEq, SciMLNLSolve, Test
77
using ModelingToolkit: nameof
88

9-
# Fetch test networks.
9+
# Sets the default `t` to use.
1010
t = default_t()
1111

1212

test/dsl/dsl_advanced_model_construction.jl

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! format: off
22

3-
### Fetch Packages and Set Global Variables ###
3+
### Prepares Tests ###
44

55
# Fetch packages.
66
using Catalyst, ModelingToolkit
@@ -76,12 +76,12 @@ end
7676

7777
### Test Interpolation Within the DSL ###
7878

79-
# Tests basic interpolation cases.
8079

8180
# Declares parameters and species used across the test.
8281
@parameters α k k1 k2
8382
@species A(t) B(t) C(t) D(t)
8483

84+
# Tests basic interpolation cases.
8585
let
8686
AA = A
8787
AAA = A^2 + B
@@ -101,7 +101,6 @@ let
101101
rn2 = ReactionSystem([Reaction(k, [AA,C], [D])], t; name=:rn)
102102
@test rn == rn2
103103
end
104-
105104
let
106105
BB = B; A2 = A
107106
rn = @reaction_network rn begin
@@ -113,7 +112,6 @@ let
113112
t; name=:rn)
114113
@test rn == rn2
115114
end
116-
117115
let
118116
AA = A
119117
kk1 = k^2*A

test/dsl/dsl_basic_model_construction.jl

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
using DiffEqBase, Catalyst, Random, Test
55
using ModelingToolkit: operation, istree, get_unknowns, get_ps, get_eqs, get_systems,
66
get_iv, nameof
7-
t = default_t()
87

9-
# Sets rnd number.
8+
# Sets stable rng number.
109
using StableRNGs
1110
rng = StableRNG(12345)
1211

12+
# Sets the default `t` to use.
13+
t = default_t()
14+
1315
# Fetch test networks and functions.
1416
include("../test_networks.jl")
1517
include("../test_functions.jl")
@@ -33,7 +35,7 @@ function all_reactants(eqs)
3335
return Set{Symbol}(unique(all_reactants))
3436
end
3537

36-
# Gets all parameters (where every reaction rate is constant)
38+
# Gets all parameters (where every reaction rate is constant).
3739
function all_parameters(eqs)
3840
return Set(unique(map(eq -> opname(eq.rate), eqs)))
3941
end
@@ -371,7 +373,7 @@ let
371373
end
372374
end
373375

374-
# Test that I works as a name.
376+
# Test that the `I` symbol works as a quantity name.
375377
let
376378
rn = @reaction_network begin
377379
k1, S + I --> 2I
@@ -382,7 +384,7 @@ let
382384
@test any(isequal(I), unknowns(rn))
383385
end
384386

385-
# Tests backwards and double arrows.
387+
# Tests backwards and bi-directional arrows.
386388
let
387389
rn1 = @reaction_network arrowtest begin
388390
(a1, a2), C <--> 0
@@ -401,7 +403,7 @@ let
401403
@test rn1 == rn2
402404
end
403405

404-
# Tests arrow variants in "@reaction" macro .
406+
# Tests arrow variants in `@reaction`` macro .
405407
let
406408
@test isequal((@reaction k, 0 --> X), (@reaction k, X <-- 0))
407409
@test isequal((@reaction k, 0 --> X), (@reaction k, X 0))

test/dsl/dsl_options.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ let
423423
end
424424
end
425425

426-
### Test independent variable designation ###
426+
### Test Independent Variable Designations ###
427427

428428
# Test ivs in DSL.
429429
let
@@ -651,7 +651,7 @@ let
651651
@test length(unknowns(rn2)) == 2
652652
end
653653

654-
# Tests specific declaration of Observables as species/variables
654+
# Tests specific declaration of observables as species/variables.
655655
let
656656
rn = @reaction_network begin
657657
@species X(t)
@@ -742,7 +742,7 @@ let
742742
end
743743

744744

745-
### Test `@equations` for Coupled CRN/Equations Models ###
745+
### Test `@equations` Option for Coupled CRN/Equations Models ###
746746

747747
# Checks creation of basic network.
748748
# Check indexing of output solution.

test/miscellaneous_tests/api.jl

Lines changed: 0 additions & 183 deletions
Original file line numberDiff line numberDiff line change
@@ -300,119 +300,6 @@ let
300300
testnetwork(rn, B, Z, Δ, lcs, 0, subrn, lcd)
301301
end
302302

303-
### Tests Reversibility ###
304-
305-
# Test function.
306-
function testreversibility(rn, B, rev, weak_rev)
307-
@test isreversible(rn) == rev
308-
subrn = subnetworks(rn)
309-
@test isweaklyreversible(rn, subrn) == weak_rev
310-
end
311-
312-
# Tests reversibility for networks with known reversibility.
313-
let
314-
rn = @reaction_network begin
315-
(k2, k1), A1 <--> A2 + A3
316-
k3, A2 + A3 --> A4
317-
k4, A4 --> A5
318-
(k6, k5), A5 <--> 2A6
319-
k7, 2A6 --> A4
320-
k8, A4 + A5 --> A7
321-
end
322-
rev = false
323-
weak_rev = false
324-
testreversibility(rn, reactioncomplexes(rn)[2], rev, weak_rev)
325-
end
326-
let
327-
rn = @reaction_network begin
328-
(k2, k1), A1 <--> A2 + A3
329-
k3, A2 + A3 --> A4
330-
k4, A4 --> A5
331-
(k6, k5), A5 <--> 2A6
332-
k7, A4 --> 2A6
333-
(k9, k8), A4 + A5 <--> A7
334-
end
335-
rev = false
336-
weak_rev = false
337-
testreversibility(rn, reactioncomplexes(rn)[2], rev, weak_rev)
338-
end
339-
let
340-
rn = @reaction_network begin
341-
k1, A --> B
342-
k2, A --> C
343-
end
344-
rev = false
345-
weak_rev = false
346-
testreversibility(rn, reactioncomplexes(rn)[2], rev, weak_rev)
347-
end
348-
let
349-
rn = @reaction_network begin
350-
k1, A --> B
351-
k2, A --> C
352-
k3, B + C --> 2A
353-
end
354-
rev = false
355-
weak_rev = false
356-
testreversibility(rn, reactioncomplexes(rn)[2], rev, weak_rev)
357-
end
358-
let
359-
rn = @reaction_network begin
360-
(k2, k1), A <--> 2B
361-
(k4, k3), A + C --> D
362-
k5, D --> B + E
363-
k6, B + E --> A + C
364-
end
365-
rev = false
366-
weak_rev = true
367-
testreversibility(rn, reactioncomplexes(rn)[2], rev, weak_rev)
368-
end
369-
let
370-
rn = @reaction_network begin
371-
(k2, k1), A + E <--> AE
372-
k3, AE --> B + E
373-
end
374-
rev = false
375-
weak_rev = false
376-
testreversibility(rn, reactioncomplexes(rn)[2], rev, weak_rev)
377-
end
378-
let
379-
rn = @reaction_network begin
380-
(k2, k1), A + E <--> AE
381-
(k4, k3), AE <--> B + E
382-
end
383-
rev = true
384-
weak_rev = true
385-
testreversibility(rn, reactioncomplexes(rn)[2], rev, weak_rev)
386-
end
387-
let
388-
rn = @reaction_network begin (k2, k1), A + B <--> 2A end
389-
rev = true
390-
weak_rev = true
391-
testreversibility(rn, reactioncomplexes(rn)[2], rev, weak_rev)
392-
end
393-
let
394-
rn = @reaction_network begin
395-
k1, A + B --> 3A
396-
k2, 3A --> 2A + C
397-
k3, 2A + C --> 2B
398-
k4, 2B --> A + B
399-
end
400-
rev = false
401-
weak_rev = true
402-
testreversibility(rn, reactioncomplexes(rn)[2], rev, weak_rev)
403-
end
404-
let
405-
rn = @reaction_network begin
406-
(k2, k1), A + E <--> AE
407-
(k4, k3), AE <--> B + E
408-
k5, B --> 0
409-
k6, 0 --> A
410-
end
411-
rev = false
412-
weak_rev = false
413-
testreversibility(rn, reactioncomplexes(rn)[2], rev, weak_rev)
414-
end
415-
416303
### Other Tests ###
417304

418305
let
@@ -504,76 +391,6 @@ let
504391
@test norm(sol.u - sol5.u) 0
505392
end
506393

507-
# Test conservation law elimination.
508-
let
509-
rn = @reaction_network begin
510-
(k1, k2), A + B <--> C
511-
(m1, m2), D <--> E
512-
b12, F1 --> F2
513-
b23, F2 --> F3
514-
b31, F3 --> F1
515-
end
516-
osys = complete(convert(ODESystem, rn; remove_conserved = true))
517-
@unpack A, B, C, D, E, F1, F2, F3, k1, k2, m1, m2, b12, b23, b31 = osys
518-
u0 = [A => 10.0, B => 10.0, C => 0.0, D => 10.0, E => 0.0, F1 => 8.0, F2 => 0.0,
519-
F3 => 0.0]
520-
p = [k1 => 1.0, k2 => 0.1, m1 => 1.0, m2 => 2.0, b12 => 1.0, b23 => 2.0, b31 => 0.1]
521-
tspan = (0.0, 20.0)
522-
oprob = ODEProblem(osys, u0, tspan, p)
523-
sol = solve(oprob, Tsit5(); abstol = 1e-10, reltol = 1e-10)
524-
oprob2 = ODEProblem(rn, u0, tspan, p)
525-
sol2 = solve(oprob2, Tsit5(); abstol = 1e-10, reltol = 1e-10)
526-
oprob3 = ODEProblem(rn, u0, tspan, p; remove_conserved = true)
527-
sol3 = solve(oprob3, Tsit5(); abstol = 1e-10, reltol = 1e-10)
528-
529-
tv = range(tspan[1], tspan[2], length = 101)
530-
for s in species(rn)
531-
@test isapprox(sol(tv, idxs = s), sol2(tv, idxs = s))
532-
@test isapprox(sol2(tv, idxs = s), sol2(tv, idxs = s))
533-
end
534-
535-
nsys = complete(convert(NonlinearSystem, rn; remove_conserved = true))
536-
nprob = NonlinearProblem{true}(nsys, u0, p)
537-
nsol = solve(nprob, NewtonRaphson(); abstol = 1e-10)
538-
nprob2 = ODEProblem(rn, u0, (0.0, 100.0 * tspan[2]), p)
539-
nsol2 = solve(nprob2, Tsit5(); abstol = 1e-10, reltol = 1e-10)
540-
nprob3 = NonlinearProblem(rn, u0, p; remove_conserved = true)
541-
nsol3 = solve(nprob3, NewtonRaphson(); abstol = 1e-10)
542-
for s in species(rn)
543-
@test isapprox(nsol[s], nsol2(tspan[2], idxs = s))
544-
@test isapprox(nsol2(tspan[2], idxs = s), nsol3[s])
545-
end
546-
547-
u0 = [A => 100.0, B => 20.0, C => 5.0, D => 10.0, E => 3.0, F1 => 8.0, F2 => 2.0,
548-
F3 => 20.0]
549-
ssys = complete(convert(SDESystem, rn; remove_conserved = true))
550-
sprob = SDEProblem(ssys, u0, tspan, p)
551-
sprob2 = SDEProblem(rn, u0, tspan, p)
552-
sprob3 = SDEProblem(rn, u0, tspan, p; remove_conserved = true)
553-
ists = ModelingToolkit.get_unknowns(ssys)
554-
sts = ModelingToolkit.get_unknowns(rn)
555-
istsidxs = findall(in(ists), sts)
556-
u1 = copy(sprob.u0)
557-
u2 = sprob2.u0
558-
u3 = copy(sprob3.u0)
559-
du1 = similar(u1)
560-
du2 = similar(u2)
561-
du3 = similar(u3)
562-
g1 = zeros(length(u1), numreactions(rn))
563-
g2 = zeros(length(u2), numreactions(rn))
564-
g3 = zeros(length(u3), numreactions(rn))
565-
sprob.f(du1, u1, sprob.p, 1.0)
566-
sprob2.f(du2, u2, sprob2.p, 1.0)
567-
sprob3.f(du3, u3, sprob3.p, 1.0)
568-
@test isapprox(du1, du2[istsidxs])
569-
@test isapprox(du2[istsidxs], du3)
570-
sprob.g(g1, u1, sprob.p, 1.0)
571-
sprob2.g(g2, u2, sprob2.p, 1.0)
572-
sprob3.g(g3, u3, sprob3.p, 1.0)
573-
@test isapprox(g1, g2[istsidxs, :])
574-
@test isapprox(g2[istsidxs, :], g3)
575-
end
576-
577394
# Tests non-integer stoichiometry.
578395
let
579396
function test_stoich(T, rn)

test/miscellaneous_tests/compound_macro.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ let
214214
@test isequal(component_coefficients(A2), component_coefficients(B2))
215215
end
216216

217-
### Check @compounds Macro ###
217+
### Test @compounds Macro ###
218218

219219
# Basic @compounds syntax.
220220
let

test/miscellaneous_tests/reaction_balancing.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ t = default_t()
88

99
### Basic Tests ###
1010

11-
# Functionality tests (a).
11+
# Functionality tests (1).
1212
let
1313
@parameters k
1414
@species H(t) O(t)
@@ -33,7 +33,7 @@ let
3333
@test isequal(brxs, brxs_macro)
3434
end
3535

36-
# Functionality tests (a).
36+
# Functionality tests (2).
3737
let
3838
@parameters k
3939
@species C(t) H(t) O(t)
@@ -58,7 +58,7 @@ let
5858
end
5959

6060

61-
### Test Across Various Reactions ###
61+
### Test Using Various Reactions ###
6262

6363
# @reaction k, H2O --> H2O
6464
let

0 commit comments

Comments
 (0)