Skip to content

Latest commit

 

History

History
39 lines (31 loc) · 2.71 KB

README.md

File metadata and controls

39 lines (31 loc) · 2.71 KB

CatalystNetworkAnalysis (not quite release-ready)

Build Status ColPrac: Contributor's Guide on Collaborative Practices for Community Packages SciML Code Style

CatalystNetworkAnalysis is a package providing analysis utilities for reaction networks defined in Catalyst.jl. CatalystNetworkAnalysis provides the ability to determine dynamic properties of reaction networks, such as the ability to admit multiple steady states, the existence of species with concentrations robust to perturbation, persistence, and more. The algorithms implemented in the package extract information from the graph structure of ReactionSystems or the algebraic structure of their polynomial differential equations. For a full set of dynamical properties of networks that this package can shed light on, along with citations for the algorithms implemented, please see the [documentation].

Examples

To use this package, first install it and Catalyst from the Julia package manager:

pkg> add Catalyst, CatalystNetworkAnalysis

Then, import a desired reaction network for analysis using tools like ReactionNetworkImporters or create a chemical reaction network, e.g. by using Catalyst's DSL. Note that the network must be of Catalyst's ReactionSystem.

# The Horn-Jackson network
rn = @reaction_network begin
    k1, 3A --> 2A + B
    k2, 2A + B --> 3B
    k1, 3B --> 2A + B
    k2, 2A + B --> 3A
end

Finally we can pass the reaction network into CatalystNetworkAnalysis's utilities. The main function is a networksummary that collates dynamical information computed for the network at-a-glance.

networksummary(rn)

Some functions will optionally take initial conditions u0 or parameter maps p, which should be specified as Dict, Vector{Pair}, or Tuple{Pair}.

p = [:k1 => 1., k2 => 0.15]
networksummary(rn; p = p)

Getting help or getting involved

Catalyst and CatalystNetworkAnalysis developers are active on the Julia Discourse and the Julia Slack channels #sciml-bridged and #sciml-sysbio. For bugs or feature requests, open an issue.