PhysiCell icon indicating copy to clipboard operation
PhysiCell copied to clipboard

Using a unique function to save both MultiCellDS data and intracellular data

Open vincent-noel opened this issue 2 years ago • 1 comments
trafficstars

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.

vincent-noel avatar Aug 01 '23 11:08 vincent-noel

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!

MathCancer avatar Aug 02 '23 13:08 MathCancer

on hold for now.

MathCancer avatar Jun 03 '24 19:06 MathCancer

Ok I have a brand new proposal ! I updated the initial text

vincent-noel avatar Jun 04 '24 04:06 vincent-noel

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"?

MathCancer avatar Jun 04 '24 22:06 MathCancer

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.

vincent-noel avatar Jun 04 '24 23:06 vincent-noel

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!

MathCancer avatar Jun 04 '24 23:06 MathCancer

checks look good. let's approve this PR. thank you!

MathCancer avatar Jun 05 '24 03:06 MathCancer

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 ": ).

elmbeech avatar Jun 05 '24 17:06 elmbeech