Biochemical Model Simulator

Tellurium kinetic experiments

by K-Dense-AI · MIT license · ★ 45,977 on GitHub · updated Sep 21

Tellurium kinetic experiments cover

Simulates biochemical kinetic models from SBML or Antimony with Tellurium and libRoadRunner, checks model units, compares deterministic parameter perturbations, and exports and replays SBML plus SED-ML COMBINE archives. Use for…

---
name: tellurium
description: Simulates biochemical kinetic models from SBML or Antimony with Tellurium and libRoadRunner, checks model units, compares deterministic parameter perturbations, and exports and replays SBML plus SED-ML COMBINE archives. Use for reaction-network time courses, kinetic parameters, concentration dynamics and reproducible simulation experiments; steady-state constraint-based metabolic flux analysis belongs to cobrapy.
license: MIT
compatibility: Requires Python 3.11 with Tellurium 2.2.13.1, libRoadRunner 2.10.0, Antimony 3.2.0, python-libsbml 5.21.2, python-libsedml 2.0.34 and python-libcombine 0.2.20. Network is needed for installation only. Native wheels were tested on macOS ARM64. No credentials or external services.
metadata:
  version: "1.1"
  skill-author: K-Dense Inc.
  upstream-version: "2.2.13.1"
  last-reviewed: "2026-10-01"
---

# Tellurium kinetic experiments

## When to use

Use this skill for deterministic reaction-network trajectories and independent parameter conditions
from a local model. The helper performs SBML consistency checks, CVODE integration and an actual

Overview

Use this skill for deterministic reaction-network trajectories and independent parameter conditions from a local model. The helper performs SBML consistency checks, CVODE integration and an actual COMBINE archive replay. It exports each condition's exact SBML and the SED-ML experiment rather than handing off an unrecorded notebook state.

Manual install (npx, ZIP)
Claude Codenpx skills add K-Dense-AI/scientific-agent-skills --skill tellurium -g -a claude-code
Claude Code (degit)npx degit K-Dense-AI/scientific-agent-skills/skills/tellurium#main ~/.claude/skills/tellurium
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md7.9 KB
Read SKILL.md here
K-Dense-AI/main1 file shown
SKILL.md
Show the full text124 lines

Tellurium kinetic experiments

When to use

Use this skill for deterministic reaction-network trajectories and independent parameter conditions from a local model. The helper performs SBML consistency checks, CVODE integration and an actual COMBINE archive replay. It exports each condition's exact SBML and the SED-ML experiment rather than handing off an unrecorded notebook state.

Runtime

uv venv --python 3.11 kinetic-env
uv pip install --python kinetic-env/bin/python tellurium==2.2.13.1 libroadrunner==2.10.0 \
  antimony==3.2.0 python-libsbml==5.21.2 python-libsedml==2.0.34 python-libcombine==0.2.20

The full workflow ran with these packages on macOS ARM64. It constructs SED-ML with libSEDML and archives with Tellurium/libCombine; PhraSEDML is not required by this helper. Headless runs can set MPLBACKEND=Agg. No plotting window is opened by the helper.

The six pinned releases were rechecked against official PyPI metadata on 2026-10-01. RoadRunner's documentation site still displays an old version banner; the solver settings below were also checked against released 2.10.0 source and the installed native runtime.

Workflow

  1. Inspect the supplied model's compartments, species, initial conditions, boundary species, reactions, parameter definitions and rules/events. Identify the scientific question and distinguish a mechanistic kinetic model from a flux-balance reconstruction. Record the source model, version and any literature parameters; do not treat an example model as experimentally calibrated.
  2. Check units before interpreting a trajectory. SBML reaction rates have amount/time units; species may have concentration or amount semantics. In a fixed-volume first-order model, k*A*cell converts concentration dependence into amount/time. The helper checks SBML consistency and retains every warning, including undefined units. Undefined units are reported as empty/indeterminable, not silently assumed to mean SI.
  3. Select concentration outputs and an experiment in the JSON format described in references/experiments.md. Time values use the model's own time units. The tested helper outputs concentration for species with hasOnlySubstanceUnits=false; it rejects amount-only selections to avoid changing their meaning during SED-ML replay. Zero-dimensional compartments and rate-rule models are also rejected; the latter need a separate tolerance workflow because RoadRunner 2.10.0 can order scalar tolerances differently from states.
  4. Run baseline and desired constant-global-parameter changes. Every scenario starts from a fresh SBML model, so previous final concentrations cannot leak into the next condition. Changes to species initial values, compartment volume, assignment rules or time-varying inputs require explicit model changes and corresponding tests; they are not parameter mutations hidden in this helper.
  5. Examine finite outputs, signs, relevant conservation relations and timescales. Check solver sensitivity by repeating at stricter tolerances when the scientific interpretation depends on small differences. A smooth curve or zero archive-replay error does not establish model validity or parameter identifiability. Never clip negative concentrations to hide solver or model problems.
  6. Review the COMBINE replay comparison, model warnings and units in report.json. The helper replays the archive it generated and compares every selected value against the direct trajectories. Deliver the archive, report, source model, experiment config and CSV curves.

