![]() |
Chaste Commit::333233612e3dcc941d260418acd7b5ccdc30390e
|
#include <TysonNovakCellCycleModel.hpp>
Protected Member Functions | |
TysonNovakCellCycleModel (const TysonNovakCellCycleModel &rModel) | |
![]() | |
AbstractOdeBasedCellCycleModel (const AbstractOdeBasedCellCycleModel &rModel) | |
![]() | |
AbstractCellCycleModel (const AbstractCellCycleModel &rModel) | |
![]() | |
CellCycleModelOdeHandler (const CellCycleModelOdeHandler &rHandler) | |
bool | SolveOdeToTime (double currentTime) |
virtual void | AdjustOdeParameters (double currentTime) |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | TestOdeBasedCellCycleModels |
class | boost::serialization::access |
Additional Inherited Members | |
![]() | |
double | mDivideTime |
![]() | |
CellPtr | mpCell |
double | mBirthTime |
bool | mReadyToDivide |
unsigned | mDimension |
![]() | |
double | mDt |
AbstractOdeSystem * | mpOdeSystem |
boost::shared_ptr< AbstractCellCycleModelOdeSolver > | mpOdeSolver |
double | mLastTime |
bool | mFinishedRunningOdes |
Tyson-Novak 2001 cell-cycle model, taken from the version at doi:10.1006/jtbi.2001.2293
Time taken to progress through the cycle is deterministic and given by an ODE system independent of external factors.
Definition at line 51 of file TysonNovakCellCycleModel.hpp.
|
protected |
Protected copy-constructor for use by CreateCellCycleModel. The only way for external code to create a copy of a cell cycle model is by calling that method, to ensure that a model of the correct subclass is created. This copy-constructor helps subclasses to ensure that all member variables are correctly copied when this happens.
This method is called by child classes to set member variables for a daughter cell upon cell division. Note that the parent cell cycle model will have had ResetForDivision() called just before CreateCellCycleModel() is called, so performing an exact copy of the parent is suitable behaviour. Any daughter-cell-specific initialisation can be done in InitialiseDaughterCell().
rModel | the cell cycle model to copy. |
Definition at line 61 of file TysonNovakCellCycleModel.cpp.
References CellCycleModelOdeHandler::GetOdeSystem(), AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), CellCycleModelOdeHandler::SetOdeSystem(), and CellCycleModelOdeHandler::SetStateVariables().
TysonNovakCellCycleModel::TysonNovakCellCycleModel | ( | boost::shared_ptr< AbstractCellCycleModelOdeSolver > | pOdeSolver = boost::shared_ptr<AbstractCellCycleModelOdeSolver>() | ) |
Default constructor.
pOdeSolver | An optional pointer to a cell-cycle model ODE solver object (allows the use of different ODE solvers) |
Definition at line 40 of file TysonNovakCellCycleModel.cpp.
References CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::Instance(), CellCycleModelOdeHandler::mpOdeSolver, and CellCycleModelOdeHandler::SetDt().
|
virtual |
Overridden CanCellTerminallyDifferentiate() method.
Reimplemented from AbstractCellCycleModel.
Definition at line 151 of file TysonNovakCellCycleModel.cpp.
|
virtual |
Overridden builder method to create new copies of this cell-cycle model.
Implements AbstractCellCycleModel.
Definition at line 136 of file TysonNovakCellCycleModel.cpp.
|
virtual |
Overridden GetAverageStemCellCycleTime() method.
Implements AbstractCellCycleModel.
Definition at line 146 of file TysonNovakCellCycleModel.cpp.
|
virtual |
Overridden GetAverageTransitCellCycleTime() method.
Implements AbstractCellCycleModel.
Definition at line 141 of file TysonNovakCellCycleModel.cpp.
|
virtual |
Initialise the cell-cycle model at the start of a simulation.
This method will be called precisely once per cell set up in the initial cell population. It is not called on cell division; use ResetForDivision(), CreateCellCycleModel() and InitialiseDaughterCell() for that.
By the time this is called, a CellPopulation will have been set up, so the model can know where its cell is located in space. If relevant to the simulation, any singletons will also have been initialised.
Reimplemented from AbstractCellCycleModel.
Definition at line 83 of file TysonNovakCellCycleModel.cpp.
References AbstractParameterisedSystem< VECTOR >::GetInitialConditions(), AbstractCellCycleModel::Initialise(), CellCycleModelOdeHandler::mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::SetStateVariables().
|
virtual |
If the daughter cell type is stem, change it to transit.
Reimplemented from AbstractCellCycleModel.
Definition at line 117 of file TysonNovakCellCycleModel.cpp.
References AbstractCellCycleModel::mpCell.
|
virtual |
Overridden OutputCellCycleModelParameters() method.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from AbstractOdeBasedCellCycleModel.
Definition at line 156 of file TysonNovakCellCycleModel.cpp.
References AbstractOdeBasedCellCycleModel::OutputCellCycleModelParameters().
|
virtual |
Reset cell-cycle model by calling AbstractOdeBasedCellCycleModelWithStoppingEvent::ResetForDivision() and setting initial conditions for protein concentrations.
This model needs the protein concentrations and phase resetting to G0/G1.
In theory, the solution to the Tyson-Novak equations should exhibit stable oscillations, and we only need to halve the mass of the cell each period.
However, the backward Euler solver used to solve the equations currently returns a solution that diverges after long times, so we must reset the initial conditions each period.
When running with CVODE however we can use the halving the mass of the cell method.
Reimplemented from AbstractOdeBasedCellCycleModel.
Definition at line 92 of file TysonNovakCellCycleModel.cpp.
References AbstractParameterisedSystem< VECTOR >::GetInitialConditions(), CellCycleModelOdeHandler::mpOdeSystem, AbstractOdeBasedCellCycleModel::ResetForDivision(), AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), and AbstractParameterisedSystem< VECTOR >::SetStateVariables().
|
inlineprivate |
Archive the cell-cycle model, never used directly - boost uses this.
archive | the archive |
version | the current version of this class |
Definition at line 66 of file TysonNovakCellCycleModel.hpp.
|
friend |
Needed for serialization.
Definition at line 58 of file TysonNovakCellCycleModel.hpp.
|
friend |
Definition at line 55 of file TysonNovakCellCycleModel.hpp.