Open-Systems-Pharmacology / MoBi

MoBi® is a software tool for multiscale physiological modeling and simulation
Other
31 stars 10 forks source link

Performing simulation with Mobi setting values that some parameter must have in certain times of the simulation #360

Closed ghost closed 3 years ago

ghost commented 5 years ago

Hi, I'm using Mobi (last version on Windows 10) to perform a simulation of an Ogtt (a simulation that is part of GIM model) and to do that I need to set these output interval 0 min - 30 min, 30 min - 60 min, 90min -120min, 120 min -150 min (basically I need to see in the graphic the values of glucose and insulin both at time 0, 30, 60, 90, 120, 150) and to do that I did this but I'm not sure that it is the proper way to set what I need s1 .

I already know the values of glucose and insulin at each of these time (the simulation I need to see in Mobi's graphic is based on the result of an Ogtt of a specific person that did this test in a laboratory) and I need to tell Mobi that at time 0, 30, 60, 90, 120, 150 glucose and insuline must have some values that I have to set (but I don't know how to set this in Mobi, in the above screenshot I don't see a sort of field where I can write the values that I need to be computed in simulation at time 0, 30, 60 etc. , I mean I know how to set a start value, but I don't know how to tell Mobi that for example at time 30 glucose must be 130 and insulin 30, at time 60 glucose must be 200 and insulin 125 etc. ). (Naturally before setting the values I will convert them in mol). Basically I need to do that because I need to see how other parameters/ "components" in human body changes values during an Ogtt test with these values (values that are taken from the real Ogtt). I've tried to do that in this way, but I'm not sure that it is the correct way to do that and if it is the correct way to set it I'm not understanding why I can write the required values that I need glucose and insulin to have in all steps (30 min, 60 min etc ...) in simulation. s2

Please try to explain in a step by step way.

Any help and advice will be very appreciate.

Thanks in advance.

Yuri05 commented 5 years ago

I need to set these output interval 0 min - 30 min, 30 min - 60 min, 90min -120min, 120 min -150 min (basically I need to see in the graphic the values of glucose and insulin both at time 0, 30, 60, 90, 120, 150) and to do that I did this but I'm not sure that it is the proper way to set what I need

Your settings are OK. It could be done easier by defining just one output interval with 2*N points/hour, e.g. grafik

I already know the values of glucose and insulin at each of these time (the simulation I need to see in Mobi's graphic is based on the result of an Ogtt of a specific person that did this test in a laboratory) and I need to tell Mobi that at time 0, 30, 60, 90, 120, 150 glucose and insuline must have some values that I have to set (but I don't know how to set this in Mobi, in the above screenshot I don't see a sort of field where I can write the values that I need to be computed in simulation at time 0, 30, 60 etc. , I mean I know how to set a start value, but I don't know how to tell Mobi that for example at time 30 glucose must be 130 and insulin 30, at time 60 glucose must be 200 and insulin 125 etc. ). (Naturally before setting the values I will convert them in mol).

As far as I understand, you are trying to adjust parameter values of your simulation in order to get better match between simulated and experimental data? For this, Parameter Identification tool should be used (obviously you have already figured this out :)

In order to tell MoBi the values of expected(experimental) concentrations (or amounts) of e.g. glucose and insuline in Venous Blood/Plasma, you should import Observed data sets. The whole workflow would look like this:

  1. Create an excel sheet with the following structure (replace <unit> with your units!):
Time [<unit>] Measurement name 1 [<unit>] ... Measurement n [<unit>]
Time 1 Value ... Value
... ... ... ...
Time m Value ... Value

E.g.

Time [min] Glucose Fat/Interstitial [mg/ml] Insulin Fat/Interstitial [mg/ml]
0 1 2
30 3 4
60 5 6
90 7 8
120 9 10
150 11 12

Example: Glucose_Insulin_Fat.xlsx

If you don't have MS-Excel, you can create observed dat for import also in the CSV format. Make sure to:

  1. Import observed data from excel Make sure that the mapping is correct: Time is mapped to Time and every measurement to Measurement. grafik

