#include <SingleOdeWntCellCycleModel.hpp>
Public Member Functions | |
SingleOdeWntCellCycleModel (boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >()) | |
void | Initialise () |
void | UpdateCellCyclePhase () |
AbstractCellCycleModel * | CreateCellCycleModel () |
double | GetBetaCateninConcentration () |
void | SetBetaCateninDivisionThreshold (double betaCateninDivisionThreshold) |
double | GetBetaCateninDivisionThreshold () |
virtual void | OutputCellCycleModelParameters (out_stream &rParamsFile) |
Private Member Functions | |
template<class Archive> | |
void | serialize (Archive &archive, const unsigned int version) |
void | ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel () |
virtual void | AdjustOdeParameters (double currentTime) |
Private Attributes | |
double | mBetaCateninDivisionThreshold |
Friends | |
class | boost::serialization::access |
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 50 of file SingleOdeWntCellCycleModel.hpp.
SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel | ( | 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 32 of file SingleOdeWntCellCycleModel.cpp.
References CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::Instance(), CellCycleModelOdeHandler::mpOdeSolver, and CellCycleModelOdeHandler::SetDt().
Referenced by CreateCellCycleModel().
void SingleOdeWntCellCycleModel::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Archive the cell-cycle model and member variables.
archive | the archive | |
version | the current version of this class |
Reimplemented from CellCycleModelOdeHandler.
Definition at line 63 of file SingleOdeWntCellCycleModel.hpp.
References mBetaCateninDivisionThreshold.
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::mCellProliferativeType, AbstractCellCycleModel::mpCell, and CellCycleModelOdeHandler::mpOdeSystem.
Referenced by Initialise(), and UpdateCellCyclePhase().
void SingleOdeWntCellCycleModel::AdjustOdeParameters | ( | double | currentTime | ) | [private, virtual] |
Adjust any ODE parameters needed before solving until currentTime. Defaults to do nothing.
currentTime | the time up to which the system will be solved. |
Reimplemented from CellCycleModelOdeHandler.
Definition at line 123 of file SingleOdeWntCellCycleModel.cpp.
References SimpleWntCellCycleModel::GetWntLevel(), AbstractCellCycleModel::mpCell, CellCycleModelOdeHandler::mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::rGetStateVariables().
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 103 of file SingleOdeWntCellCycleModel.cpp.
References ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), AbstractOdeSystem::GetInitialConditions(), SimpleWntCellCycleModel::GetWntLevel(), AbstractSimpleCellCycleModel::Initialise(), mBetaCateninDivisionThreshold, AbstractCellCycleModel::mBirthTime, AbstractCellCycleModel::mpCell, CellCycleModelOdeHandler::mpOdeSystem, CellCycleModelOdeHandler::SetLastTime(), and AbstractOdeSystem::SetStateVariables().
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 95 of file SingleOdeWntCellCycleModel.cpp.
References ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), SimulationTime::Instance(), CellCycleModelOdeHandler::SolveOdeToTime(), and AbstractSimpleCellCycleModel::UpdateCellCyclePhase().
AbstractCellCycleModel * SingleOdeWntCellCycleModel::CreateCellCycleModel | ( | ) | [virtual] |
Overridden builder method to create new copies of this cell-cycle model.
Reimplemented from SimpleWntCellCycleModel.
Definition at line 50 of file SingleOdeWntCellCycleModel.cpp.
References SimpleWntCellCycleModel::GetWntLevel(), mBetaCateninDivisionThreshold, AbstractCellCycleModel::mBirthTime, AbstractCellCycleModel::mCellProliferativeType, AbstractCellCycleModel::mDimension, AbstractCellCycleModel::mG2Duration, CellCycleModelOdeHandler::mLastTime, AbstractCellCycleModel::mMDuration, AbstractCellCycleModel::mMinimumGapDuration, AbstractCellCycleModel::mpCell, CellCycleModelOdeHandler::mpOdeSolver, CellCycleModelOdeHandler::mpOdeSystem, AbstractCellCycleModel::mSDuration, AbstractCellCycleModel::mStemCellG1Duration, AbstractCellCycleModel::mTransitCellG1Duration, SimpleWntCellCycleModel::mUseCellProliferativeTypeDependentG1Duration, SimpleWntCellCycleModel::mWntLabelledThreshold, SimpleWntCellCycleModel::mWntStemThreshold, SimpleWntCellCycleModel::mWntTransitThreshold, AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), SetBetaCateninDivisionThreshold(), AbstractCellCycleModel::SetBirthTime(), AbstractCellCycleModel::SetCellProliferativeType(), AbstractCellCycleModel::SetDimension(), AbstractCellCycleModel::SetG2Duration(), CellCycleModelOdeHandler::SetLastTime(), AbstractCellCycleModel::SetMDuration(), AbstractCellCycleModel::SetMinimumGapDuration(), CellCycleModelOdeHandler::SetOdeSystem(), AbstractCellCycleModel::SetSDuration(), CellCycleModelOdeHandler::SetStateVariables(), AbstractCellCycleModel::SetStemCellG1Duration(), AbstractCellCycleModel::SetTransitCellG1Duration(), SimpleWntCellCycleModel::SetUseCellProliferativeTypeDependentG1Duration(), SimpleWntCellCycleModel::SetWntLabelledThreshold(), SimpleWntCellCycleModel::SetWntStemThreshold(), SimpleWntCellCycleModel::SetWntTransitThreshold(), and SingleOdeWntCellCycleModel().
double SingleOdeWntCellCycleModel::GetBetaCateninConcentration | ( | ) |
Return the total beta-catenin concentration
Definition at line 146 of file SingleOdeWntCellCycleModel.cpp.
References CellCycleModelOdeHandler::mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::rGetStateVariables().
Referenced by ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel().
void SingleOdeWntCellCycleModel::SetBetaCateninDivisionThreshold | ( | double | betaCateninDivisionThreshold | ) |
Set mBetaCateninDivisionThreshold.
betaCateninDivisionThreshold | to be set |
Definition at line 151 of file SingleOdeWntCellCycleModel.cpp.
References mBetaCateninDivisionThreshold.
Referenced by CreateCellCycleModel().
double SingleOdeWntCellCycleModel::GetBetaCateninDivisionThreshold | ( | ) |
Get mBetaCateninDivisionThreshold.
Definition at line 156 of file SingleOdeWntCellCycleModel.cpp.
References mBetaCateninDivisionThreshold.
Referenced by ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel().
void SingleOdeWntCellCycleModel::OutputCellCycleModelParameters | ( | out_stream & | rParamsFile | ) | [virtual] |
Outputs cell-cycle model parameters to file.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from SimpleWntCellCycleModel.
Definition at line 161 of file SingleOdeWntCellCycleModel.cpp.
References SimpleWntCellCycleModel::OutputCellCycleModelParameters().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from CellCycleModelOdeHandler.
Definition at line 55 of file SingleOdeWntCellCycleModel.hpp.
double SingleOdeWntCellCycleModel::mBetaCateninDivisionThreshold [private] |
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 77 of file SingleOdeWntCellCycleModel.hpp.
Referenced by CreateCellCycleModel(), GetBetaCateninDivisionThreshold(), Initialise(), serialize(), and SetBetaCateninDivisionThreshold().