Published December 26, 2025
| Version v1
Computational notebook
Open
The generic geometry of steady state varieties
Authors/Creators
Description
This repository contains files for the manuscript The generic geometry of steady state varieties by Elisenda Feliu, Oskar Henriksson, and Beatriz Pascual-Escudero.
File descriptions
The repository contains the following files:
- A Julia file
functions.jlthat contains functions for testing whether a network admits positive nondegenerate steady states when modeled with (generalized) mass action kinetics. - Two notebooks with examples:
IDH.ipynbfor the isocitrate dehydrogenase network in Example 4.1 of the paper.-
167.ipynbfor the networkBIOMD0000000167from ODEbase discussed in Example 4.11 of the paper.
- Files from the database results presented in the paper:
investigated_models.csvwith all consistent networks in ODEbase (as of November 2, 2023) with at least one reaction with integer stoichiometric coefficients. The networks that do not satisfy this are listed inexcluded_networks.csv.nondegenerate_networks.csvwith all networks frominvestigated_models.csvthat admit a positive nondegenerate steady state.degenerate_networks.csvwith all networks frominvestigated_models.csvthat have a positive steady states, but all of them are degenerate.generic_local_acr.csvwith all networks frominvestigated_models.csvthat satisfy the following criteria:- admits nondegenerate positive steady states
- is not of full rank (after removing nonparticipating species)
- has generic local ACR in at least one speceis.
Dependencies
The Julia code is based on Catalyst v14.4.1 and Oscar v1.1.1. For exact dependencies, see the file
Manifest.toml.Julia example
We begin by loading the functions:
include("functions.jl");
Consider the following isocitrate dehydrogenase that appears in Shinar–Feinberg's work on absolute concentration robustness, entered in Catalyst format.
rn = @reaction_network begink1, X1 + X2 --> X3k2, X3 --> X1 + X2k3, X3 --> X1 + X4k4, X3 + X4 --> X5k5, X5 --> X3 + X4k6, X5 --> X2 + X3end;
The following command returns true, which means that the network admits positive steady states:
julia> is_consistent(rn)true
The following command returns true, which means that there is a nondegenerate steady state with respect to its stoichiometric compatibility classes:
julia> has_nondegenerate_steady_state(rn, use_conservation_laws=true)true
We check for generic local ACR with respect to the first and fourth species:
julia> generic_local_acr(rn, 1)falsejulia> generic_local_acr(rn, 4)true
For the fourth species, we get the following polynomial as a witness for ACR:
julia> local_acr_polynomial(rn, 4)k[4]*k[6]*x[4] - k[3]*k[5] - k[3]*k[6]
We could also do these checks on the level of the matrices that describe the associated augmented vertical system:
N = matrix(QQ, netstoichmat(rn))B = matrix(ZZ, substoichmat(rn))L = matrix(QQ, conservationlaws(rn))has_nondegenerate_zero(N, B, L)generic_local_acr(N, B, 1)generic_local_acr(N, B, 4)local_acr_polynomial(N, B, 4)
Files
167.ipynb
Files
(235.0 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:afeb9aa7594ecfb0c086600349a1e095
|
8.8 kB | Preview Download |
|
md5:932b7392105bca6bfe32104ea672563b
|
95 Bytes | Preview Download |
|
md5:c1445d82a5395e1c00c8c70156e4914d
|
4.8 kB | Preview Download |
|
md5:26ccfab65664ca742ea7c6c380508892
|
4.9 kB | Preview Download |
|
md5:20c1ed608edf925a7a4adfcd71a22ad7
|
4.9 kB | Download |
|
md5:f09cc7f1c0f4a130abd7eea69b82cb81
|
767 Bytes | Preview Download |
|
md5:020537b9ef8eba5ced0a4da518b0da49
|
6.6 kB | Preview Download |
|
md5:f105fdd5229f0fa5546c0b3407512dfc
|
5.8 kB | Preview Download |
|
md5:66b15874e9ec72a73d1ae07042ce45d2
|
77.7 kB | Download |
|
md5:bec54b5adce0a1226331aa892e5786f6
|
5.7 kB | Preview Download |
|
md5:1ff02601940665f8895b420f2d22754e
|
104 Bytes | Download |
|
md5:35c5d14c4cd9600fc58583e1f15c8781
|
65.2 kB | Preview Download |
|
md5:56c2fb2dfc5783e9820d31fe8dd034ee
|
49.6 kB | Preview Download |
Additional details
Related works
- Is supplement to
- Preprint: arXiv:2412.17798 (arXiv)
Software
- Repository URL
- https://github.com/oskarhenriksson/generic-steady-state-geometry
- Programming language
- Julia