MomentClosure

Tools to generate and study moment equations for any chemical reaction network using various moment closure approximations

https://github.com/augustinas1/momentclosure.jl

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 19 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 5 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary

Keywords

chemical-reaction-networks gene-network gillespie-algorithm moment-closure moment-equations moments stochastic-processes systems-biology
Last synced: 6 months ago · JSON representation ·

Repository

Tools to generate and study moment equations for any chemical reaction network using various moment closure approximations

Basic Info
Statistics
  • Stars: 45
  • Watchers: 6
  • Forks: 6
  • Open Issues: 2
  • Releases: 5
Topics
chemical-reaction-networks gene-network gillespie-algorithm moment-closure moment-equations moments stochastic-processes systems-biology
Created about 5 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

MomentClosure.jl

Dev Build Status Coverage

MomentClosure.jl is a tool to automatically obtain time-evolution equations of moments up to an arbitrary order for virtually any chemical reaction network or system of stochastic differential equations (SDEs), implementing a wide array of moment closure approximations commonly used in stochastic biochemical kinetics [1]. MomentClosure is (attempted to be) fairly well-integrated within the broader Julia ecosystem utilising a number of familiar packages: - MomentClosure can be immediately applied to reaction network models defined using Catalyst and SDE systems built with ModelingToolkit. - Moment equations are generated as a ModelingToolkit ODESystem (with some extra help from Symbolics and SymbolicUtils). - The resulting ODESystem can be solved using any DifferentialEquations ODE solvers, enabling further study of the system using parameter estimation, sensitivity analysis and bifurcation analysis tools.

Tutorials and documentation

Please see the documentation for information on using the package, theory behind it and in-depth examples.

Features

  • Chemical reaction networks containing any number of molecular species and reactions with any type of smooth propensity functions are supported. Models can be defined using Catalyst as Catalyst.ReactionSystem. Alternatively, built-in functionality (heavily based on Catalyst) can be used for model initialisation.
  • Added support for reaction networks involving reaction products that are geometrically distributed random variables. An example of such network is an autoregulatory gene network with bursty protein production where the burst size follows a geometric distribution.
  • Equations describing the time evolution of means and central moments of the number of molecules of each species in the system can be generated up to arbitrary order [2, 3]. Note that non-polynomial propensity functions are Taylor expanded to a specified order. Raw moment equations can also be generated for mass-action systems (where all propensity functions are polynomials).
  • SDE systems defined as ModelingToolkit.SDESystem are supported (big thanks to @FHoltorf). Similarly to reaction networks with non-polynomial propensities, non-polynomial drift and diffusion coefficients are Taylor expanded.
  • Currently implemented moment closure approximations include:
    • zero (central-moment neglect) closure [2, 4]
    • normal closure [4]
    • poisson closure [4]
    • log-normal closure [5]
    • gamma closure [5]
    • derivative matching [6]
    • conditional gaussian closure [7]
    • conditional derivative matching [7]
    • linear mapping approximation [8]
  • Moment equations are constructed as a ModelingToolkit.ODESystem that can be solved using any DifferentialEquations ODE solver. Moreover, parameter estimation, sensitivity analysis and bifurcation analysis tools can be applied to further study the resulting system of equations.
  • Latexify can be used to generate LaTeX expressions of the corresponding moment equations.

Citation

