Skip to content

Commit 0279b3c

Browse files
Merge pull request #5 from ChrisRackauckas/fix-formatting
Apply JuliaFormatter to fix code formatting
2 parents ef95f56 + 14ed59f commit 0279b3c

26 files changed

+562
-482
lines changed

.JuliaFormatter.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
style = "sciml"
2+
format_markdown = true
3+
format_docstrings = true

docs/make.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using Documenter
2-
using CatalystNetworkAnalysis, Catalyst
2+
using CatalystNetworkAnalysis, Catalyst
33

44
makedocs(
55
sitename = "CatalystNetworkAnalysis.jl",
@@ -17,6 +17,6 @@ makedocs(
1717
)
1818

1919
deploydocs(
20-
repo = "github.com/SciML/CatalystNetworkAnalysis.jl.git";
21-
push_preview = true
20+
repo = "github.com/SciML/CatalystNetworkAnalysis.jl.git";
21+
push_preview = true
2222
)

docs/src/Algorithms.md

Lines changed: 30 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,37 @@
11
# Network Analysis Algorithms Overview
2-
There are a few dynamical properties of particular interest that network approaches can shed some light on.
3-
1. Existence + uniqueness of steady states
4-
2. Persistence
5-
3. Concentration Robustness
62

7-
Algorithms used by this package to decide these properties are detailed on this page. A significant number of the results can be found in the *Foundations of Chemical Reaction Network Theory* textbook, by Martin Feinberg[^1].
3+
There are a few dynamical properties of particular interest that network approaches can shed some light on.
84

9-
In general these properties will depend on the choices of parameters for the system and on the initial conditions (which can be provided as a dictionary, vector, or tuple of `Pair`, as described in the homepage). Many networks have multiple steady states for some set of rate constants but not others.
5+
1. Existence + uniqueness of steady states
6+
2. Persistence
7+
3. Concentration Robustness
8+
9+
Algorithms used by this package to decide these properties are detailed on this page. A significant number of the results can be found in the *Foundations of Chemical Reaction Network Theory* textbook, by Martin Feinberg[^1].
10+
11+
In general these properties will depend on the choices of parameters for the system and on the initial conditions (which can be provided as a dictionary, vector, or tuple of `Pair`, as described in the homepage). Many networks have multiple steady states for some set of rate constants but not others.
1012

1113
Additionally, the dynamical properties of the system may depend on the initial conditions of the network, which define the **stoichiometric compatibility class** that the network evolves in. The stoichiometric compatibility class is the set of points in concentration space that are reachable from a given initial condition, which is an affine subspace $$u_0 + S$$
1214

13-
When we say that a network is multistationary, or has the capacity for multiple steady states, what that means is that there is *some* stoichiometric compatibility class for which this is true. This means that there may be only one or zero steady states in some other stoichiometric compatibility class. The SCC can be inferred from the initial concentrations of the species in a reaction network via the network's conservation laws.
15+
When we say that a network is multistationary, or has the capacity for multiple steady states, what that means is that there is *some* stoichiometric compatibility class for which this is true. This means that there may be only one or zero steady states in some other stoichiometric compatibility class. The SCC can be inferred from the initial concentrations of the species in a reaction network via the network's conservation laws.
16+
17+
The summary function for the package is `networksummary`.
1418

15-
The summary function for the package is `networksummary`.
1619
```@docs
1720
networksummary
1821
```
1922

2023
## Uniqueness of Steady States
21-
The functionality that decides uniqueness of steady states is in the function `hasuniqueequilibria(rn)`. The uniqueness of steady states checks proceeds as follows. The function terminates every time a network is conclusively determined to have unique steady states or multi-stationarity.
2224

23-
1. **Deficiency one and deficiency zero theorems**: a reaction network that satisfies the conditions of these two theorems will be guaranteed to have a unique steady state for every stoichiometric compatibility class.[^1]
24-
2. **Deficiency one and higher deficiency algorithm**: Both of these algorithms construct inequality systems that, if satsifiable, would indicate that a reaction network has the ability to admit multiple steady states in a given stoichiometric compatibility class.[^2]
25-
3. **Concordance**: This is a graph property that guarantees the uniqueness of steady states, since it guarantees that the species-formation rate function is injective. As a result, there is only one solution to $\frac{dc}{dt} = 0$.[^2]
25+
The functionality that decides uniqueness of steady states is in the function `hasuniqueequilibria(rn)`. The uniqueness of steady states checks proceeds as follows. The function terminates every time a network is conclusively determined to have unique steady states or multi-stationarity.
26+
27+
1. **Deficiency one and deficiency zero theorems**: a reaction network that satisfies the conditions of these two theorems will be guaranteed to have a unique steady state for every stoichiometric compatibility class.[^1]
28+
2. **Deficiency one and higher deficiency algorithm**: Both of these algorithms construct inequality systems that, if satsifiable, would indicate that a reaction network has the ability to admit multiple steady states in a given stoichiometric compatibility class.[^2]
29+
3. **Concordance**: This is a graph property that guarantees the uniqueness of steady states, since it guarantees that the species-formation rate function is injective. As a result, there is only one solution to $\frac{dc}{dt} = 0$.[^2]
2630

27-
Future desiderata for this check include methods from **monotone systems theory**,**degree theory**, and **embedded multi-stationary networks** - see the [Roadmap] for the package.
31+
Future desiderata for this check include methods from **monotone systems theory**,**degree theory**, and **embedded multi-stationary networks** - see the [Roadmap] for the package.
32+
33+
Other functionality related to the existence and uniqueness of steady states:
2834

29-
Other functionality related to the existence and uniqueness of steady states:
3035
```@docs
3136
# CatalystNetworkAnalysis.haspositivesteadystates
3237
# CatalystNetworkAnalysis.hasperiodicsolutions
@@ -43,12 +48,14 @@ deficiencyonealgorithm
4348
Additionally, one might check the functions `iscomplexbalanced()` and `isdetailedbalanced()` implemented in the main Catalyst package, which work for kinetic systems (reaction networks with an assignment of parameter values). Both of these conditions are sufficient to guarantee that the reaction network will have unique steady states, for a given choice of parameters, and that these steady states will be *asymptotically stable* within each stoichiometric compatibility class.[^1]
4449

4550
## Stability
51+
4652
Bistability is a very important property of reaction networks, since switchlike behavior in biological networks is realized through bistability. The network analysis package currently does not have any tooling for stability analysis, but please see [this section](https://docs.sciml.ai/Catalyst/stable/steady_state_functionality/steady_state_stability_computation/) of the main Catalyst documentation for some tips.
4753

4854
## Persistence
49-
A chemical reaction network is persistent if each species does not "die out" - that is, if the initial condition of the network has positive concentration in a given species, that species' concentration will never go to zero.
5055

51-
It is not currently possible to conclusively determine persistence in every case. The approach used by this package checks the necessary conditions and sufficient conditions outlined in this paper.[^4] Many persistent networks will be detectably persistent via this algorithm, and many non-persistent networks will be detectably non-persistent, but the function will return inconclusive in many cases.
56+
A chemical reaction network is persistent if each species does not "die out" - that is, if the initial condition of the network has positive concentration in a given species, that species' concentration will never go to zero.
57+
58+
It is not currently possible to conclusively determine persistence in every case. The approach used by this package checks the necessary conditions and sufficient conditions outlined in this paper.[^4] Many persistent networks will be detectably persistent via this algorithm, and many non-persistent networks will be detectably non-persistent, but the function will return inconclusive in many cases.
5259

5360
```@docs
5461
ispersistent
@@ -58,12 +65,13 @@ minimalsiphons
5865
The Petri net algorithm relies on detecting siphons in the network, which follows a SAT-solver approach[^5] [^6].
5966

6067
### Concentration Robustness
61-
A species in a reaction network has concentration robustness if its concentration in any steady state of the reaction network is the same. Species with this property will have the same concentration regardless of initial conditions or perturbations to the system.
6268

63-
1. **Deficiency results**: these are very limited to deficiency one networks, in which robust species can be detected from the complex composition matrix. Additionally, there is a necessary deficiency-related condition for networks to have ACR, which can be used to detect networks without ACR[^3].
64-
2. **Algebraic results**: this class of results relies on results from real algebraic geometry. A network is concentration-robust if the locus of steady states lies entirely within a hyperplane where some species concentration is constant. Often, this boils down to finding basis elements of the form $(x_i - \alpha)$ for the steady state ideal[^8].
69+
A species in a reaction network has concentration robustness if its concentration in any steady state of the reaction network is the same. Species with this property will have the same concentration regardless of initial conditions or perturbations to the system.
6570

66-
Like persistence, absolute concentration robustness currently cannot be detected conclusively in every case.
71+
1. **Deficiency results**: these are very limited to deficiency one networks, in which robust species can be detected from the complex composition matrix. Additionally, there is a necessary deficiency-related condition for networks to have ACR, which can be used to detect networks without ACR[^3].
72+
2. **Algebraic results**: this class of results relies on results from real algebraic geometry. A network is concentration-robust if the locus of steady states lies entirely within a hyperplane where some species concentration is constant. Often, this boils down to finding basis elements of the form $(x_i - \alpha)$ for the steady state ideal[^8].
73+
74+
Like persistence, absolute concentration robustness currently cannot be detected conclusively in every case.
6775

6876
```@docs
6977
isconcentrationrobust
@@ -72,36 +80,21 @@ isconcentrationrobust
7280
Misc references[^9] [^10] [^11] [^12] [^13] [^14] [^15] [^16] [^17] [^18].
7381

7482
## References
75-
[^1]: Feinberg, M. Foundations of Chemical Reaction Network Theory; Applied Mathematical Sciences; Springer International Publishing: Cham, 2019; Vol. 202. https://doi.org/10.1007/978-3-030-03858-8.
76-
77-
[^2]: Ji, H. Uniqueness of Equilibria for Complex Chemical Reaction Networks. Ph.D. Thesis, The Ohio State University, Columbus, OH, 2011.
7883

84+
[^1]: Feinberg, M. Foundations of Chemical Reaction Network Theory; Applied Mathematical Sciences; Springer International Publishing: Cham, 2019; Vol. 202. https://doi.org/10.1007/978-3-030-03858-8.
85+
[^2]: Ji, H. Uniqueness of Equilibria for Complex Chemical Reaction Networks. Ph.D. Thesis, The Ohio State University, Columbus, OH, 2011.
7986
[^3]: Eloundou-Mbebi, J. M. O.; Küken, A.; Omranian, N.; Kleessen, S.; Neigenfind, J.; Basler, G.; Nikoloski, Z. A Network Property Necessary for Concentration Robustness. Nat Commun 2016, 7 (1), 13255. https://doi.org/10.1038/ncomms13255.
80-
8187
[^4]: Angeli, D.; De Leenheer, P.; Sontag, E. D. A Petri Net Approach to the Study of Persistence in Chemical Reaction Networks. Math Biosci 2007, 210 (2), 598–618. https://doi.org/10.1016/j.mbs.2007.07.003.
82-
8388
[^5]: Shiu, A.; Sturmfels, B. Siphons in Chemical Reaction Networks. Bull. Math. Biol. 2010, 72 (6), 1448–1463. https://doi.org/10.1007/s11538-010-9502-y.
84-
8589
[^6]: Nabli, F.; Martinez, T.; Fages, F.; Soliman, S. On Enumerating Minimal Siphons in Petri Nets Using CLP and SAT Solvers: Theoretical and Practical Complexity. Constraints 2016, 21 (2), 251–276. https://doi.org/10.1007/s10601-015-9190-1.
86-
8790
[^8]: Puente, L. D. G.; Gross, E.; Harrington, H. A.; Johnston, M.; Meshkat, N.; Millán, M. P.; Shiu, A. Absolute Concentration Robustness: Algebra and Geometry. arXiv December 29, 2023. http://arxiv.org/abs/2401.00078 (accessed 2024-09-27).
88-
8991
[^9]: Johnston, M. D.; Müller, S.; Pantea, C. A Deficiency-Based Approach to Parametrizing Positive Equilibria of Biochemical Reaction Systems. arXiv May 23, 2018. http://arxiv.org/abs/1805.09295 (accessed 2024-09-09).
90-
9192
[^10]: Craciun, G.; Jin, J.; Yu, P. Y. An Efficient Characterization of Complex-Balanced, Detailed-Balanced, and Weakly Reversible Systems. SIAM J. Appl. Math. 2020, 80 (1), 183–205. https://doi.org/10.1137/19M1244494.
92-
9393
[^11]: Loman, T. E.; Ma, Y.; Ilin, V.; Gowda, S.; Korsbo, N.; Yewale, N.; Rackauckas, C.; Isaacson, S. A. Catalyst: Fast and Flexible Modeling of Reaction Networks.
94-
9594
[^12]: Angeli, D.; Ferrell, J. E.; Sontag, E. D. Detection of Multistability, Bifurcations, and Hysteresis in a Large Class of Biological Positive-Feedback Systems. Proceedings of the National Academy of Sciences 2004, 101 (7), 1822–1827. https://doi.org/10.1073/pnas.0308265100.
96-
9795
[^13]: Müller, S.; Regensburger, G. Generalized Mass Action Systems: Complex Balancing Equilibria and Sign Vectors of the Stoichiometric and Kinetic-Order Subspaces. SIAM J. Appl. Math. 2012, 72 (6), 1926–1947. https://doi.org/10.1137/110847056.
98-
9996
[^14]: Conradi, C.; Feliu, E.; Mincheva, M.; Wiuf, C. Identifying Parameter Regions for Multistationarity. PLoS Comput Biol 2017, 13 (10), e1005751. https://doi.org/10.1371/journal.pcbi.1005751.
100-
10197
[^15]: Craciun, G.; Nazarov, F.; Pantea, C. Persistence and Permanence of Mass-Action and Power-Law Dynamical Systems. SIAM J. Appl. Math. 2013, 73 (1), 305–329. https://doi.org/10.1137/100812355.
102-
10398
[^16]: Knight, D.; Shinar, G.; Feinberg, M. Sharper Graph-Theoretical Conditions for the Stabilization of Complex Reaction Networks. Math Biosci 2015, 262, 10–27. https://doi.org/10.1016/j.mbs.2015.01.002.
104-
10599
[^17]: Müller, S.; Feliu, E.; Regensburger, G.; Conradi, C.; Shiu, A.; Dickenstein, A. Sign Conditions for Injectivity of Generalized Polynomial Maps with Applications to Chemical Reaction Networks and Real Algebraic Geometry. arXiv October 30, 2014. http://arxiv.org/abs/1311.5493 (accessed 2024-08-15).
106-
107100
[^18]: Johnston, M. D. Translated Chemical Reaction Networks. Bull Math Biol 2014, 76 (5), 1081–1116. https://doi.org/10.1007/s11538-014-9947-5.

docs/src/ROADMAP.md

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,27 @@
11
# Roadmap for algorithms to be added
2+
23
### Long-term dynamical properties
34

4-
1. Implementing detection for [endotactic networks](https://arxiv.org/abs/1808.05328)
5-
2. Detection for [permanence in networks](https://arxiv.org/abs/1010.3050)
6-
7-
### Deciding multiple steady states
8-
1. Detecting multistationarity via embedded atoms of multistationarity, see sections 4 and 5 [here](https://arxiv.org/abs/1412.5257)
9-
2. Detecting injectivity (which precludes multiple steady states) via [sign conditions](https://arxiv.org/abs/1311.5493)
10-
3. Preluding multistationarity with [degree theory](https://arxiv.org/abs/1411.2896)
11-
4. Precluding multistationarity with [monotone systems](https://www.researchgate.net/profile/Eduardo-Sontag/publication/260146749_Design_and_Analysis_of_Biomolecular_Circuits/links/58656a0d08ae8fce490c2525/Design-and-Analysis-of-Biomolecular-Circuits.pdf)
12-
5. [Species-reaction graph](https://arxiv.org/abs/1805.10371) checks for concordance and multistationarity (see section 3)
13-
5+
1. Implementing detection for [endotactic networks](https://arxiv.org/abs/1808.05328)
6+
2. Detection for [permanence in networks](https://arxiv.org/abs/1010.3050)
7+
8+
### Deciding multiple steady states
9+
10+
1. Detecting multistationarity via embedded atoms of multistationarity, see sections 4 and 5 [here](https://arxiv.org/abs/1412.5257)
11+
2. Detecting injectivity (which precludes multiple steady states) via [sign conditions](https://arxiv.org/abs/1311.5493)
12+
3. Preluding multistationarity with [degree theory](https://arxiv.org/abs/1411.2896)
13+
4. Precluding multistationarity with [monotone systems](https://www.researchgate.net/profile/Eduardo-Sontag/publication/260146749_Design_and_Analysis_of_Biomolecular_Circuits/links/58656a0d08ae8fce490c2525/Design-and-Analysis-of-Biomolecular-Circuits.pdf)
14+
5. [Species-reaction graph](https://arxiv.org/abs/1805.10371) checks for concordance and multistationarity (see section 3)
15+
1416
### Translated reaction networks, analytic/symbolic results, steady-state parameterizations
15-
4. Stitching analytic steady states from [translated RNs](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011039)
16-
5. Inferring parameter regions from translated reaction networks, see [here](https://arxiv.org/abs/1608.03993) and [here](https://arxiv.org/pdf/1805.09295)
17-
6. Detecting multistationarity by looking for [sign changes in positive parameterizations](https://people.tamu.edu/~annejls/papers/structured.pdf)
18-
7. Improving methods for finding [minimum-deficiency translations of reaction networks](https://arxiv.org/pdf/1710.10637)
17+
18+
4. Stitching analytic steady states from [translated RNs](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011039)
19+
5. Inferring parameter regions from translated reaction networks, see [here](https://arxiv.org/abs/1608.03993) and [here](https://arxiv.org/pdf/1805.09295)
20+
6. Detecting multistationarity by looking for [sign changes in positive parameterizations](https://people.tamu.edu/%7Eannejls/papers/structured.pdf)
21+
7. Improving methods for finding [minimum-deficiency translations of reaction networks](https://arxiv.org/pdf/1710.10637)
1922

2023
### Beyond Mass Action
21-
1. Power law kinetics?
22-
2. Generalized mass action systems
23-
3. Systems with parameter-dependent stoichiometric coefficients?
24+
25+
1. Power law kinetics?
26+
2. Generalized mass action systems
27+
3. Systems with parameter-dependent stoichiometric coefficients?

0 commit comments

Comments
 (0)