Skip to content

Network analysis algorithms for reaction networks modeled using Catalyst.jl

License

Notifications You must be signed in to change notification settings

SciML/CatalystNetworkAnalysis.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Network analysis algorithms for reaction networks modeled using Catalyst.jl

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages