---
title: "Welcome to Catalax 🧬⚡"
icon: "hand-wave"
sidebarTitle: "Welcome"
---

Catalax is a computational framework that bridges mechanistic biochemical modeling with modern machine learning. Built on JAX for lightning-fast performance, Catalax enables researchers to tackle the most challenging problems in biochemical modelling and systems biology, from parameter estimation in complex reaction networks to discovering unknown biochemical mechanisms directly from experimental data.

Whether you're modeling enzyme kinetics, discovering metabolic pathways, or quantifying parameter uncertainty through Bayesian inference, Catalax provides the tools and mathematical rigor needed for reproducible, publication-quality research.

## Installation

Catalax is available on PyPI and can be installed with:

```bash
pip install catalax
```

## Quick Start: From Reaction to Simulation

Get started with Catalax in just a few lines of code. Here's how to build and simulate a complete enzyme kinetics model:

```python
import catalax as ctx

# Create a Michaelis-Menten enzyme kinetics model
model = ctx.Model(name="Enzyme Kinetics")

# Define states
model.add_states(S="Substrate", E="Enzyme", P="Product")

# Add reaction kinetics via schemes
model.add_reaction(
    "S -> P",
    symbol="r1",
    equation="k_cat * E * S / (K_m + S)",
)

# Or as ODEs
model.add_odes(
    S="-k_cat * E * S / (K_m + S)",
    P="k_cat * E * S / (K_m + S)",
    E="0",
)

# Set parameters
model.parameters.k_cat.value = 0.1
model.parameters.K_m.value = 0.05

# Create dataset and add initial conditions
dataset = ctx.Dataset.from_model(model)
dataset.add_initial(S=100, E=10, P=0)
dataset.add_initial(S=200, E=10, P=0)

# Configure simulation
config = ctx.SimulationConfig(t1=100, nsteps=1000)

# Run simulation
results = model.simulate(dataset=dataset, config=config)

# Visualize results
results.plot()
```

**That's it!** You've just created a complete biochemical model, simulated its dynamics, and generated publication-ready visualizations. Now let's explore what makes Catalax powerful for advanced research.

## Getting Started

Ready to accelerate your biochemical research? Choose your path:

### New to Catalax?
Start with the fundamentals and build your expertise systematically:

1. **[Build your first model](basic/model-class)** - Learn the core Model class and basic simulation
2. **[Handle experimental data](basic/data-management)** - Import, process, and analyze your datasets  
3. **[Run parameter inference](hmc/mcmc-basic)** - Quantify uncertainty with Bayesian methods

### Ready for Discovery?
Dive into data-driven approaches for unknown systems:

1. **[Train Neural ODEs](neural/neural-ode)** - Learn dynamics directly from data
2. **[Discover reaction networks](neural/rateflow-ode)** - Uncover biochemical mechanisms
3. **[Apply biological constraints](neural/neural-regularization)** - Ensure realistic discoveries

### Want Maximum Performance and Flexibility?  
Explore advanced techniques for complex research problems:

1. **[Hybrid modeling](neural/universal-ode)** - Combine mechanistic and neural approaches
2. **[Surrogate acceleration](hmc/surrogate-hmc)** - Achieve 10-100x inference speedup
3. **[Custom protocols](hmc/pre-post-models)** - Extend models for complex scenarios
