ADGenKinetics contains an implementation of a specific set of reaction kinetics, namely, generalized simplified kinetic formats. It follows many of the guidelines recommended by the Biochem library. The underlying simplified kinetics formats are represented by generalized structured kinetics formulas suitable for arbitrary biochemical reactions with arbitrary number of substrates, products, inhibitors and activators. In this way, matabolic reaction networks can be easily assembled using a few number of reaction kinetics.
ADGenKinetics is the first algorithmically differentiated Modelica library. Constructed models can also be used for computing parameter sensitivities with little modifications to the used interfaces and by initializing the input Jacobian, i.e. the parameters w.r.t. derivatives are sought.
Structure of the Library
The following packages are available:
Further two subpackages within NodeElements and Reactions exist corresponding to two ways of declaration of connectors within components:
The main differences of both ways and their advantages and disadvantages are emphasized in this section along with the given examples.
Common interfaces and abstract classes are located above these packages.
That is concentration of a substance is the potential variable while the flow rate of materials (i.e. the chemical transformation process) represents the flow variables when connecting nodes and reactions together, cf. ADGenKinetics.Interfaces.ChemicalPort. Further subtypes of connectors exist:
Further interfaces and abstract classes are used within implemented reactions for simplifying their implementations and emphasizing their classification. The most important of which are:
ADGenKinetics.Interfaces.Reversible.ReactionReversibility: for determining the reversibility of reactions. The extended interfaces OneWay, TwoWay are used for irreversible, reversible reactions, respectively:
Typically, the component ADGenKinetics.NodeElements.dynamic.Node or ADGenKinetics.NodeElements.static.Node is the basic one needed for constructing biochemical reaction networks. Further types can be also imported from available implementation of the Biochem library.
Reaction kinetics are available in the packages ADGenKinetics.Reactions.convenience.{dynamic.static}.
For instance, ADGenKinetics.Reactions.convenience.dynamic.IrrKinetic is used for irreversible reactions with arbitrary number of substrates and products, while ADGenKinetics.Reactions.convenience.dynamic.InhRevKinetic for reversible inhibited reactions with arbitrary number of substrates, products and inhibitors.
Static packages provide reaction kinetics with fixed reaction structure. For instance ADGenKinetics.Reactions.convenience.static.IrrKinetic2S1P1I.
Examples of constructing biochemical networks are given in ADGenKinetics.Examples.Spirallusdyn and ADGenKinetics.Examples.Spirallustatic.
Given a biochemical reaction network model, the same model can be used for computing parameter sensitivities by additional slight modification in the declaration part:
For instance compare the model given in ADGenKinetics.Examples.Spirallusdyn with ADGenKinetics.Derivatives.Examples.SpirallusdynAll