#include <SingleOdeWntCellCycleModel.hpp>
Inherits SimpleWntCellCycleModel.
Wnt-dependent cell cycle model. Needs to operate with a WntConcentration singleton object.
This model has a constant length M phase, runs ODEs to decide when to finish G1 phase then adds time for S and G2 phases. The CellProliferativeType is updated dependent on the concentration of beta-catenin (given by one of the ODEs).
Definition at line 52 of file SingleOdeWntCellCycleModel.hpp.
SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel | ( | ) | [inline] |
Default constructor.
Definition at line 151 of file SingleOdeWntCellCycleModel.hpp.
References msSolver.
Referenced by CreateCellCycleModel().
SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel | ( | std::vector< double > & | rProteinConcs, | |
boost::shared_ptr< AbstractCellMutationState > | pMutationState, | |||
unsigned & | rDimension, | |||
bool | useTypeDependentG1 = false | |||
) |
A 'private' constructor for archiving.
rProteinConcs | a std::vector of doubles of the protein concentrations (see VanLeeuwen2009WntSwatCellCycleOdeSystem) | |
pMutationState | the mutation state of the cell (used by ODEs) | |
rDimension | the spatial dimension | |
useTypeDependentG1 | whether to make the duration of G1 phase dependent on the cell's proliferative type (defaults to false) |
Definition at line 68 of file SingleOdeWntCellCycleModel.cpp.
References mpOdeSystem, msSolver, AbstractOdeSystem::rGetStateVariables(), AbstractCellCycleModel::SetDimension(), and SimpleWntCellCycleModel::SetUseCellProliferativeTypeDependentG1Duration().
SingleOdeWntCellCycleModel::~SingleOdeWntCellCycleModel | ( | ) |
SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel | ( | const SingleOdeWntCellCycleModel & | rOtherModel | ) |
Copy constructor.
This is important to make a copy of the ODE system instead of giving the copied cell cycle model a pointer to the same ODE.
rOtherModel | the one to copy |
Definition at line 47 of file SingleOdeWntCellCycleModel.cpp.
References mBetaCateninDivisionThreshold, mLastTime, and mpOdeSystem.
void SingleOdeWntCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel | ( | ) | [private] |
Called by Initialise() and UpdateCellProliferativeType() only. Updates the mpCell::mCellProliferativeType to match mpOdeSystem's beta-catenin levels
This carries out the work for UpdateCellProliferativeType(); But does not check the current time so it can be used by the initialise method.
Definition at line 132 of file SingleOdeWntCellCycleModel.cpp.
References GetBetaCateninConcentration(), GetBetaCateninDivisionThreshold(), AbstractCellCycleModel::mpCell, mpOdeSystem, and TissueCell::SetCellProliferativeType().
Referenced by Initialise(), and UpdateCellCyclePhase().
AbstractCellCycleModel * SingleOdeWntCellCycleModel::CreateCellCycleModel | ( | ) | [virtual] |
Overridden builder method to create new copies of this cell cycle model.
Reimplemented from SimpleWntCellCycleModel.
Definition at line 42 of file SingleOdeWntCellCycleModel.cpp.
References SingleOdeWntCellCycleModel().
double SingleOdeWntCellCycleModel::GetBetaCateninConcentration | ( | ) |
Return the total beta-catenin concentration
Definition at line 146 of file SingleOdeWntCellCycleModel.cpp.
References mpOdeSystem, and AbstractOdeSystem::rGetStateVariables().
Referenced by ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel().
double SingleOdeWntCellCycleModel::GetBetaCateninDivisionThreshold | ( | ) |
Get mBetaCateninDivisionThreshold.
Definition at line 156 of file SingleOdeWntCellCycleModel.cpp.
References mBetaCateninDivisionThreshold.
Referenced by ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel().
void SingleOdeWntCellCycleModel::Initialise | ( | void | ) | [virtual] |
Initialise the cell cycle model at the start of a simulation.
This overridden method sets up a new WntCellCycleOdeSystem, sets the cell type according to the current beta catenin level and sets a random G2 duration.
Reimplemented from AbstractSimpleCellCycleModel.
Definition at line 85 of file SingleOdeWntCellCycleModel.cpp.
References ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), AbstractOdeSystem::GetInitialConditions(), TissueCell::GetMutationState(), SimpleWntCellCycleModel::GetWntLevel(), mBetaCateninDivisionThreshold, AbstractCellCycleModel::mBirthTime, mLastTime, AbstractCellCycleModel::mpCell, mpOdeSystem, and AbstractOdeSystem::SetStateVariables().
void SingleOdeWntCellCycleModel::load | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Load the cell cycle model and ODE system from archive.
archive | the archive | |
version | the archive version |
Definition at line 88 of file SingleOdeWntCellCycleModel.hpp.
References mBetaCateninDivisionThreshold, mLastTime, mpOdeSystem, and AbstractOdeSystem::rGetStateVariables().
void SingleOdeWntCellCycleModel::save | ( | Archive & | archive, | |
const unsigned int | version | |||
) | const [inline, private] |
Save the cell cycle model and ODE system to archive.
archive | the archive | |
version | the archive version |
Reference can be read or written into once mpOdeSystem has been set up mpOdeSystem isn't set up by the first constructor, but is by the second which is now utilised by the load_construct at the bottom of this file.
Note mpOdeSystem itself is not archived just the current values of the state variables...
Definition at line 63 of file SingleOdeWntCellCycleModel.hpp.
References mBetaCateninDivisionThreshold, mLastTime, mpOdeSystem, and AbstractOdeSystem::rGetStateVariables().
void SingleOdeWntCellCycleModel::SetBetaCateninDivisionThreshold | ( | double | betaCateninDivisionThreshold | ) |
Set mBetaCateninDivisionThreshold.
betaCateninDivisionThreshold | to be set |
Definition at line 151 of file SingleOdeWntCellCycleModel.cpp.
References mBetaCateninDivisionThreshold.
void SingleOdeWntCellCycleModel::UpdateBetaCateninLevel | ( | ) | [private] |
This method runs the ODEs and updates the beta-catenin level.
Definition at line 105 of file SingleOdeWntCellCycleModel.cpp.
References TissueCell::GetMutationState(), SimulationTime::GetTime(), SimulationTime::GetTimeStep(), SimpleWntCellCycleModel::GetWntLevel(), SimulationTime::Instance(), mLastTime, AbstractCellCycleModel::mpCell, mpOdeSystem, msSolver, AbstractOdeSystem::rGetStateVariables(), and AbstractIvpOdeSolver::SolveAndUpdateStateVariable().
Referenced by UpdateCellCyclePhase().
void SingleOdeWntCellCycleModel::UpdateCellCyclePhase | ( | ) | [virtual] |
This specialisation updates the beta-catenin level
Don't call the SimpleWntCellCycleModel - it will overwrite this.
Reimplemented from SimpleWntCellCycleModel.
Definition at line 59 of file SingleOdeWntCellCycleModel.cpp.
References ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), SimulationTime::Instance(), and UpdateBetaCateninLevel().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from SimpleWntCellCycleModel.
Definition at line 55 of file SingleOdeWntCellCycleModel.hpp.
The cell differentiates when the beta-catenin level drops below this value. It is hard coded in Initialise() because there are so many constructors.
Set and Get methods are also provided.
Definition at line 118 of file SingleOdeWntCellCycleModel.hpp.
Referenced by GetBetaCateninDivisionThreshold(), Initialise(), load(), save(), SetBetaCateninDivisionThreshold(), and SingleOdeWntCellCycleModel().
double SingleOdeWntCellCycleModel::mLastTime [private] |
The last time at which the ODEs were solved up to
Definition at line 144 of file SingleOdeWntCellCycleModel.hpp.
Referenced by Initialise(), load(), save(), SingleOdeWntCellCycleModel(), and UpdateBetaCateninLevel().
Pointer to the ODE system developed by Mirams et al (2010).
Definition at line 109 of file SingleOdeWntCellCycleModel.hpp.
Referenced by ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), GetBetaCateninConcentration(), Initialise(), load(), save(), SingleOdeWntCellCycleModel(), UpdateBetaCateninLevel(), and ~SingleOdeWntCellCycleModel().
RungeKutta4IvpOdeSolver SingleOdeWntCellCycleModel::msSolver [static, private] |
The ODE solver.
Definition at line 140 of file SingleOdeWntCellCycleModel.hpp.
Referenced by SingleOdeWntCellCycleModel(), and UpdateBetaCateninLevel().