# Parsing input ODE system

StructuralIdentifiability.@ODEmodelMacro

Macro for creating an ODE from a list of equations. Also injects all variables into the global scope.

This macro accepts a sybolically written ODE system and generates an ODE structure instance:

ode = @ODEmodel(
x1'(t) = -k1 * x1(t),
y1(t) = x1(t)
)
StructuralIdentifiability.ODEType

The main structure that represents input ODE system.

Stores information about states (x_vars), outputs (y_vars), inputs (u_vars), parameters (parameters) and the equations.

This structure is constructed via @ODEmodel macro.

StructuralIdentifiability.set_parameter_valuesFunction
set_parameter_values(ode, param_values)

Input:

• ode - an ODE as above
• param_values - values for (possibly, some of) the parameters as dictionary parameter => value

Output:

• new ode with the parameters in param_values plugged with the given numbers

## Create Compartmental Model

StructuralIdentifiability.linear_compartment_modelFunction
linear_compartment_model(graph, inputs, outputs, leaks)

Input: defines a linear compartment model with nodes numbered from 1 to n by

• graph - and array of integer arrays representing the adjacency lists of the graph
• inputs - array of input nodes
• outputs - array of output nodes
• leaks - array of sink nodes

Output:

• the corresponding ODE system in the notation of https://doi.org/10.1007/s11538-015-0098-0