![]() |
Chaste Commit::333233612e3dcc941d260418acd7b5ccdc30390e
|
#include <SingleOdeWntCellCycleModel.hpp>
Protected Member Functions | |
SingleOdeWntCellCycleModel (const SingleOdeWntCellCycleModel &rModel) | |
![]() | |
double | GetWntLevel () const |
WntConcentrationType | GetWntType () |
void | SetG1Duration () |
SimpleWntCellCycleModel (const SimpleWntCellCycleModel &rModel) | |
![]() | |
AbstractSimplePhaseBasedCellCycleModel (const AbstractSimplePhaseBasedCellCycleModel &rModel) | |
![]() | |
AbstractPhaseBasedCellCycleModel (const AbstractPhaseBasedCellCycleModel &rModel) | |
![]() | |
AbstractCellCycleModel (const AbstractCellCycleModel &rModel) | |
![]() | |
CellCycleModelOdeHandler (const CellCycleModelOdeHandler &rHandler) | |
bool | SolveOdeToTime (double currentTime) |
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 |
Additional Inherited Members | |
![]() | |
bool | mUseCellProliferativeTypeDependentG1Duration |
double | mWntStemThreshold |
double | mWntTransitThreshold |
double | mWntLabelledThreshold |
![]() | |
CellCyclePhase | mCurrentCellCyclePhase |
double | mG1Duration |
double | mMinimumGapDuration |
double | mStemCellG1Duration |
double | mTransitCellG1Duration |
double | mSDuration |
double | mG2Duration |
double | mMDuration |
![]() | |
CellPtr | mpCell |
double | mBirthTime |
bool | mReadyToDivide |
unsigned | mDimension |
![]() | |
double | mDt |
AbstractOdeSystem * | mpOdeSystem |
boost::shared_ptr< AbstractCellCycleModelOdeSolver > | mpOdeSolver |
double | mLastTime |
bool | mFinishedRunningOdes |
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 58 of file SingleOdeWntCellCycleModel.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 60 of file SingleOdeWntCellCycleModel.cpp.
References CellCycleModelOdeHandler::GetOdeSystem(), SimpleWntCellCycleModel::GetWntLevel(), AbstractCellCycleModel::mpCell, AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), CellCycleModelOdeHandler::SetOdeSystem(), and CellCycleModelOdeHandler::SetStateVariables().
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 41 of file SingleOdeWntCellCycleModel.cpp.
References CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::Instance(), CellCycleModelOdeHandler::mpOdeSolver, and CellCycleModelOdeHandler::SetDt().
|
privatevirtual |
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 122 of file SingleOdeWntCellCycleModel.cpp.
References SimpleWntCellCycleModel::GetWntLevel(), AbstractCellCycleModel::mpCell, CellCycleModelOdeHandler::mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::rGetStateVariables().
|
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 131 of file SingleOdeWntCellCycleModel.cpp.
References GetBetaCateninConcentration(), GetBetaCateninDivisionThreshold(), AbstractCellCycleModel::mpCell, and CellCycleModelOdeHandler::mpOdeSystem.
Referenced by Initialise(), and UpdateCellCyclePhase().
|
virtual |
Overridden builder method to create new copies of this cell-cycle model.
Reimplemented from SimpleWntCellCycleModel.
Definition at line 89 of file SingleOdeWntCellCycleModel.cpp.
double SingleOdeWntCellCycleModel::GetBetaCateninConcentration | ( | ) |
Definition at line 159 of file SingleOdeWntCellCycleModel.cpp.
References CellCycleModelOdeHandler::mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::rGetStateVariables().
Referenced by ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel().
double SingleOdeWntCellCycleModel::GetBetaCateninDivisionThreshold | ( | ) |
Definition at line 169 of file SingleOdeWntCellCycleModel.cpp.
References mBetaCateninDivisionThreshold.
Referenced by ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel().
|
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 AbstractSimplePhaseBasedCellCycleModel.
Definition at line 102 of file SingleOdeWntCellCycleModel.cpp.
References ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), AbstractParameterisedSystem< VECTOR >::GetInitialConditions(), SimpleWntCellCycleModel::GetWntLevel(), AbstractCellCycleModel::Initialise(), AbstractCellCycleModel::mBirthTime, AbstractCellCycleModel::mpCell, CellCycleModelOdeHandler::mpOdeSystem, CellCycleModelOdeHandler::SetLastTime(), and AbstractParameterisedSystem< VECTOR >::SetStateVariables().
|
virtual |
Overridden OutputCellCycleModelParameters() method.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from SimpleWntCellCycleModel.
Definition at line 174 of file SingleOdeWntCellCycleModel.cpp.
References SimpleWntCellCycleModel::OutputCellCycleModelParameters().
|
inlineprivate |
Archive the cell-cycle model and member variables.
archive | the archive |
version | the current version of this class |
Definition at line 71 of file SingleOdeWntCellCycleModel.hpp.
References mBetaCateninDivisionThreshold.
void SingleOdeWntCellCycleModel::SetBetaCateninDivisionThreshold | ( | double | betaCateninDivisionThreshold | ) |
Set mBetaCateninDivisionThreshold.
betaCateninDivisionThreshold | to be set |
Definition at line 164 of file SingleOdeWntCellCycleModel.cpp.
References mBetaCateninDivisionThreshold.
|
virtual |
This specialisation updates the beta-catenin level
Don't call the SimpleWntCellCycleModel - it will overwrite the beta catenin levels.
Reimplemented from SimpleWntCellCycleModel.
Definition at line 94 of file SingleOdeWntCellCycleModel.cpp.
References ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), SimulationTime::Instance(), CellCycleModelOdeHandler::SolveOdeToTime(), and AbstractSimplePhaseBasedCellCycleModel::UpdateCellCyclePhase().
|
friend |
Needed for serialization.
Definition at line 63 of file SingleOdeWntCellCycleModel.hpp.
|
private |
The cell differentiates when the beta-catenin level drops below this value. Initialised to a Magic Number!
Definition at line 82 of file SingleOdeWntCellCycleModel.hpp.
Referenced by GetBetaCateninDivisionThreshold(), serialize(), and SetBetaCateninDivisionThreshold().