Run the executable reference

assets/first-order.ant defines the closed reaction A → B in a constant 1-L compartment, initially A=1 and B=0 mol/L, with k=0.2 per second. assets/experiment.json runs baseline and k=0.4 per second from 0 to 10 s. From the skill directory, point the interpreter to the environment created above:

MPLBACKEND=Agg kinetic-env/bin/python scripts/kinetic_experiment.py \
  --model assets/first-order.ant --format antimony --experiment assets/experiment.json \
  --output kinetic-reference

# The SBML branch was also exercised; replace these filenames with actual user inputs.
MPLBACKEND=Agg kinetic-env/bin/python scripts/kinetic_experiment.py \
  --model model.xml --format sbml --experiment experiment.json --output kinetic-analysis

Output directories must be new. The reference was executed, including Antimony-to-SBML conversion, libSBML checks, both direct integrations, SED-ML creation and COMBINE replay. Both conditions matched the analytical A(t)=exp(-k*t), B(t)=1-A(t) within 2e-8 absolute/relative tolerance; A+B was conserved within 1e-10, and archive replay matched direct output exactly on the tested stack. Additional checks use a 5-L compartment and an initial amount of 10 mol (2 mol/L), resolve every SED-ML species XPath against its actual SBML file, and verify the solver tolerance scaling. That verifies this controlled example; arbitrary SBML packages, events, delays or stochastic models are not covered by those tests.

Artifacts

File Contents
baseline.csv, other scenario CSVs Time and selected concentrations, with bracketed species headers
model_<scenario>.xml Exact independent SBML condition used by both execution routes
experiment.sedml Uniform time course, CVODE/tolerances, models, tasks and output selections
experiment.omex Those SBML files plus the master SED-ML and archive manifest
report.json Versions, input/archive checksums, parameters, units, validation findings, initial state tolerance vectors, minimum concentrations and replay differences

The libSEDML findings in the report are parse diagnostics. Successful execution and equality provide additional evidence that this generated uniform-course experiment works in Tellurium; they do not certify every SED-ML feature or every simulator's compatibility.

In RoadRunner 2.10.0, the JSON absolute_tolerance value is a scalar adjustment factor for state/amount tolerances, not a uniform concentration error bound. The archive records that meaning as KISAO:0000571; inspect initial_state_absolute_tolerances and the detailed explanation in references/experiments.md. Declared SBML XPath namespaces and explicit stiff/uniform-output settings prevent successful Tellurium replay from hiding missing archive context.

Primary references

