#include <WntCellCycleModel.hpp>
Public Member Functions | |
WntCellCycleModel () | |
WntCellCycleModel (AbstractOdeSystem *pParentOdeSystem, const CellMutationState &rMutationState, double birthTime, double lastTime, bool inSG2MPhase, bool readyToDivide, double divideTime) | |
WntCellCycleModel (const std::vector< double > &rParentProteinConcentrations, const CellMutationState &rMutationState) | |
AbstractCellCycleModel * | CreateDaughterCellCycleModel () |
void | Initialise () |
bool | SolveOdeToTime (double currentTime) |
Private Member Functions | |
template<class Archive> | |
void | serialize (Archive &archive, const unsigned int version) |
void | ChangeCellTypeDueToCurrentBetaCateninLevel () |
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 CellType is updated dependent on the concentration of beta-catenin (given by one of the ODEs).
Note that this class uses C++'s default copying semantics, and so doesn't implement a copy constructor or operator=.
Definition at line 57 of file WntCellCycleModel.hpp.
WntCellCycleModel::WntCellCycleModel | ( | ) | [inline] |
Default constructor.
Definition at line 90 of file WntCellCycleModel.hpp.
Referenced by CreateDaughterCellCycleModel().
WntCellCycleModel::WntCellCycleModel | ( | AbstractOdeSystem * | pParentOdeSystem, | |
const CellMutationState & | rMutationState, | |||
double | birthTime, | |||
double | lastTime, | |||
bool | inSG2MPhase, | |||
bool | readyToDivide, | |||
double | divideTime | |||
) |
A private constructor for daughter cells called by the CreateDaughterCellCycleModel function (which can be called by TissueCell::CommonCopy() and isn't necessarily being born.
pParentOdeSystem | to copy the state of | |
rMutationState | the mutation state of the cell (used by ODEs) | |
birthTime | the simulation time when the cell divided (birth time of parent cell) | |
lastTime | last time the cell cycle model was evaluated | |
inSG2MPhase | whether the cell is in S-G2-M (not evaluating ODEs and just waiting) | |
readyToDivide | whether the cell is ready to divide | |
divideTime | if in the future this is the time at which the cell is going to divide |
Definition at line 31 of file WntCellCycleModel.cpp.
References SimulationTime::Instance(), AbstractCellCycleModel::mBirthTime, AbstractOdeBasedCellCycleModel::mDivideTime, AbstractOdeBasedCellCycleModel::mFinishedRunningOdes, AbstractOdeBasedCellCycleModel::mpOdeSystem, AbstractCellCycleModel::mReadyToDivide, and AbstractOdeSystem::rGetStateVariables().
WntCellCycleModel::WntCellCycleModel | ( | const std::vector< double > & | rParentProteinConcentrations, | |
const CellMutationState & | rMutationState | |||
) |
A private constructor for archiving.
rParentProteinConcentrations | a std::vector of doubles of the protein concentrations (see WntCellCycleOdeSystem) | |
rMutationState | the mutation state of the cell (used by ODEs) |
Definition at line 66 of file WntCellCycleModel.cpp.
References AbstractOdeBasedCellCycleModel::mpOdeSystem, and AbstractOdeSystem::rGetStateVariables().
void WntCellCycleModel::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Archive the cell cycle model, never used directly - boost uses this.
archive | ||
version |
Reimplemented from AbstractWntOdeBasedCellCycleModel.
Reimplemented in StochasticWntCellCycleModel.
Definition at line 63 of file WntCellCycleModel.hpp.
References AbstractOdeBasedCellCycleModel::mpOdeSystem.
void WntCellCycleModel::ChangeCellTypeDueToCurrentBetaCateninLevel | ( | ) | [private, virtual] |
Update the cell type according to the current beta catenin level as given by the WntCellCycleOdeSystem.
This method carries out the work for UpdateCellType(), but does not check the current time, so can also be called by Initialise().
Implements AbstractWntOdeBasedCellCycleModel.
Definition at line 95 of file WntCellCycleModel.cpp.
References AbstractCellCycleModel::mpCell, AbstractOdeBasedCellCycleModel::mpOdeSystem, AbstractOdeSystem::rGetStateVariables(), and TissueCell::SetCellType().
Referenced by Initialise().
AbstractCellCycleModel * WntCellCycleModel::CreateDaughterCellCycleModel | ( | ) | [virtual] |
Returns a new WntCellCycleModel, created with the correct initial conditions.
This method should be called just after the parent cell cycle model has been reset.
Implements AbstractCellCycleModel.
Reimplemented in StochasticWntCellCycleModel.
Definition at line 76 of file WntCellCycleModel.cpp.
References TissueCell::GetMutationState(), AbstractCellCycleModel::mBirthTime, AbstractOdeBasedCellCycleModel::mDivideTime, AbstractOdeBasedCellCycleModel::mFinishedRunningOdes, AbstractOdeBasedCellCycleModel::mLastTime, AbstractCellCycleModel::mpCell, AbstractOdeBasedCellCycleModel::mpOdeSystem, AbstractCellCycleModel::mReadyToDivide, and WntCellCycleModel().
void WntCellCycleModel::Initialise | ( | void | ) | [virtual] |
Initialise the cell cycle model at the start of a simulation.
This overridden method sets up a new WntCellCycleOdeSystem and sets the cell type according to the current beta catenin level.
Reimplemented from AbstractCellCycleModel.
Reimplemented in StochasticWntCellCycleModel.
Definition at line 113 of file WntCellCycleModel.cpp.
References ChangeCellTypeDueToCurrentBetaCateninLevel(), AbstractOdeSystem::GetInitialConditions(), TissueCell::GetMutationState(), WntConcentration::Instance(), AbstractCellCycleModel::mpCell, AbstractOdeBasedCellCycleModel::mpOdeSystem, and AbstractOdeSystem::SetStateVariables().
Referenced by StochasticWntCellCycleModel::Initialise().
bool WntCellCycleModel::SolveOdeToTime | ( | double | currentTime | ) | [virtual] |
Solve the ODEs up to the current time and return whether a stopping event occurred.
currentTime | the current time |
Implements AbstractOdeBasedCellCycleModel.
Definition at line 123 of file WntCellCycleModel.cpp.
References TissueCell::GetMutationState(), SimulationTime::GetTimeStep(), WntConcentration::GetWntLevel(), WntConcentration::Instance(), SimulationTime::Instance(), AbstractOdeBasedCellCycleModel::mLastTime, AbstractCellCycleModel::mpCell, AbstractOdeBasedCellCycleModel::mpOdeSystem, AbstractWntOdeBasedCellCycleModel::msSolver, AbstractOdeSystem::rGetStateVariables(), AbstractIvpOdeSolver::SolveAndUpdateStateVariable(), AbstractIvpOdeSolver::StoppingEventOccurred(), and AbstractWntOdeBasedCellCycleModel::UpdateCellType().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractWntOdeBasedCellCycleModel.
Reimplemented in StochasticWntCellCycleModel.
Definition at line 61 of file WntCellCycleModel.hpp.