#include <WntCellCycleModel.hpp>
Inherits AbstractWntOdeBasedCellCycleModel.
Inherited by StochasticWntCellCycleModel.
Public Member Functions | |
WntCellCycleModel () | |
WntCellCycleModel (const WntCellCycleModel &rOtherModel) | |
WntCellCycleModel (AbstractOdeSystem *pParentOdeSystem, boost::shared_ptr< AbstractCellMutationState > pMutationState, double birthTime, double lastTime, bool inSG2MPhase, bool readyToDivide, double divideTime, unsigned dimension) | |
WntCellCycleModel (const std::vector< double > &rParentProteinConcentrations, boost::shared_ptr< AbstractCellMutationState > pMutationState, const unsigned &rDimension) | |
AbstractCellCycleModel * | CreateCellCycleModel () |
void | Initialise () |
bool | SolveOdeToTime (double currentTime) |
Private Member Functions | |
template<class Archive > | |
void | save (Archive &archive, const unsigned int version) const |
template<class Archive > | |
void | load (Archive &archive, const unsigned int version) |
void | ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel () |
Friends | |
class | boost::serialization::access |
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).
Note that this class uses C++'s default copying semantics, and so doesn't implement a copy constructor or operator=.
Definition at line 55 of file WntCellCycleModel.hpp.
WntCellCycleModel::WntCellCycleModel | ( | ) |
Default constructor.
Definition at line 31 of file WntCellCycleModel.cpp.
Referenced by CreateCellCycleModel().
WntCellCycleModel::WntCellCycleModel | ( | const WntCellCycleModel & | rOtherModel | ) |
Copy constructor.
Also copies our ODE system.
rOtherModel | the instance being copied. |
Definition at line 36 of file WntCellCycleModel.cpp.
References AbstractOdeBasedCellCycleModel::mpOdeSystem.
WntCellCycleModel::WntCellCycleModel | ( | AbstractOdeSystem * | pParentOdeSystem, | |
boost::shared_ptr< AbstractCellMutationState > | pMutationState, | |||
double | birthTime, | |||
double | lastTime, | |||
bool | inSG2MPhase, | |||
bool | readyToDivide, | |||
double | divideTime, | |||
unsigned | dimension | |||
) |
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 | |
pMutationState | 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 | |
dimension | the spatial dimension |
WntCellCycleModel::WntCellCycleModel | ( | const std::vector< double > & | rParentProteinConcentrations, | |
boost::shared_ptr< AbstractCellMutationState > | pMutationState, | |||
const unsigned & | rDimension | |||
) |
A private constructor for archiving.
rParentProteinConcentrations | a std::vector of doubles of the protein concentrations (see WntCellCycleOdeSystem) | |
pMutationState | the mutation state of the cell (used by ODEs) | |
rDimension | the spatial dimension |
Definition at line 46 of file WntCellCycleModel.cpp.
References AbstractOdeBasedCellCycleModel::mpOdeSystem, and AbstractOdeSystem::rGetStateVariables().
void WntCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel | ( | ) | [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 UpdateCellProliferativeType(), but does not check the current time, so can also be called by Initialise().
Implements AbstractWntOdeBasedCellCycleModel.
Definition at line 64 of file WntCellCycleModel.cpp.
References AbstractCellCycleModel::mpCell, AbstractOdeBasedCellCycleModel::mpOdeSystem, AbstractOdeSystem::rGetStateVariables(), and TissueCell::SetCellProliferativeType().
Referenced by Initialise().
AbstractCellCycleModel * WntCellCycleModel::CreateCellCycleModel | ( | ) | [virtual] |
Overridden builder method to create new copies of this cell cycle model.
Implements AbstractCellCycleModel.
Reimplemented in StochasticWntCellCycleModel.
Definition at line 58 of file WntCellCycleModel.cpp.
References 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 82 of file WntCellCycleModel.cpp.
References ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), AbstractOdeSystem::GetInitialConditions(), TissueCell::GetMutationState(), AbstractWntOdeBasedCellCycleModel::GetWntLevel(), AbstractCellCycleModel::mpCell, AbstractOdeBasedCellCycleModel::mpOdeSystem, and AbstractOdeSystem::SetStateVariables().
void WntCellCycleModel::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 80 of file WntCellCycleModel.hpp.
References AbstractOdeBasedCellCycleModel::mpOdeSystem.
void WntCellCycleModel::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 |
Definition at line 66 of file WntCellCycleModel.hpp.
References AbstractOdeBasedCellCycleModel::mpOdeSystem.
Solve the ODEs up to the current time and return whether a stopping event occurred.
currentTime | the current time |
Implements AbstractOdeBasedCellCycleModel.
Definition at line 96 of file WntCellCycleModel.cpp.
References TissueCell::GetMutationState(), SimulationTime::GetTimeStep(), AbstractWntOdeBasedCellCycleModel::GetWntLevel(), SimulationTime::Instance(), AbstractOdeBasedCellCycleModel::mLastTime, AbstractCellCycleModel::mpCell, AbstractOdeBasedCellCycleModel::mpOdeSystem, AbstractWntOdeBasedCellCycleModel::msSolver, AbstractOdeSystem::rGetStateVariables(), AbstractIvpOdeSolver::SolveAndUpdateStateVariable(), AbstractIvpOdeSolver::StoppingEventOccurred(), and AbstractWntOdeBasedCellCycleModel::UpdateCellProliferativeType().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractWntOdeBasedCellCycleModel.
Reimplemented in StochasticWntCellCycleModel.
Definition at line 58 of file WntCellCycleModel.hpp.