1---
2name: tellurium
3description: Simulates biochemical kinetic models from SBML or Antimony with Tellurium and libRoadRunner, checks model units, compares deterministic parameter perturbations, and exports and replays SBML plus SED-ML COMBINE archives. Use for reaction-network time courses, kinetic parameters, concentration dynamics and reproducible simulation experiments; steady-state constraint-based metabolic flux analysis belongs to cobrapy.
4license: MIT
5compatibility: Requires Python 3.11 with Tellurium 2.2.13.1, libRoadRunner 2.10.0, Antimony 3.2.0, python-libsbml 5.21.2, python-libsedml 2.0.34 and python-libcombine 0.2.20. Network is needed for installation only. Native wheels were tested on macOS ARM64. No credentials or external services.
6metadata:
7 version: "1.1"
8 skill-author: K-Dense Inc.
9 upstream-version: "2.2.13.1"
10 last-reviewed: "2026-10-01"
11---
12 
13# Tellurium kinetic experiments
14 
15## When to use
16 
17Use this skill for deterministic reaction-network trajectories and independent parameter conditions
18from a local model. The helper performs SBML consistency checks, CVODE integration and an actual
19COMBINE archive replay. It exports each condition's exact SBML and the SED-ML experiment rather
20than handing off an unrecorded notebook state.
21 
22## Runtime
23 
24```bash
25uv venv --python 3.11 kinetic-env
26uv pip install --python kinetic-env/bin/python tellurium==2.2.13.1 libroadrunner==2.10.0 \
27 antimony==3.2.0 python-libsbml==5.21.2 python-libsedml==2.0.34 python-libcombine==0.2.20
28```
29 
30The full workflow ran with these packages on macOS ARM64. It constructs SED-ML with libSEDML and
31archives with Tellurium/libCombine; PhraSEDML is not required by this helper. Headless runs can set
32`MPLBACKEND=Agg`. No plotting window is opened by the helper.
33 
34The six pinned releases were rechecked against official PyPI metadata on 2026-10-01. RoadRunner's
35documentation site still displays an old version banner; the solver settings below were also
36checked against released 2.10.0 source and the installed native runtime.
37 
38## Workflow
39 
401. Inspect the supplied model's compartments, species, initial conditions, boundary species,
41 reactions, parameter definitions and rules/events. Identify the scientific question and
42 distinguish a mechanistic kinetic model from a flux-balance reconstruction. Record the
43 source model, version and any literature parameters; do not treat an example model as
44 experimentally calibrated.
452. Check units before interpreting a trajectory. SBML reaction rates have amount/time units;
46 species may have concentration or amount semantics. In a fixed-volume first-order model,
47 `k*A*cell` converts concentration dependence into amount/time. The helper checks SBML
48 consistency and retains every warning, including undefined units. Undefined units are
49 reported as empty/indeterminable, not silently assumed to mean SI.
503. Select concentration outputs and an experiment in the JSON format described in
51 [references/experiments.md](references/experiments.md). Time values use the model's own time
52 units. The tested helper outputs concentration for species with `hasOnlySubstanceUnits=false`;
53 it rejects amount-only selections to avoid changing their meaning during SED-ML replay.
54 Zero-dimensional compartments and rate-rule models are also rejected; the latter need a separate
55 tolerance workflow because RoadRunner 2.10.0 can order scalar tolerances differently from states.
564. Run baseline and desired constant-global-parameter changes. Every scenario starts from a
57 fresh SBML model, so previous final concentrations cannot leak into the next condition.
58 Changes to species initial values, compartment volume, assignment rules or time-varying
59 inputs require explicit model changes and corresponding tests; they are not parameter
60 mutations hidden in this helper.
615. Examine finite outputs, signs, relevant conservation relations and timescales. Check solver
62 sensitivity by repeating at stricter tolerances when the scientific interpretation depends
63 on small differences. A smooth curve or zero archive-replay error does not establish model
64 validity or parameter identifiability. Never clip negative concentrations to hide solver
65 or model problems.
666. Review the COMBINE replay comparison, model warnings and units in `report.json`. The helper
67 replays the archive it generated and compares every selected value against the direct
68 trajectories. Deliver the archive, report, source model, experiment config and CSV curves.
69 
70## Run the executable reference
71 
72[assets/first-order.ant](assets/first-order.ant) defines the closed reaction A → B in a constant
731-L compartment, initially A=1 and B=0 mol/L, with k=0.2 per second.
74[assets/experiment.json](assets/experiment.json) runs baseline and k=0.4 per second from 0 to 10 s.
75From the skill directory, point the interpreter to the environment created above:
76 
77```bash
78MPLBACKEND=Agg kinetic-env/bin/python scripts/kinetic_experiment.py \
79 --model assets/first-order.ant --format antimony --experiment assets/experiment.json \
80 --output kinetic-reference
81 
82# The SBML branch was also exercised; replace these filenames with actual user inputs.
83MPLBACKEND=Agg kinetic-env/bin/python scripts/kinetic_experiment.py \
84 --model model.xml --format sbml --experiment experiment.json --output kinetic-analysis
85```
86 
87Output directories must be new. The reference was executed, including Antimony-to-SBML conversion,
88libSBML checks, both direct integrations, SED-ML creation and COMBINE replay. Both conditions matched
89the analytical `A(t)=exp(-k*t)`, `B(t)=1-A(t)` within 2e-8 absolute/relative tolerance; A+B was
90conserved within 1e-10, and archive replay matched direct output exactly on the tested stack.
91Additional checks use a 5-L compartment and an initial amount of 10 mol (2 mol/L), resolve every
92SED-ML species XPath against its actual SBML file, and verify the solver tolerance scaling.
93That verifies this controlled example; arbitrary SBML packages, events, delays or stochastic models
94are not covered by those tests.
95 
96## Artifacts
97 
98| File | Contents |
99| --- | --- |
100| `baseline.csv`, other scenario CSVs | Time and selected concentrations, with bracketed species headers |
101| `model_<scenario>.xml` | Exact independent SBML condition used by both execution routes |
102| `experiment.sedml` | Uniform time course, CVODE/tolerances, models, tasks and output selections |
103| `experiment.omex` | Those SBML files plus the master SED-ML and archive manifest |
104| `report.json` | Versions, input/archive checksums, parameters, units, validation findings, initial state tolerance vectors, minimum concentrations and replay differences |
105 
106The libSEDML findings in the report are **parse diagnostics**. Successful execution and equality
107provide additional evidence that this generated uniform-course experiment works in Tellurium;
108they do not certify every SED-ML feature or every simulator's compatibility.
109 
110In RoadRunner 2.10.0, the JSON `absolute_tolerance` value is a **scalar adjustment factor** for
111state/amount tolerances, not a uniform concentration error bound. The archive records that meaning
112as `KISAO:0000571`; inspect `initial_state_absolute_tolerances` and the detailed explanation in
113[references/experiments.md](references/experiments.md). Declared SBML XPath namespaces and explicit
114stiff/uniform-output settings prevent successful Tellurium replay from hiding missing archive context.
115 
116## Primary references
117 
118- [Tellurium model loading and export methods](https://tellurium.readthedocs.io/en/latest/tellurium_methods.html)
119- [Antimony unit and reaction semantics](https://tellurium.readthedocs.io/en/latest/antimony.html)
120- [Tellurium SED-ML implementation](https://tellurium.readthedocs.io/en/latest/_modules/tellurium/sedml/tesedml.html)
121- [SED-ML Level 1 Version 3 specification](https://sed-ml.org/documents/sed-ml-L1V3.pdf)
122- [RoadRunner 2.10.0 CVODE implementation](https://github.com/sys-bio/roadrunner/blob/v2.10.0/source/CVODEIntegrator.cpp)
123- [KiSAO algorithm and parameter definitions](https://github.com/SED-ML/KiSAO/blob/master/kisao.owl)
124 
View all files on GitHub →

Details

Updated
Sep 21, 2026
License
MIT
Stars on the repo
★ 45,977
Checked
Source
K-Dense-AI/scientific-agent-skills ↗
Creator
K-Dense-AI · 168 listings
View creator

Similar skills

See all →

More from K-Dense-AI

SkillAdaptyv Bio Foundry APIK-Dense-AI/scientific-agent-skills · by K-Dense-AIHow to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.★ 46k GitHub starsSkillTime Series MLK-Dense-AI/scientific-agent-skills · by K-Dense-AIThis skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.★ 46k GitHub starsSkillAnalytical Method ValidatorK-Dense-AI/scientific-agent-skills · by K-Dense-AIPlan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include "method validation", "analytical method validation", "AMV", "validation protocol", "acceptance criteria", "linearity", "reportable range", "accuracy and precision", "repeatability", "intermediate precision", "recovery", "LOD", "LOQ", "detection limit", "quantitation limit", "specificity", "robustness", "method transfer", "method comparison", "Deming", "Passing-Bablok", "Bland-Altman", "equivalence testing", "OOS investigation", "ICH Q2", "Q2(R2)", "Q14", "USP 1225", "ICH M10", "incurred sample reanalysis", "ISR", "CLSI EP", and any request to show that an assay works.★ 46k GitHub starsSkillSingle-Cell Data StructureK-Dense-AI/scientific-agent-skills · by K-Dense-AIData structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.★ 46k GitHub starsSkillAutonomous Artifact OptimizerK-Dense-AI/scientific-agent-skills · by K-Dense-AIAutonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g. "get my model's eval score up", "improve this agent/harness", "tune this pipeline", "beat the baseline on this benchmark", "run a search over approaches and keep the best", "do an MLE-bench / Kaggle-style optimization", or any long-horizon "make this artifact better and don't just memorize the dev set" task. Trigger it even when the user doesn't say "Arbor" or "hypothesis tree" but describes repeated experiment-and-evaluate loops, branching exploration of competing ideas, or worries about a dev/test gap. Runs Claude itself as the coordinator with subagent executors in isolated git worktrees; for the standalone `arbor` CLI tool see references/arbor-upstream.md.★ 46k GitHub starsSkillGene Regulatory Network InferrerK-Dense-AI/scientific-agent-skills · by K-Dense-AIInfer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.★ 46k GitHub stars