Commit 3d93fedd authored by Randy Heiland's avatar Randy Heiland
Browse files

updates for 3.2

parent 6a2f19ee
# pc4covid19 - COVID19 (SARS-CoV-2) tissue simulator nanoHUB app
**Version:** 3.1
**Version:** 3.2
**Release date:** 3 July 2020
**Release date:** 17 July 2020
## Overview
This repository contains code and data for the nanoHUB app https://nanohub.org/tools/pc4covid19.
......@@ -21,6 +21,9 @@ for a summary of changes to the model.
**This model will be continually refined with input from the community, particularly experts in infectious diseases. The validation state will be updated as this progresses.**
## Release summary:
### 3.2:
Updates to the core model; nothing new in the GUI.
### 3.1:
Minor updates to `About` text, e.g., explaining nature of stochastic results. Edits to `immune_submodels.cpp` (see details in the core model repository).
......
This diff is collapsed.
......@@ -377,15 +377,21 @@
desription="max distance at which to form a cell-cell attachment">15</max_attachment_distance>
<elastic_attachment_coefficient units="1/min" type="double"
description="elastic coefficient for cell-cell attachment">0.01</elastic_attachment_coefficient>
<!-- <maximum_tolerated_ingested_debris units="micron^3">3000</maximum_tolerated_ingested_debris> -->
<!--
<relative_maximum_volume units="dimensionless" type="double"
description="max tolerated volume (relative to normal volume) before triggering apoptosis">1.8</relative_maximum_volume>
--> <!-- disable in v 3.2 -->
<!-- more immmune cell parameters -->
<phagocytosis_rate units="1/min" type="double"
desription="rate of phagocytosing a nearby target">0.167</phagocytosis_rate>
<!--
<phagocytosis_relative_target_cutoff_size unit="dimensionless" type="double"
desription="do not phagocytose anything over this size (relative to cell's volume)">1.1</phagocytosis_relative_target_cutoff_size>
--> <!-- disable in v 3.2 -->
<sensitivity_to_debris_chemotaxis units="dimensionless" type="double"
description="relative sensitivity to debris in chemotaxis">1.0</sensitivity_to_debris_chemotaxis>
<sensitivity_to_chemokine_chemotaxis units="dimensionless" type="double"
......
This diff is collapsed.
......@@ -112,15 +112,15 @@ class UserTab(object):
param_name11.style.button_color = 'lightgreen'
self.CD8_Tcell_recruitment_min_signal = FloatText(
value=0.3,
step=0.01,
value=0.4,
step=0.1,
style=style, layout=widget_layout)
param_name12 = Button(description='CD8_Tcell_recruitment_saturation_signal', disabled=True, layout=name_button_layout)
param_name12.style.button_color = 'tan'
self.CD8_Tcell_recruitment_saturation_signal = FloatText(
value=0.5,
value=0.7,
step=0.1,
style=style, layout=widget_layout)
......
......@@ -283,7 +283,7 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "2c6f72341ac843f0a70e394d9ca07611",
"model_id": "d86ceab8843040bca8bf0389228e5aa7",
"version_major": 2,
"version_minor": 0
},
......
......@@ -72,7 +72,7 @@
#include <fstream>
#include <string>
static std::string PhysiCell_Version = "1.7.1";
static std::string PhysiCell_Version = "1.7.2beta";
static std::string PhysiCell_URL = "http://PhysiCell.MathCancer.org";
static std::string PhysiCell_DOI = "10.1371/journal.pcbi.1005991";
......
This diff is collapsed.
#include "../core/PhysiCell.h"
#include "../modules/PhysiCell_standard_modules.h"
using namespace BioFVM;
using namespace PhysiCell;
#include "./submodel_data_structures.h"
#ifndef __immune_submodels__
#define __immune_submodels__
/*
void immune_submodel_setup( void );
void immune_submodel_model( Cell* pCell, Phenotype& phenotype, double dt );
*/
/* functions for checking nearby cells */
Cell* check_for_live_neighbor_for_interaction( Cell* pAttacker , double dt );
Cell* check_for_dead_neighbor_for_interaction( Cell* pAttacker , double dt );
/* functions for cell-cell adhesion */
bool attempt_immune_cell_attachment( Cell* pAttacker, Cell* pTarget , double dt );
Cell* immune_cell_check_neighbors_for_attachment( Cell* pAttacker , double dt );
void add_elastic_velocity( Cell* pActingOn, Cell* pAttachedTo , double elastic_constant );
void extra_elastic_attachment_mechanics( Cell* pCell, Phenotype& phenotype, double dt );
void attach_cells( Cell* pCell_1, Cell* pCell_2 );
void detach_cells( Cell* pCell_1 , Cell* pCell_2 );
void remove_all_adhesions( Cell* pCell );
void CD8_Tcell_phenotype( Cell* pCell, Phenotype& phenotype, double dt );
void CD8_Tcell_mechanics( Cell* pCell, Phenotype& phenotype, double dt );
void macrophage_phenotype( Cell* pCell, Phenotype& phenotype, double dt );
void macrophage_mechanics( Cell* pCell, Phenotype& phenotype, double dt );
void neutrophil_phenotype( Cell* pCell, Phenotype& phenotype, double dt );
void neutrophil_mechanics( Cell* pCell, Phenotype& phenotype, double dt );
// this damage response will need to be added to the "infected cell response" model
// void TCell_induced_apoptosis( Cell* pCell, Phenotype& phenotype, double dt );
// immune cell recruitment
void create_infiltrating_immune_cell( Cell_Definition* pCD );
void create_infiltrating_immune_cell( std::string cell_name );
void create_infiltrating_Tcell( void );
void create_infiltrating_neutrophil( void );
void immune_cell_recruitment( double dt );
void initial_immune_cell_placement( void );
void immune_submodels_setup( void );
// this needs to be done on faster time scale;
// void receptor_dynamics_model( double dt );
void keep_immune_cells_off_edge(void);
void keep_immune_cells_in_bounds( double dt );
#endif
\ No newline at end of file
......@@ -2,7 +2,7 @@
using namespace PhysiCell;
std::string epithelium_submodel_version = "0.0.1";
std::string epithelium_submodel_version = "0.1.0";
Submodel_Information epithelium_submodel_info;
......
......@@ -2,7 +2,7 @@
using namespace PhysiCell;
std::string immune_submodels_version = "0.1.1";
std::string immune_submodels_version = "0.1.2";
// Submodel_Information Immune_submodels_info; // not needed for now
Submodel_Information CD8_submodel_info;
......@@ -523,7 +523,8 @@ void macrophage_phenotype( Cell* pCell, Phenotype& phenotype, double dt )
// make changes to volume change rate??
// if too much debris, comit to apoptosis
/* // remove in v 3.2
double relative_volume = ( phenotype.volume.total/pCD->phenotype.volume.total );
if( relative_volume > pCell->custom_data[ "relative_maximum_volume" ] )
{
......@@ -533,6 +534,7 @@ void macrophage_phenotype( Cell* pCell, Phenotype& phenotype, double dt )
return;
}
*/
// check for cells to eat
std::vector<Cell*> neighbors = pCell->cells_in_my_container();
......@@ -540,10 +542,12 @@ void macrophage_phenotype( Cell* pCell, Phenotype& phenotype, double dt )
// at least one of the cells is pCell
if( neighbors.size() < 2 )
{ return; }
double probability_of_phagocytosis = pCell->custom_data["phagocytosis_rate"] * dt;
/* // remove in v 3.2
double max_phagocytosis_volume = pCell->custom_data["phagocytosis_relative_target_cutoff_size" ] * pCD->phenotype.volume.total;
*/
int n = 0;
Cell* pTestCell = neighbors[n];
while( n < neighbors.size() )
......@@ -551,8 +555,8 @@ void macrophage_phenotype( Cell* pCell, Phenotype& phenotype, double dt )
pTestCell = neighbors[n];
// if it is not me and not a macrophage
if( pTestCell != pCell && pTestCell->phenotype.death.dead == true &&
UniformRandom() < probability_of_phagocytosis &&
pTestCell->phenotype.volume.total < max_phagocytosis_volume )
UniformRandom() < probability_of_phagocytosis ) // && // remove in v 3.2
// pTestCell->phenotype.volume.total < max_phagocytosis_volume ) / remove in v 3.2
{
{
pCell->ingest_cell( pTestCell );
......
......@@ -2,7 +2,7 @@
using namespace PhysiCell;
std::string internal_virus_replication_version = "0.2.0";
std::string internal_virus_replication_version = "0.3.0";
Submodel_Information internal_viral_dynamics_info;
......
......@@ -83,6 +83,8 @@
using namespace BioFVM;
using namespace PhysiCell;
std::string COVID19_version = "0.3.2";
int main( int argc, char* argv[] )
{
// load and parse settings file(s)
......@@ -162,6 +164,8 @@ int main( int argc, char* argv[] )
}
// main loop
std::cout << std::endl << std::endl << "***** This is COVID19 integrated version " << COVID19_version << ". *****" << std::endl << std::endl;
try
{
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment