PhysiCell
PhysiCell copied to clipboard
Using a unique function to save both MultiCellDS data and intracellular data
This comes as an effort to make the main.cpp of PhysiBoSS (and ultimately intracellular) models standard. As of now, the only difference is that after saving the MultiCellDS data, I'm also saving a CSV PhysiBoSS state file. And if other intracellular models wants to save state, they have to do the same.
The idea here is to have a wrapper function to include MultiCellDS and intracellular data save, that I called save_PhysiCell_Timepoint and stored in PhysiCell_various_outputs.
There will have no impact on the rest of PhysiCell, since in this PR only PhysiBoSS Cell Lines example is using this wrapper. But ultimately, it would be nice if all projects would use it, so that we get a standard main.cpp file.
There is no hurry for this, I just wanted to code it to see what it would look like, and have your opinion about this.
Hmm, let's consider this one a bit more deeply after 1.13.1, just in case. I'm getting "branch conflicts" right now as well ...
Thanks!
on hold for now.
Ok I have a brand new proposal ! I updated the initial text
Hmm, so if I'm reading this correct, this adds a <custom> sub-field to an existing cell_population field?
This should work, although we may want to find a way to add it to the standard (for more general intracellular data) in the future. Do you have some sort of convention taht the list of cells in your custom is in the same order as in the "parent"?
Yes, it adds a new subfield, after the existing simplified_data, before the existing neighbor_graph fields. After thinking about it, I will rename it boolean_intracellular_data, so it won't step on the shoes of other intracellular addons. As for the order of the list of cells, it follows the order of all_cells, and there is the cell ID as the first column of the CSV file.
Thanks. IN the future, maybe we will extend / stnadardize with something like:
<intracellular_data type="PhysiBoSS" data_version="1.0">
<intracellular_data type="SBML" data_version="2.4">
etc. Then we could have more in-depth discussion on how to standardize. But for now, in custom is the right place to put it. That's effectively a beta test until we're convinced it's a good design.
Great work, and great suggestion from @elmbeech !
Thanks!
checks look good. let's approve this PR. thank you!
Thank you! Honestly, all credit to @vincent-noel! I just mentioned to Vincent what would be best from the physicell data load point of view ": ).