Open-Systems-Pharmacology / MoBi

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

Creation of reference paths in passive transports broken #1533

Closed PavelBal closed 1 month ago

PavelBal commented 2 months ago

When creating alias references for equations in the Pasive Transport formulas by "drag-and-drop", some generated paths are incorrect, the behavior changed as compared to v11, or I think the behavior was not completely right in the first place. I collected the different use cases in the tables below and compared the generated paths between v11 and v12

image

  1. Export any PK-Sim simulation to MoBi
  2. Open the "Passive Transports" BB
  3. Select transport PassiveDiffusionInt2Cell. The transport has Interstitial as SOURCE and Intracellular as TARGET
  4. Switch to the tab "Kinetic". Drag-and-drop the different parameters.

I marked cases that behave differently from expected in ${\color{red}red}$.

Absolute path

When "Absolute paths" should be created:

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">

  | Parameter | V11 | V12 | Expected -- | -- | -- | -- | -- 1 | Organism\|Age | Organism\|Age | Organism\|Age | Organism\|Age 2 | Organism\|Bone\|Volume | Organism\|Bone\|Volume | Organism\|Bone\|Volume | Organism\|Bone\|Volume 3 | Organism\|Bone\|Interstitial\|Volume | Organism\|Bone\|Interstitial\|Volume | Organism\|Bone\|Interstitial\|Volume | Organism\|Bone\|Interstitial\|Volume 4 | Organism\|Bone\|Interstitial\|Aciclovir | $${\color{red}SOURCE\|Aciclovir}$$ | $${\color{red}SOURCE\|Aciclovir}$$ | Organism\|Bone\|Interstitial\|Aciclovir 5 | Organism\|Bone\|Interstitial\|Aciclovir\|Concentration | $${\color{red}SOURCE\|Aciclovir\|Concentration}$$ | $${\color{red}NOT POSSIBLE}$$ | Organism\|Bone\|Interstitial\|Aciclovir\|Concentration 6 | Organism\|Bone\|Plasma\|Aciclovir | Organism\|Bone\|Plasma\|Aciclovir | Organism\|Bone\|Plasma\|Aciclovir | Organism\|Bone\|Plasma\|Aciclovir 7 | Organism\|Bone\|Plasma\|Aciclovir\|Concentration | Organism\|Bone\|Plasma\|Aciclovir\|Concentration | $${\color{red}NOT POSSIBLE}$$ | Organism\|Bone\|Plasma\|Aciclovir\|Concentration 8 | Neighborhoods\|ArterialBlood_bc_Bone_bc\|Aciclovir | Neighborhoods\|ArterialBlood_bc_Bone_bc\|Aciclovir | Neighborhoods\|ArterialBlood_bc_Bone_bc\|Aciclovir | Neighborhoods\|ArterialBlood_bc_Bone_bc\|Aciclovir 9 | Neighborhoods\|Bone_int_Bone_cell\|Aciclovir | Neighborhoods\|Bone_int_Bone_cell\|Aciclovir | Neighborhoods\|Bone_int_Bone_cell\|Aciclovir | Neighborhoods\|Bone_int_Bone_cell\|Aciclovir 10 | Neighborhoods\|Bone_int_Bone_cell\|Aciclovir\|P (interstitial->intracellular) | Neighborhoods\|Bone_int_Bone_cell\|Aciclovir\|P (interstitial->intracellular) | $${\color{red}NOT POSSIBLE}$$ | Neighborhoods\|Bone_int_Bone_cell\|Aciclovir\|P (interstitial->intracellular) 11 | Aciclovir\|Aqueous diffusion coefficient | Aciclovir\|Aqueous diffusion coefficient | Aciclovir\|Aqueous diffusion coefficient | Aciclovir\|Aqueous diffusion coefficient

Relative path

