Convention C: SymPy model
Convention C is for symbolic ODE systems represented as SymPy dictionaries.
Example file
Create decay_sympy.py:
import sympy as sp
x, k = sp.symbols("x k")
model_id = "decay_sympy"
model_name = "Symbolic decay"
odes = {
x: -k * x,
}
params = {
k: 0.2,
}
inits = {
x: 1.0,
}
parameter_units = {
"k": "per_second",
}
Convert
Python API
from ode2sbml import from_sympy, to_sbml
from decay_sympy import odes, params, inits
ir = from_sympy(
odes=odes,
params=params,
inits=inits,
model_id="decay_sympy",
)
to_sbml(ir, "decay.xml")
Symbol names become SBML IDs
Keep SymPy symbol names SBML-safe. sp.Symbol("k_cat") is fine. sp.Symbol("k-cat") is not a valid SBML SId.