Integrate virus replication model (BioNetGen/SBML/ODEs) with PhysiCell.
-
if you plan to use libRoadrunner as your SBML solver, you should run the script
setup_libroadrunner.pyin the/betadirectory and follow instructions there. You may then need to editMake-sbml(in the root,/PhysiCelldirectory) to have LIBRR* paths be valid. -
PhysiCell/config_with_sbml.xmlis a PhysiCell configuration file that contains the basic "linkage" to the SBML model (search for "sbml" or "SBML" in it). -
to test without the SBML model, compile with
makeand runCOVID19to see the dummyviral_replication_main_modelbeing invoked. Files of interest arecustom_modules/viral_replication_submodel.{h,cpp}andmain.cpp. -
to test with the SBML model, compile with
make -f Make-sbml, have your relevant env var pointing to the Roadrunner libs you installed, and runCOVID19_sbml config_with_sbml.xml. Note thatMake-sbmldefines the compiler macro-D LIBROADRUNNERwhich allows for conditional compilation of#ifdef LIBROADRUNNERcode (rf.intracellular/PhysiCell_intracellular.h). However, we still need to make meaningful mappings between the SBML species and PhysiCell cells' custom data and, of course, do something meaningful in the custom code.
- added
custom_modules/viral_replication_submodel.{h,cpp}
- added
beta/setup_libroadrunner.py - added
intracellular/PhysiCell_intracellular.h - added
std::string sbml_filename;intoclass Cell_Definition(incore/PhysiCell_cell.h) - parse
<molecular>XML incore/PhysiCell_cell.cpp - incorporate intracellular (SBML, libRoadrunner) info into
custom.{h,cpp}- see
assign_SBML_model( Cell* pC )incustom.cpp - see extra code in
create_cell_types( void )where we obtain the desired SBML species' indices.
- see
- added
Make-sbml