.. _PhysiCell_java_VirusMacrophage_Epithelial_java: Epitelial.java ============== .. role:: raw-html(raw) :format: html .. raw:: html .. code-block:: console import ru.biosoft.physicell.biofvm.Microenvironment; import ru.biosoft.physicell.core.Cell; import ru.biosoft.physicell.core.CellFunctions.UpdatePhenotype; import ru.biosoft.physicell.core.Phenotype; public class Epithelial extends UpdatePhenotype { @Override public void execute(Cell pCell, Phenotype phenotype, double dt) { // bookkeeping Microenvironment microenvironment = pCell.getMicroenvironment(); int nVirus = microenvironment.findDensityIndex( "virus" ); int nInterferon = microenvironment.findDensityIndex( "interferon" ); // compare against viral load. Should I commit apoptosis? double virus = phenotype.molecular.internSubstrates[nVirus]; if( virus >= pCell.customData.get( "burst_virion_count" ) ) { pCell.lyseCell(); // start_death( apoptosis_model_index ); pCell.functions.updatePhenotype = null; return; } // replicate virus particles inside me if( virus >= pCell.customData.get( "min_virion_count" ) ) { double new_virus = pCell.customData.get( "viral_replication_rate" ) * dt; phenotype.molecular.internSubstrates[nVirus] += new_virus; } if( virus >= pCell.customData.get( "virion_threshold_for_interferon" ) ) { phenotype.secretion.secretionRates[nInterferon] = pCell.customData.get( "max_interferon_secretion_rate" ); } } }