I have a model (ODE) of an enzymatic reaction, and I'd like to estimate four of its parameters to fit some available data. To obtain the model I am just using Mass-Action Kinetics.

Some more details:

  • The model is of the form $S_1+2S_2+S_3+E\leftrightarrow C \leftrightarrow P_1+P_2+P_3+E$, where $S_i$ are substrates concentrations, $P_i$ products concentrations, $E$ enzyme concentration, and $C$ the complex concentration.
  • $S_2$ is Hydrogen and $P_3$ is Ammonium ($NH_4$), so besides the aforementioned reaction I have one reaction for the buffer and one reaction for ammonium dissociation, however, the parameters involved are known.
  • Substrate concentrations are in the range of $1-10mM$.
  • Enzyme concentrations are in the range of $.1-10\mu M$.
  • The parameters I want to estimate are the 4 reaction rates, say, $k_1,k_{-1},k_2,k_{-2}$.
  • The available data (measurements) is only pH. Thus I have a simulation of the model where the final output is $pH=log_{10}(1/S_2)$.
  • Then, I try to estimate the parameters from the data and the (simulated) pH.

To estimate the parameters I am using Matlab, more specifically the 'Identification Toolbox' and the 'lsqnonlin' function.

I set the initial guess "visually", that is, I move manually the parameters and whenever I assume the simulation is "close enough", I set the initial parameters guess.

The problem is that some of the parameter of he initial guess are of order $1E20$. I am thinking that because of the large value of the parameters, the algorithm cannot find any better parameter values. I have tried moving several optimisation options without any valuable result.

Q: Is there some specific software, or method that is commonly used to estimate parameters of biochemical reactions? Is the large values of kinetic rates a common problem in parameter identification for these type of systems?

  • $\begingroup$ How big is your dataset? How many parameters do you have in your reactions? How many molecules are you using? Is there any (non complicated) way to change the scale of your units to make them more alike (on the same range)? $\endgroup$ – llrs Nov 21 '17 at 10:39
  • $\begingroup$ @Llopis Thank you, I have added some more detail to the question to address your questions. $\endgroup$ – PepeToro Nov 21 '17 at 12:21
  • $\begingroup$ Without knowing how much of each $S_i$ and $P_i$ is present either at the beginning or at the end you can't estimate the reaction rates. Also make sure that the units are correctly canceled in the equations. If E is constant it doesn't play a role in your kinetic reactions. Did you check that your equations are balanced? (here you mention $P_4$ and in the equation it isn't present, so make sure that the mass doesn't appear or disappear in your system, it might be also a problem when introducing your equations to matlab...) $\endgroup$ – llrs Nov 21 '17 at 12:31
  • $\begingroup$ Thanks, there was a typo in the products. I do know the exact initial concentrarions of the substrates, as I am performing also the experiments. I do not know any $P_i$ though, just pH as a function of time. In principle nor E neither C are constant, but I could assume quasi-steady state conditions, no problem. I will double check the equations, although I am quite confident they are OK. My feeling is that I am not using or setting up correctly the numerical tool... $\endgroup$ – PepeToro Nov 21 '17 at 16:47
  • $\begingroup$ I don't use matlab, and for this kind of problems we used other tools that's why I can only suggest general things, but one last thing I thought about is increasing the number of iterations/time to reach the parameters $\endgroup$ – llrs Nov 21 '17 at 16:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.