SciML / PubChemReactions.jl

Generation of reaction networks from PubChem data
5 stars 1 forks source link

fixing up glycolysis #40

Open anandijain opened 2 years ago

anandijain commented 2 years ago

@paulflang i just added some of the bidirectionality stuff.

what do you think will be the most important next steps to getting something that is giving reasonable results?

i think it might be helpful to try to find a paper or something that actually measures metabolite concentrations over time so we have a reference to compare to.

paulflang commented 2 years ago

Idk what really the end goal is. so take what i am suggesting with a grain of salt.

One thing you could do is to optimise the kinetic constants, such that simulation to steady state gives you exactly the metabolite concentrations that you see in wikipedia. To do so, you should create a reaction that imports glucose (perhaps not estimate this rate parameter, but fix it to 1 per arbitrary time unit or so), one that consumes pyruvate and one that consumes atp (atp + h20 -> adp + pi).

another thing you could do is to try find data where they add isotope labelled glucose at t=0 and trace how quickly the isotopes get metabolised and then fit the kinetic parameters to that (than time is not just in arbitrary units). i think this would be meaningful time course data. otherwise, if you look at time course data, you will probably see that metabolite concentrations do not change over time in unperturbed cells, cause the cell is at steady state. beyond that, i don't think that single cell metabolomics is a thing yet. so you only see data from cell populations, i.e. averaged over all cells. that is still useful, for instance when you add isotope labelled glucose to all cells and take measurements in regular time intervals. if you do not find sth with isotopes, you may find data with glucose starvation prior to glucose addition at t=0.

anandijain commented 2 years ago

Yeah, my goal is to use this as our representative "from-scratch" PumasQSP demo model. So that means being able to dose metformin and easily convey the affect on blood glucose levels. So the main thing is to answer the question: Does the drug work? How should we dose? and then maybe some Vpops stuff if we can find some datasets on diabetes or pre-diabetes people. A side goal would be to also model some of the symptoms of type-2 diabetes.

Google says: "Symptoms include increased thirst, frequent urination, hunger, fatigue, and blurred vision. In some cases, there may be no symptoms."

Whats interesting to me about adding in some stuff about symptoms is that they are really high level and easy to understand. Like when we look at SERD, we see states like "tumor volume". I think states like this make it really easy convey something real about a model. When it's all just concentrations of metabolites, its hard to be excited about it (and understand the model).

That first point is a really good idea. I think that there is still something wrong with the equations, because when I simulate with the glucose u0 really high, the ss goes to 0 (for the bidir_sys iirc, I need to check the non-bidir).

I'm late to a thing, ill respond to the second point later. We should get on a call next week!

paulflang commented 2 years ago

Yeah, my goal is to use this as our representative "from-scratch" PumasQSP demo model. So that means being able to dose metformin and easily convey the affect on blood glucose levels.

Are you sure that modeling glycolysis is the right point to start then? My Molecular Health Science lecture is ages ago, but IIRC type 2 diabetes is caused by insulin resistance, i.e. cells do not respond to insulin with blood glucose uptake anymore (no glucose uptake, no glycolysis). So blood glucose stays high (very oversimplified). Also, according to Wiki the mechanism of action of metformin has little to do with glycolysis. I assume you are interested in finishing this project/exercise off. Maybe you can find some drugs that act by inhibiting glycolysis (cancer relies heavily on glycolysis). But I am wondering if it would make sense to search for a few drugs on BioModels and see if we get some peer-reviewed and curated models that are useful for illustration purposes.

when I simulate with the glucose u0 really high, the ss goes to 0.

You mean the glucose steady-state goes to zero? If so, this is expected, unless you add external influx of glucose. Even if you make all reactions reversible, glucose steady state should be very low. This is because glycolysis (glucose + 2 NAD + 2 ADP +2 Pi <-> 2 pyruvate + 2 NADH + 2 H+ + 2 ATP) has an equilibrium constant of K = 1098968 at 310 Kelvin, so it is strongly product favored (maybe try exercise 1 here to check if my calculation is correct (it might not be) or if you are interested in how this can be calculated this from the Gibbs standard energy). If you want to "reverse" glycolysis, you need to put in energy (worth 6 ATP, not only two). But strictly speaking, this is not a reversal, but a different pathway (gluconeogenesis). Honestly, I think it is a good sign that you get glucose depletion. Anything else would indicate that there is a mistake in the overall ratio of the forward and reverse kinetic constant values (an enzyme always catalyses both directions, so doubling the enzyme doubles the magnitude of the forward and reverse constant (unless there is less [substrate] than [enzyme], in which case adding enzyme does little to accelerate the reaction -> this might happen in signalling, but less so in metabolism)). Or in my calculation/reasoning above. :)

We should get on a call next week!

Sure. Tomorrow also works.