Local reference point: Organism|Bone|Intracellular

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">

  | Parameter | V11 | V12 | Expected -- | -- | -- | -- | -- 12 | Organism\|Age | ..\|..\|..\|..\|Age | ..\|..\|..\|..\|Age | ..\|..\|..\|..\|Age 13 | Organism\|Bone\|Volume | ..\|..\|..\|Volume | ..\|..\|..\|Volume | ..\|..\|..\|Volume 14 | Organism\|Brain\|Volume | ..\|..\|..\|..\|Brain\|Volume | ..\|..\|..\|..\|Brain\|Volume | ..\|..\|..\|..\|Brain\|Volume 15 | Organism\|Bone\|Interstitial\|Volume | SOURCE\|Volume | SOURCE\|Volume | SOURCE\|Volume 16 | Organism\|Brain\|Interstitial\|Volume | SOURCE\|Volume | SOURCE\|Volume | SOURCE\|Volume 17 | Organism\|Bone\|Interstitial\|Aciclovir | SOURCE\|MOLECULE | SOURCE\|MOLECULE | SOURCE\|MOLECULE 18 | Organism\|Bone\|Interstitial\|Aciclovir\|Concentration | SOURCE\|MOLECULE\|Concentration | ${\color{red}..\|..\|Aciclovir\|Concentration}$ | SOURCE\|MOLECULE\|Concentration 19 | Organism\|Bone\|Plasma\|Aciclovir | ${\color{red}..\|..\|..\|Plasma\|Aciclovir}$ | ${\color{red}..\|..\|..\|Plasma\|Aciclovir}$ | ..\|..\|..\|Plasma\|MOLECULE 20 | Organism\|Bone\|Plasma\|Aciclovir\|Concentration | ${\color{red}..\|..\|..\|Plasma\|Aciclovir\|Concentration}$ | ${\color{red}..\|..\|Aciclovir\|Concentration}$ | ..\|..\|..\|Plasma\|MOLECULE\|Concentration 21 | Neighborhoods\|ArterialBlood_bc_Bone_bc\|Aciclovir | ${\color{red}..\|..\|..\|..\|..\|Neighborhoods\|ArterialBlood_bc_Bone_bc\|Aciclovir}$ | ${\color{red}..\|..\|..\|..\|..\|Neighborhoods\|ArterialBlood_bc_Bone_bc\|Aciclovir}$ | ..\|..\|..\|..\|..\|Neighborhoods\|ArterialBlood_bc_Bone_bc\|MOLECULE 22 | Neighborhoods\|Bone_int_Bone_cell\|Aciclovir | ${\color{red}..\|..\|..\|..\|..\|Neighborhoods\|Bone_int_Bone_cell\|Aciclovir}$ | ${\color{red}..\|..\|..\|..\|..\|Neighborhoods\|Bone_int_Bone_cell\|Aciclovir}$ | NEIGHBORHOOD\|MOLECULE 23 | Neighborhoods\|Bone_int_Bone_cell\|Aciclovir\|P (interstitial->intracellular) | ${\color{red}..\|..\|..\|..\|..\|Neighborhoods\|Bone_int_Bone_cell\|Aciclovir\|P (interstitial->intracellular)}$ | ${\color{red}..\|..\|..\|..\|..\|Neighborhoods\|Bone_int_Bone_cell\|MOLECULE\|P (interstitial->intracellular)}$ | NEIGHBORHOOD\|MOLECULE\|P (interstitial->intracellular) 24 | Aciclovir\|Aqueous diffusion coefficient | ${\color{red}Aciclovir\|Aqueous diffusion coefficient}$ | ${\color{red}Aciclovir\|Aqueous diffusion coefficient}$ | MOLECULE\|Aqueous diffusion coefficient - Case 18 - molecule name is not substituted by `MOLECULE` and the path is not substituted by `SOURCE` in v12 - Case 19, 24 - Aciclovir should be substituted by `MOLECULE` - Case 20 - v12 generates the path with one `..|` less than v11 and no `Plasma`. Furthermore, I think the `MOLECULE` keyword should be used - Case 21: Use `MOLECULE`? - Case 22: Can the keyword `NEIGHBORHOOD` be used` - Case 23: as Case 22, plus v12 substitutes `Aciclovir` by `MOLECULE` (which I would expect) and v11 does not

@Yuri05 @msevestre what do you think?

PavelBal commented 2 months ago

@PavelBal 22 and 23 cannot use NEIGHBORHOOD as keyword.

Try out with local reference point set to the neighborhood?