If you use MomentClosure in your work, please cite our paper: @article{MomentClosure2021, author = {Sukys, Augustinas and Grima, Ramon}, title = "{MomentClosure.jl: automated moment closure approximations in Julia}", journal = {Bioinformatics}, volume = {38}, number = {1}, pages = {289-290}, year = {2021}, month = {06}, issn = {1367-4803}, doi = {10.1093/bioinformatics/btab469}, url = {https://doi.org/10.1093/bioinformatics/btab469}, eprint = {https://academic.oup.com/bioinformatics/article-pdf/38/1/289/41891091/btab469.pdf}, }

References

[1] D. Schnoerr, G. Sanguinetti, and R. Grima, "Approximation and inference methods for stochastic biochemical kinetics - a tutorial review", Journal of Physics A: Mathematical and Theoretical 50, 093001 (2017). https://doi.org/10.1088/1751-8121/aa54d9

[2]: A. Ale, P. Kirk, and M. P. H. Stumpf, "A general moment expansion method for stochastic kinetic models", The Journal of Chemical Physics 138, 174101 (2013). https://doi.org/10.1063/1.4802475

[3]: C. H. Lee, "A Moment Closure Method for Stochastic Chemical Reaction Networks with General Kinetics", MATCH Communications in Mathematical and in Computer Chemistry 70, 785-800 (2013). https://match.pmf.kg.ac.rs/electronicversions/Match70/n3/match70n3785-800.pdf

[4]: D. Schnoerr, G. Sanguinetti, and R. Grima, "Comparison of different moment-closure approximations for stochastic chemical kinetics", The Journal of Chemical Physics 143, 185101 (2015). https://doi.org/10.1063/1.4934990

[5]: E. Lakatos, A. Ale, P. D. W. Kirk, and M. P. H. Stumpf, "Multivariate moment closure techniques for stochastic kinetic models", The Journal of Chemical Physics 143, 094107 (2015). https://doi.org/10.1063/1.4929837

[6]: A. Singh and J. P. Hespanha, "Lognormal Moment Closures for Biochemical Reactions", in Proceedings of the 45th IEEE Conference on Decision and Control, ISSN: 0191-2216 (Dec. 2006), pp. 2063-2068. https://doi.org/10.1109/CDC.2006.376994

[7]: M. Soltani, C. A. Vargas-Garcia, and A. Singh, "Conditional Moment Closure Schemes for Studying Stochastic Dynamics of Genetic Circuits", IEEE Transactions on Biomedical Circuits and Systems 9, 518-526 (2015). https://doi.org/10.1109/TBCAS.2015.2453158

[8]: Z. Cao and R. Grima, "Linear mapping approximation of gene regulatory networks with stochastic dynamics", Nature Communications 9, 3305 (2018). https://doi.org/10.1038/s41467-018-05822-0

Owner

  • Name: Augustinas Sukys
  • Login: augustinas1
  • Kind: user
  • Location: Melbourne, Australia

Postdoctoral researcher at the University of Melbourne

Citation (CITATION.bib)

@article{MomentClosure2021,
    author = {Sukys, Augustinas and Grima, Ramon},
    title = "{MomentClosure.jl: automated moment closure approximations in Julia}",
    journal = {Bioinformatics},
    volume = {38},
    number = {1},
    pages = {289-290},
    year = {2021},
    month = {06},
    issn = {1367-4803},
    doi = {10.1093/bioinformatics/btab469},
    url = {https://doi.org/10.1093/bioinformatics/btab469},
    eprint = {https://academic.oup.com/bioinformatics/article-pdf/38/1/289/41891091/btab469.pdf},
}

GitHub Events

Total
  • Issues event: 2
  • Delete event: 3
  • Issue comment event: 12
  • Push event: 14
  • Pull request event: 7
  • Create event: 5
Last Year
  • Issues event: 2
  • Delete event: 3
  • Issue comment event: 12
  • Push event: 14
  • Pull request event: 7
  • Create event: 5

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 195
  • Total Committers: 5
  • Avg Commits per committer: 39.0
  • Development Distribution Score (DDS): 0.174
Top Committers
Name Email Commits
Augustinas Sukys a****s@g****m 161
Flemming h****f@m****u 27
github-actions[bot] 4****]@u****m 5
kaandocal 2****l@u****m 1
CompatHelper Julia c****y@j****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 13
  • Total pull requests: 57
  • Average time to close issues: 4 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 6
  • Total pull request authors: 6
  • Average comments per issue: 3.92
  • Average comments per pull request: 0.35
  • Merged pull requests: 19
  • Bot issues: 0
  • Bot pull requests: 48
Past Year
  • Issues: 2
  • Pull requests: 7
  • Average time to close issues: 10 months
  • Average time to close pull requests: 6 months
  • Issue authors: 1
  • Pull request authors: 4
  • Average comments per issue: 8.5
  • Average comments per pull request: 0.14
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 5
Top Authors
Issue Authors
  • kaandocal (5)
  • btemoshir (2)
  • ChrisRackauckas (2)
  • sdwfrost (2)
  • JuliaTagBot (1)
Pull Request Authors
  • github-actions[bot] (48)
  • dependabot[bot] (8)
  • kaandocal (3)
  • augustinas1 (3)
  • ChrisRackauckas (2)
  • FHoltorf (2)
Top Labels
Issue Labels
Pull Request Labels
dependencies (8) github_actions (1)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 6 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 5
juliahub.com: MomentClosure

Tools to generate and study moment equations for any chemical reaction network using various moment closure approximations

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 6 Total
Rankings
Dependent repos count: 9.9%
Stargazers count: 15.4%
Forks count: 17.4%
Average: 20.4%
Dependent packages count: 38.9%
Last synced: 6 months ago