Skip to content

Commit 507ae86

Browse files
authored
Merge pull request #701 from SciML/PEtab_tutorial_2
Inverse problem doc remake and new petab tutorial
2 parents 7a53667 + c3550a9 commit 507ae86

13 files changed

+739
-15
lines changed

docs/Project.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
[deps]
22
BifurcationKit = "0f109fa4-8a5d-4b75-95aa-f515264e7665"
33
Catalyst = "479239e8-5488-4da2-87a7-35f2df7eef83"
4+
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
45
DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa"
56
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
67
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
78
HomotopyContinuation = "f213a82b-91d6-5c5d-acf7-10f1c761b327"
89
Latexify = "23fbe1c1-3f47-55db-b15f-69d7ec21a316"
910
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
1011
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
12+
Optim = "429524aa-4258-5aef-a3af-852621145aeb"
1113
Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba"
1214
OptimizationOptimisers = "42dfb2eb-d2b4-4451-abcd-913932933ac1"
1315
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
16+
PEtab = "48d54b35-e43e-4a66-a5a1-dde6b987cf69"
1417
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
18+
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
1519
SciMLSensitivity = "1ed8b502-d754-442c-8d5d-10ac956f44a1"
1620
Setfield = "efcf1570-3423-57d1-acb7-fd33fddbac46"
1721
SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"
@@ -21,17 +25,21 @@ Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
2125
[compat]
2226
BifurcationKit = "0.3"
2327
Catalyst = "13"
28+
DataFrames = "1"
2429
DifferentialEquations = "7.7"
2530
Distributions = "0.25"
2631
Documenter = "0.27"
2732
HomotopyContinuation = "2.6"
2833
Latexify = "0.15, 0.16"
2934
ModelingToolkit = "8.47"
3035
NonlinearSolve = "1.6.0, 2"
36+
Optim = "1"
3137
Optimization = "3.19"
3238
OptimizationOptimisers = "0.1.1"
3339
OrdinaryDiffEq = "6"
40+
PEtab = "2"
3441
Plots = "1.36"
42+
SciMLBase = "~2.5"
3543
SciMLSensitivity = "7.19"
3644
Setfield = "1.1"
3745
SpecialFunctions = "2.1"

docs/pages.jl

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
pages = Any["Home" => "index.md",
22
"Introduction to Catalyst" => Any["introduction_to_catalyst/catalyst_for_new_julia_users.md",
3-
"introduction_to_catalyst/introduction_to_catalyst.md"],
3+
"introduction_to_catalyst/introduction_to_catalyst.md" ],
44
"Catalyst Functionality" => Any["catalyst_functionality/dsl_description.md",
55
"catalyst_functionality/programmatic_CRN_construction.md",
66
"catalyst_functionality/compositional_modeling.md",
77
"catalyst_functionality/constraint_equations.md",
88
"catalyst_functionality/parametric_stoichiometry.md",
9-
"catalyst_functionality/network_analysis.md"],
9+
"catalyst_functionality/network_analysis.md",
10+
"Model creation examples" => Any["catalyst_functionality/example_networks/basic_CRN_examples.md",
11+
"catalyst_functionality/example_networks/hodgkin_huxley_equation.md",
12+
"catalyst_functionality/example_networks/smoluchowski_coagulation_equation.md"]],
1013
"Catalyst Applications" => Any["catalyst_applications/simulation_structure_interfacing.md",
1114
"catalyst_applications/advanced_simulations.md",
1215
"catalyst_applications/homotopy_continuation.md",
13-
"catalyst_applications/bifurcation_diagrams.md",
14-
"catalyst_applications/parameter_estimation.md"],
15-
"Example Networks" => Any["example_networks/basic_CRN_examples.md",
16-
"example_networks/hodgkin_huxley_equation.md",
17-
"example_networks/smoluchowski_coagulation_equation.md"],
16+
"catalyst_applications/bifurcation_diagrams.md"],
17+
"Inverse Problems" => Any["inverse_problems/parameter_estimation.md",
18+
"inverse_problems/petab_ode_param_fitting.md"],
1819
"FAQs" => "faqs.md",
19-
"API" => "api/catalyst_api.md"]
20+
"API" => "api/catalyst_api.md"]

docs/src/assets/petab_best_objective.svg

Lines changed: 88 additions & 0 deletions
Loading

docs/src/assets/petab_waterfall.svg

Lines changed: 88 additions & 0 deletions
Loading

docs/src/catalyst_applications/simulation_structure_interfacing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ sol[:k1]
9999
```
100100
Finally, we note that we cannot change the values of solution states or parameters (i.e. both `sol[:X1] = 0.0` and `sol[:k1] = 0.0` generate errors).
101101

102-
## Interfacing using symbolic representation
102+
## [Interfacing using symbolic representation](@id simulation_structure_interfacing_symbolic_representation)
103103

104104
Catalyst is built on an *intermediary representation* implemented by (ModelingToolkit.jl)[https://github.com/SciML/ModelingToolkit.jl]. ModelingToolkit is a modelling framework where one first declares a set of symbolic variables and parameters using e.g.
105105
```@example ex2

docs/src/catalyst_functionality/constraint_equations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ sol = solve(oprob, Tsit5())
8585
plot(sol)
8686
```
8787

88-
## Adding events
88+
## [Adding events](@id constraint_equations_events)
8989
Our current model is unrealistic in assuming the cell will grow exponentially
9090
forever. Let's modify it such that the cell divides in half every time its
9191
volume reaches a size of `2`. We also assume we lose half of the protein upon

docs/src/catalyst_functionality/dsl_description.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ sol = solve(oprob)
412412
plot(sol)
413413
```
414414

415-
## Setting initial conditions that depend on parameters
415+
## [Setting initial conditions that depend on parameters](@id dsl_description_parametric_initial_conditions)
416416
It is possible to set the initial condition of one (or several) species so that they depend on some system parameter. This is done in a similar way as default initial conditions, but giving the parameter instead of a value. When doing this, we also need to ensure that the initial condition parameter is a variable of the system:
417417
```@example tut2
418418
rn = @reaction_network begin

docs/src/example_networks/basic_CRN_examples.md renamed to docs/src/catalyst_functionality/example_networks/basic_CRN_examples.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ jprob = JumpProblem(rs, dprob, Direct())
8989
jsol = solve(jprob, SSAStepper())
9090
9191
plot(plot(osol; title = "Reaction Rate Equation ODEs"),
92-
plot(jsol; title = "Gillespie Jump Simulation");
92+
plot(jsol; title = "Stochastic Chemical Kinetics Jump Processes");
9393
layout = (2, 1))
9494
```
9595

docs/src/example_networks/smoluchowski_coagulation_equation.md renamed to docs/src/catalyst_functionality/example_networks/smoluchowski_coagulation_equation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ plot!(ϕ, sol[3,:]/Nₒ, line = (:dot,4,:purple), label="Analytical sol--X3",
127127
```
128128
For the **additive kernel** we find
129129

130-
![additive_kernel](../assets/additive_kernel.svg)
130+
![additive_kernel](../../assets/additive_kernel.svg)
131131

132132
---
133133
## References

0 commit comments

Comments
 (0)