In the next step, go through all tabs of the import and make sure that molecular weight, organ, compartment, molecule are properly set. Also you can define meaningfull naming pattern grafik grafik

  1. Run your simulation(s) of interest and select (at least) outputs corresponding to your experimental data (if your experimental data is given for concentration - select concentrations, if for amounts - select amounts) grafik

  2. Add your observed data sets to simulation by drag&drop into the results (plot) window

  3. Create Parameter Identification (PI) for your simulation(s) of interest. If the previous steps were done correctly, your observed data will be matched to simulation outputs automatically (otherwise you can also do it manually in the PI) grafik

  4. Configure, which simulation parameters you would like to optimize, configure optimization algorithm settings and start optimization S. PI-documentation for details

  5. After PI is finished: you can transfer optimized parameter values back into simulations using Transfer to Simulation button in the PI.

GlucoseInsulinModel.zip

Yuri05 commented 5 years ago

P.S. I would also recommend you to go through the OSP Tutorials

ghost commented 5 years ago

Thank you very much for your reply, It worked, but I have a couple of doubts, I'm not understanding why is the parameter indentification (that is performed for SGLT1, GLU2, GLU3, GLU4) affecting the glucose of the Ogtt model and not my values of glucose and insulin doesn't change it at all (I see it transfering results of parameter identification to the simulation looking at the graphic), I also don't know why when I select those molecoles to perform parameter identification, automatically appears glucose but insulin don't (I need to see in a graphic how my values of glucose and insuline changes after "optimization" of SGLT1, GLU2, GLU3, GLU4). This is what I did, what I also need to do to get a graphic like I wrote above?

a1

(before parameter identification)

a2 a3

(In general I need to see also insulin changes, but can I assume that for all those 4 molecules I selected, glucose is being used as parameter of the simulation for all those 4 molecules, or is it used just for one of them (the selected one?) )

a4 a5

(after parameter identification and after have trasnferred the result in the simulation).

Thanks in advance.

StephanSchaller commented 5 years ago

Hi @Dictatrix ,

not sure, fitting the Km values of these transporters is the best way to go to adjust your glucose and insulin trajectories. I would rather fit insulin sensitivity, glucose rate of absorption (Vmax SGLT1) and maybe the gastric emtying rate.

regarding your questiions:

(I need to see in a graphic how my values of glucose and insuline changes after "optimization" of SGLT1, GLU2, GLU3, GLU4)

If you extend your simulation tree (bottom left of window) you will see the simulation results listed with a time stamp. You can compare simulations bevor/after PI by creating a comparison plot and dragging the two corresponding simulations in there.

I also don't know why when I select those molecoles to perform parameter identification, automatically appears glucose but insulin don't

This depends if your imported observed data is mapped to the right simulation output (peripheral venous blood). To check this, double-clich on the observed data in the building block explorer and change organ and/or compartment type: image

hope this helps, Stephan

ghost commented 5 years ago

Hi, thank you very much for your reply.

When you wrote "insulin sensitivity" and "gastric empty rate" did you mean a IVGTT simulation and the fitting of GLP-I, or something else ?

I've just checked observed data in building block explorer and they are setted correctly (they are respectively venous blood-plasma- glucose and venous blood- plasma- insulin), what could be the reason why the dot (that rapresent values of glucose and insuline that I have imported) in the graphics of my previous message, are not doing any changes after PI? (I've also noticed that when I export the simulation in excel format I don't have even a column for the values of glucose and insuline that I have imported to be performed in the simulation).

Thanks again in advance.

StephanSchaller commented 5 years ago

By insulin sensitivity, I mean the parameter "S_I" and by gastric emptying I mean the parameter "GET".

I've just checked observed data in building block explorer and they are setted correctly (they are respectively venous blood-plasma- glucose and venous blood- plasma- insulin),

But according to your screenshots you need Peripheral Venous Blood (which is sth. different than Venous Blood)

what could be the reason why the dot (that rapresent values of glucose and insuline that I have imported) in the graphics of my previous message, are not doing any changes after PI?

Your "dots" are not supposed to change. This is your reference observed data. The "lines" are supposed to change.

Hope this helps, Stephan

ghost commented 5 years ago

Thank you again for your reply.

One last doubt, when I import my values in my observed data (the "dots"), can they "affect" in some way the "lines" in the graphic after the simulation (and after PI) ?

Thanks in advance.

Yuri05 commented 5 years ago

when I import my values in my observed data (the "dots"), can they "affect" in some way the "lines" in the graphic after the simulation (and after PI) ?

In a simulation: NO In a PI: YES (because simulation input parameters are adjusted, so that simulated data better matches observed data)