OpenModelica / BioChem

BioChem is a package for biochemical modeling and simulation with Modelica
7 stars 12 forks source link

Physically inaccurate ModifierConnector #38

Open AtiyahElsheikh opened 3 years ago

AtiyahElsheikh commented 3 years ago

The connector ModifierConnector is not precise and includes excessive unnecessary information regarding the molar flow rate of the connected reaction component.

Reasoning

AtiyahElsheikh commented 3 years ago

Ok, concerning the second point, the reason why a ModifierConnector has r is to allow a substance to be connected directly to a reaction. A substance has currently a standard connector with c & r. This is graphically better than having two connectors one acting as a reactant in a reaction and another acting as a modifier.

Consequently, modifier reactions set the r of a ModifierConnector to 0, e.g. Interfaces.Reactions.Modifiers.Activator.

Now another problem arises in the package Interfaces.Reactions.Modifiers. There are many components with the name Modifier. This is meaningless, since a substance is either inhibiting or activating a reaction. A modification is generic and does not specify the physical mathematical formulation of an enzyme kinetic.

AtiyahElsheikh commented 3 years ago

Unfortionately, leaving the unnecessary models out, few apparently automatically generated examples within BioChem are not compiling any more as they use some of these models (with explicit implementation of enzyme kinetics).

AtiyahElsheikh commented 3 years ago

Now another problem arises in the package Interfaces.Reactions.Modifiers. There are many components with the name Modifier. This is meaningless, since a substance is either inhibiting or activating a reaction. A modification is generic and does not specify the physical mathematical formulation of an enzyme kinetic.

The use of the models "Modifier" would make sense if we have hierarchies of model components, e.g. for examining a modifier once as an activator and another as an inhibitor (and once without being as an influenceable modifier). Even in that case, declared connectors s.a. a1 or i1 need to be renamed, e.g. mc1 etc. Unfortunately, this may require modification of many components.