Introducing the dFBA tab for intracellular in PhysiCell Studio#343
Introducing the dFBA tab for intracellular in PhysiCell Studio#343rheiland merged 8 commits intoPhysiCell-Tools:developmentfrom
Conversation
…acellular dt, to control how frequentely to run dfba, and the reference volume, which determines the volume of reference for division
…esting so it is correctly parsed even if grwoth model is absent; cleared death model params before repopulating
… param_d to stay intact when populating the widgets
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
OK, I merged. But upon doing further tests, I seem to experience unexpected behavior. If I create 2 cell types and select the dFBA panel for the 1st cell type, but then change it to the Boolean panel, then select the 2nd cell type (which has |
|
mmm nice catch Randy, I did not try dFBA with Boolean, I am on it! |
|
To be clear, I wasn't suggesting mixing intracellular models. Rather, I just thought the GUI logic was confusing: 1) select cell type A, 2) select a type of intracellular model from the dropdown, 3) select cell type B, 4) select cell type A again and it doesn't seem to remember the last selected intracellular model type. It's not an error. The main thing is that you've got this terrific new functionality available now. |
Hello Randy,
afer a long time, here is the PR for the dFBA tab in intracellular, ready to welcome dFBA!
The structure of the code emulates the PhysiBoSS one, but it is of course tailored for the dFBA xml syntax. An xml file for dFBA has the following structure (example from the ecoli sample project):
<intracellular type="dfba"> <settings> <sbml_filename>./config/Ecoli_core.xml</sbml_filename> <intracellular_dt>0.01</intracellular_dt> </settings> <transport_model> <exchange substrate="glucose"> <fba_flux>R_EX_glc__D_e</fba_flux> <Km units="mM">0.02</Km> <Vmax units="fmol/pg DW cell/min">8.0</Vmax> </exchange> <exchange substrate="acetate"> <fba_flux>R_EX_ac_e</fba_flux> <Km units="mM">1</Km> <Vmax units="fmol/pg DW cell/min">0.0</Vmax> </exchange> <exchange substrate="oxygen"> <fba_flux>R_EX_o2_e</fba_flux> <Km units="mM">0.002</Km> <Vmax units="fmol/pg DW cell/min">18</Vmax> </exchange> <exchange substrate="CO2"> <fba_flux>R_EX_co2_e</fba_flux> <Km units="mM">1</Km> <Vmax units="fmol/pg DW cell/min">0.0</Vmax> </exchange> </transport_model> <growth_model> <cell_density units="g/ml">1.04</cell_density> <reference_volume units="micron^3">1.3</reference_volume> <max_growth_rate units="1/min">0.8</max_growth_rate> <objective_reaction>R_BIOMASS_Ecoli_core_w_GAM</objective_reaction> </growth_model> </intracellular>and the tab looks like this:

the files touched are mainly: cell_def_tab.py and populate_tree_cell_defs.py
This version is compatible with the PhysiCelldFBA version in the development branch (https://github.com/PhysiCelldFBA/PhysiCelldFBA/tree/development).
Please let me know what you think! Feedback are of course welcome and appreciated!