SciML / Catalyst.jl

Chemical reaction network and systems biology interface for scientific machine learning (SciML). High performance, GPU-parallelized, and O(1) solvers in open source software.
https://docs.sciml.ai/Catalyst/stable/
Other
459 stars 77 forks source link

Network analysis algorithms #840

Open vyudu opened 4 months ago

vyudu commented 4 months ago

Hi all, this summer I'm planning on adding a lot of graph/network analysis features relevant for chemical reaction networks to Catalyst. A smattering of things this might include:

Let me know if people have other suggestions - I would like to focus on functionality that would be useful for practicing chemists/systems biologists, but am not super familiar with this literature. My focus over the next few weeks will be adding algorithms for different properties, rather than the summary/UI side, but if people have suggestions for the latter I'm also happy to hear them.

isaacsas commented 4 months ago

These look great to me!

vyudu commented 4 months ago

Methodology for the persistence check:

  1. Detect the set of minimal siphons in the reaction network, following Shiu et al., 2009
  2. Check necessary and sufficient conditions for persistence outlined in Angeli et al., 2007: a network is persistent iff it is consistent (S-matrix has right null eigenvector), conservative (S-matrix has left null eigenvector), and all of its siphons are not critical (i.e. they contain the support of a conservation law)
isaacsas commented 4 months ago

Persistence reference: "On Enumerating Minimal Siphons in Petri nets using CLP and SAT solvers: Theoretical and Practical Complexity"

vyudu commented 1 month ago

Absolute concentration robustness Higher deficiency algorithm and others Monotone Systems will not have multistationarity