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.

What it solves

Catalyst.jl provides a high-performance framework for the symbolic modeling and simulation of chemical reaction networks (CRNs) and related dynamical systems. It simplifies the process of specifying complex biological or chemical systems, allowing researchers to move from a high-level description of reactions to executable simulations without manually deriving the underlying differential equations.

How it works

The package uses a domain-specific language (DSL) or programmatic construction to define reaction systems. It leverages ModelingToolkitBase.jl and Symbolics.jl to perform symbolic computation, which enables efficient Jacobian construction, sparsity exploitation, and dependency graph analysis. From a single ReactionSystem definition, it can generate various simulation types, including Ordinary Differential Equations (ODEs), Stochastic Differential Equations (SDEs), and jump processes (stochastic chemical kinetics).

Who it’s for

It is designed for scientists and engineers working with dynamical systems, specifically those modeling chemical reaction networks, systems biology, and related fields requiring high-performance simulation and analysis.

Highlights

  • Flexible Simulation Types: Supports ODE, steady-state ODE, SDE, and jump simulations from a single model definition.
  • Compositional Modeling: Allows building models hierarchically using components and extensions.
  • Hybrid Models: Supports mixing ODE, SDE, and jump reactions within a single system.
  • Symbolic Power: Uses symbolic computation for optimized performance and integration with the broader SciML ecosystem for sensitivity analysis and parameter estimation.
  • Advanced Coupling: Can couple reactions with external noise (Brownian and Poisson processes) and discrete events.
  • Spatial Modeling: Supports simulating reaction networks on discrete spatial domains.

Related

  • Project
  • Project
  • Project
  • Project
  • Project