#include <AbstractWntOdeBasedCellCycleModel.hpp>
Inherits AbstractOdeBasedCellCycleModelWithStoppingEvent.
Inherited by AbstractVanLeeuwen2009WntSwatCellCycleModel, and WntCellCycleModel.
Public Member Functions | |
AbstractWntOdeBasedCellCycleModel () | |
AbstractWntOdeBasedCellCycleModel (const AbstractWntOdeBasedCellCycleModel &rOtherModel) | |
void | ResetForDivision () |
void | UpdateCellProliferativeType () |
virtual void | ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel ()=0 |
double | GetAverageTransitCellCycleTime () |
double | GetAverageStemCellCycleTime () |
virtual bool | CanCellTerminallyDifferentiate () |
Protected Member Functions | |
virtual double | GetOdeStopTime () |
double | GetWntLevel () |
Static Protected Attributes | |
static RungeKutta4IvpOdeSolver | msSolver |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | boost::serialization::access |
This class contains all the things common to the Wnt cell cycle ODE based models, the resetting method and updating of cell types etc.
The concrete models all need to operate with a WntConcentration singleton object.
These models have a constant length M phase, run ODEs to decide when to finish G1 phase, then add time for S and G2 phases (in some classes, random periods of time). The CellProliferativeType is updated dependent on the concentration of beta-catenin (given by one of the ODEs).
Definition at line 52 of file AbstractWntOdeBasedCellCycleModel.hpp.
AbstractWntOdeBasedCellCycleModel::AbstractWntOdeBasedCellCycleModel | ( | ) |
Default constructor
Definition at line 36 of file AbstractWntOdeBasedCellCycleModel.cpp.
References msSolver.
AbstractWntOdeBasedCellCycleModel::AbstractWntOdeBasedCellCycleModel | ( | const AbstractWntOdeBasedCellCycleModel & | rOtherModel | ) |
Copy constructor.
This is needed because we store and manage a pointer to an ODE system. Note that this class doesn't actually copy the ODE system, because each subclass will use a different type. Hence subclasses *must* copy their own ODE system in their copy constructor.
rOtherModel | the cell cycle model being copied. |
Definition at line 46 of file AbstractWntOdeBasedCellCycleModel.cpp.
References AbstractCellCycleModel::mDimension.
bool AbstractWntOdeBasedCellCycleModel::CanCellTerminallyDifferentiate | ( | ) | [virtual] |
Overridden CanCellTerminallyDifferentiate() method.
Reimplemented from AbstractCellCycleModel.
Definition at line 127 of file AbstractWntOdeBasedCellCycleModel.cpp.
virtual void AbstractWntOdeBasedCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel | ( | ) | [pure virtual] |
This must be implemented by subclasses to change cell type to reflect current levels of beta-catenin.
Implemented in AbstractVanLeeuwen2009WntSwatCellCycleModel, and WntCellCycleModel.
Referenced by UpdateCellProliferativeType().
double AbstractWntOdeBasedCellCycleModel::GetAverageStemCellCycleTime | ( | ) | [virtual] |
Overridden GetAverageStemCellCycleTime() method.
Reimplemented from AbstractCellCycleModel.
Definition at line 122 of file AbstractWntOdeBasedCellCycleModel.cpp.
double AbstractWntOdeBasedCellCycleModel::GetAverageTransitCellCycleTime | ( | ) | [virtual] |
Overridden GetAverageTransitCellCycleTime() method.
Reimplemented from AbstractCellCycleModel.
Definition at line 117 of file AbstractWntOdeBasedCellCycleModel.cpp.
double AbstractWntOdeBasedCellCycleModel::GetOdeStopTime | ( | ) | [protected, virtual] |
Implements AbstractOdeBasedCellCycleModel.
Definition at line 52 of file AbstractWntOdeBasedCellCycleModel.cpp.
References AbstractIvpOdeSolver::GetStoppingTime(), msSolver, and AbstractIvpOdeSolver::StoppingEventOccurred().
double AbstractWntOdeBasedCellCycleModel::GetWntLevel | ( | ) | [protected] |
Get the Wnt level experienced by the cell.
Definition at line 58 of file AbstractWntOdeBasedCellCycleModel.cpp.
References AbstractCellCycleModel::mDimension, and AbstractCellCycleModel::mpCell.
Referenced by WntCellCycleModel::Initialise(), AbstractVanLeeuwen2009WntSwatCellCycleModel::Initialise(), WntCellCycleModel::SolveOdeToTime(), and AbstractVanLeeuwen2009WntSwatCellCycleModel::SolveOdeToTime().
void AbstractWntOdeBasedCellCycleModel::ResetForDivision | ( | ) | [virtual] |
Resets the Wnt Model to the start of the cell cycle (this model does not cycle naturally) Cells are given a new birth time and cell cycle proteins are reset. Note that the Wnt pathway proteins maintain their current values.
Should only be called by the TissueCell::Divide() method.
Reimplemented from AbstractOdeBasedCellCycleModel.
Reimplemented in StochasticWntCellCycleModel.
Definition at line 89 of file AbstractWntOdeBasedCellCycleModel.cpp.
References AbstractOdeSystem::GetInitialConditions(), AbstractOdeBasedCellCycleModel::mpOdeSystem, and AbstractOdeSystem::rGetStateVariables().
void AbstractWntOdeBasedCellCycleModel::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Archive the cell cycle model, never used directly - boost uses this.
archive | the archive | |
version | the current version of this class |
Reimplemented from AbstractOdeBasedCellCycleModelWithStoppingEvent.
Reimplemented in StochasticWntCellCycleModel, VanLeeuwen2009WntSwatCellCycleModelHypothesisOne, and VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo.
Definition at line 65 of file AbstractWntOdeBasedCellCycleModel.hpp.
void AbstractWntOdeBasedCellCycleModel::UpdateCellProliferativeType | ( | ) |
Updates the current cell type to reflect whether the beta-catenin level has dropped low enough to make it stop dividing. This should only be called when the cell cycle model has been evaluated to the current time, or it may give misleading results.
Definition at line 105 of file AbstractWntOdeBasedCellCycleModel.cpp.
References ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), SimulationTime::Instance(), AbstractOdeBasedCellCycleModel::mLastTime, AbstractCellCycleModel::mpCell, and AbstractOdeBasedCellCycleModel::mpOdeSystem.
Referenced by WntCellCycleModel::SolveOdeToTime(), and AbstractVanLeeuwen2009WntSwatCellCycleModel::SolveOdeToTime().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractOdeBasedCellCycleModelWithStoppingEvent.
Reimplemented in AbstractVanLeeuwen2009WntSwatCellCycleModel, StochasticWntCellCycleModel, VanLeeuwen2009WntSwatCellCycleModelHypothesisOne, VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo, and WntCellCycleModel.
Definition at line 57 of file AbstractWntOdeBasedCellCycleModel.hpp.
RungeKutta4IvpOdeSolver AbstractWntOdeBasedCellCycleModel::msSolver [static, protected] |
The ODE solver.
Definition at line 77 of file AbstractWntOdeBasedCellCycleModel.hpp.
Referenced by AbstractWntOdeBasedCellCycleModel(), GetOdeStopTime(), WntCellCycleModel::SolveOdeToTime(), and AbstractVanLeeuwen2009WntSwatCellCycleModel::SolveOdeToTime().