Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Physically inaccurate ModifierConnector #38

Open
AtiyahElsheikh opened this issue May 8, 2021 · 3 comments
Open

Physically inaccurate ModifierConnector #38

AtiyahElsheikh opened this issue May 8, 2021 · 3 comments

Comments

@AtiyahElsheikh
Copy link
Collaborator

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

Reasoning

  • A Modifier is either an inhibitor or an activator. A Modifier (of a reaction) alone does not give enough information for the reaction component to be considered in its physical implementation. Thus, in order to prevent a client of using this connector, this connector should be declared as partial and extended by an InhibitorConnector or ActivatorConnector
  • It is excessive to include the molar flow rate r as a flow variable in the connector. This is because the reaction component connected to the modifier does not influence the concentration of the modifier. The modifier does not imploy r in anyway. Thus, an accurate implementation should not consider r.
@AtiyahElsheikh
Copy link
Collaborator Author

AtiyahElsheikh commented May 11, 2021

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

AtiyahElsheikh commented May 12, 2021

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant