필터 지우기
필터 지우기

Modeling dissociation using Hill function provides misleading results

조회 수: 12 (최근 30일)
I stumbled upon a simple dissociation model using Hill function. The process in question is
[A:B] -> A + 2 B
A, B, [A:B] species [nanomole]
Now, dependent on how one formulates it mathematically, the results are completely different.
Case 1: Vmax/((EC50/[A:B])^n+1)
Vmax = 1.2 [nanomole/hour]
EC50 = 10 [nanomole]
n = 2 [-]
Simulation produces figure 1.
Case 2: Vmax/((EC50/([A:B]/comp1))^n+1)
Vmax = 1.2 [nanomole/hour]
EC50 = 10 [nanomole/liter]
n = 2 [-]
comp1 = 1 [microliter]
Simulation produces figure 2.
The question I am wandering about why in the second case the amount becomes negative.
sbproj files attached. Any comments would be appreciated. Emjey

채택된 답변

Arthur Goldsipe
Arthur Goldsipe 2023년 8월 1일
Similar questions come up periodicaly. I suggest looking at my previous responses here and here.
The bottom line is that both of these plots show the expected numerical behavior of the differential equations as you implemented them. My recommendation is to replace the [A:B] term with max(0,[A:B]).
In your case, the reactions for the two cases proceed at vastly different rates. In Case 1, EC50 = 10 nanomole. In Case 2, EC50*comp1 = 10 nanomole/liter*microliter = 1e-5 nanomole.This leads to much faster dynamics for Case 2, and eventually the solver takes a large enough time step that the concentration goes negative. And it turns out that the solver tolerances are still satisifed under these conditions, due to the form of your reaction rate. The problem here is that a "negative amount" of [A:B] of -10 nanomole results in the exact same reaction rate as +10 nanomole of [A:B]. So a slightly negative amount leads to even more negative amounts of [A:B]. I typically say that negative concentrations that are within the solver's absolute tolerance of zero should be considered as equivalent to zero. And you can actually enforce such a constraint on your equations by replacing terms involving [A:B] with max(0,[A:B]).
I made such a change in your model, and this eliminated the negative concentrations. Note however that if you make such a change and still see concentrations with large magnitude negative values (say, -10 or -100 nanomole, for this model), then you may have a modeling error that leads to non-physical behavior.
  댓글 수: 3
emjey
emjey 2023년 8월 4일
Btw, I simulated the above using ode45 solver and get the same results (using the max(0,[A:B]) detour). Could you explain what do you do to the model to be able to handle the different scales with a non-stiff solver?
Arthur Goldsipe
Arthur Goldsipe 2023년 8월 4일
You will find a detailed description of the algorithm for absolute tolerance scaling here.
I'm not sure I understand what you're asking about ode45. For your model diss_conc.sbproj with the max detour, I get basically the same results when simulating with ode45, ode15s, and sundials.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

커뮤니티

더 많은 답변 보기:  SimBiology Community

카테고리

Help CenterFile Exchange에서 Scan Parameter Ranges에 대해 자세히 알아보기

제품


릴리스

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by