Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
|
#include <AbstractOdeBasedPhaseBasedCellCycleModel.hpp>
Protected Member Functions | |
AbstractOdeBasedPhaseBasedCellCycleModel (const AbstractOdeBasedPhaseBasedCellCycleModel &rModel) | |
Protected Member Functions inherited from AbstractPhaseBasedCellCycleModel | |
AbstractPhaseBasedCellCycleModel (const AbstractPhaseBasedCellCycleModel &rModel) | |
Protected Member Functions inherited from AbstractCellCycleModel | |
AbstractCellCycleModel (const AbstractCellCycleModel &rModel) | |
Protected Member Functions inherited from CellCycleModelOdeHandler | |
CellCycleModelOdeHandler (const CellCycleModelOdeHandler &rHandler) | |
bool | SolveOdeToTime (double currentTime) |
virtual void | AdjustOdeParameters (double currentTime) |
Protected Attributes | |
double | mDivideTime |
double | mG2PhaseStartTime |
Protected Attributes inherited from AbstractPhaseBasedCellCycleModel | |
CellCyclePhase | mCurrentCellCyclePhase |
double | mG1Duration |
double | mMinimumGapDuration |
double | mStemCellG1Duration |
double | mTransitCellG1Duration |
double | mSDuration |
double | mG2Duration |
double | mMDuration |
Protected Attributes inherited from AbstractCellCycleModel | |
CellPtr | mpCell |
double | mBirthTime |
bool | mReadyToDivide |
unsigned | mDimension |
Protected Attributes inherited from CellCycleModelOdeHandler | |
double | mDt |
AbstractOdeSystem * | mpOdeSystem |
boost::shared_ptr< AbstractCellCycleModelOdeSolver > | mpOdeSolver |
double | mLastTime |
bool | mFinishedRunningOdes |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | boost::serialization::access |
This class contains all the functionality shared by 'ODE-based' cell-cycle models, where the duration of one or more cell cycle phases are evaluated 'on the fly' as the cell ages, according to a system of ordinary differential equations (ODEs) governing (for example) the concentrations of key intracellular proteins. To determine when cell division should occur, one or more stopping conditions for this ODE system may be specified.
This class of cell-cycle models is distinct from 'simple' cell-cycle models, where the duration of each cell cycle phase is determined when the cell-cycle model is created.
Definition at line 61 of file AbstractOdeBasedPhaseBasedCellCycleModel.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 51 of file AbstractOdeBasedPhaseBasedCellCycleModel.cpp.
AbstractOdeBasedPhaseBasedCellCycleModel::AbstractOdeBasedPhaseBasedCellCycleModel | ( | double | lastTime = SimulationTime::Instance()->GetTime() , |
boost::shared_ptr< AbstractCellCycleModelOdeSolver > | pOdeSolver = boost::shared_ptr<AbstractCellCycleModelOdeSolver>() |
||
) |
Creates an AbstractOdeBasedPhaseBasedCellCycleModel, calls SetBirthTime on the AbstractPhaseBasedCellCycleModel to make sure that can be set 'back in time' for cells which did not divide at the current time.
lastTime | The birth time of the cell / last time model was evaluated (defaults to the current SimulationTime) |
pOdeSolver | An optional pointer to a cell-cycle model ODE solver object (allows the use of different ODE solvers) |
Definition at line 38 of file AbstractOdeBasedPhaseBasedCellCycleModel.cpp.
References AbstractCellCycleModel::SetBirthTime().
|
virtual |
Destructor.
Definition at line 47 of file AbstractOdeBasedPhaseBasedCellCycleModel.cpp.
double AbstractOdeBasedPhaseBasedCellCycleModel::GetOdeStopTime | ( | ) |
Get the time at which the ODE stopping event occurred. Only called in those subclasses for which stopping events are defined.
Definition at line 159 of file AbstractOdeBasedPhaseBasedCellCycleModel.cpp.
References DOUBLE_UNSET, and CellCycleModelOdeHandler::mpOdeSolver.
Referenced by UpdateCellCyclePhase(), and AbstractWntOdeBasedCellCycleModel::UpdateCellCyclePhase().
|
virtual |
Outputs cell cycle model parameters to file.
rParamsFile | the file stream to which the parameters are output |
Implements AbstractPhaseBasedCellCycleModel.
Reimplemented in Alarcon2004OxygenBasedCellCycleModel, AbstractVanLeeuwen2009WntSwatCellCycleModel, AbstractWntOdeBasedCellCycleModel, StochasticWntCellCycleModel, VanLeeuwen2009WntSwatCellCycleModelHypothesisOne, VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo, and WntCellCycleModel.
Definition at line 169 of file AbstractOdeBasedPhaseBasedCellCycleModel.cpp.
References AbstractPhaseBasedCellCycleModel::OutputCellCycleModelParameters().
Referenced by Alarcon2004OxygenBasedCellCycleModel::OutputCellCycleModelParameters(), and AbstractWntOdeBasedCellCycleModel::OutputCellCycleModelParameters().
|
virtual |
For a naturally cycling model this does not need to be overridden in the subclasses. But most models should override this function and then call AbstractOdeBasedPhaseBasedCellCycleModel::ResetForDivision() from inside their version.
Reimplemented from AbstractPhaseBasedCellCycleModel.
Reimplemented in Alarcon2004OxygenBasedCellCycleModel, AbstractWntOdeBasedCellCycleModel, and StochasticWntCellCycleModel.
Definition at line 148 of file AbstractOdeBasedPhaseBasedCellCycleModel.cpp.
References AbstractCellCycleModel::mBirthTime, mDivideTime, CellCycleModelOdeHandler::mFinishedRunningOdes, AbstractPhaseBasedCellCycleModel::mG1Duration, CellCycleModelOdeHandler::mLastTime, and AbstractPhaseBasedCellCycleModel::ResetForDivision().
Referenced by Alarcon2004OxygenBasedCellCycleModel::ResetForDivision(), and AbstractWntOdeBasedCellCycleModel::ResetForDivision().
|
inlineprivate |
Archive the cell-cycle model and member variables.
archive | the archive |
version | the current version of this class |
Definition at line 74 of file AbstractOdeBasedPhaseBasedCellCycleModel.hpp.
References mDivideTime, and mG2PhaseStartTime.
|
virtual |
This overrides the AbstractPhaseBasedCellCycleModel::SetBirthTime(double birthTime) because an ODE based cell-cycle model has more to reset...
birthTime | the simulation time when the cell was born |
Reimplemented from AbstractCellCycleModel.
Definition at line 70 of file AbstractOdeBasedPhaseBasedCellCycleModel.cpp.
References mDivideTime, CellCycleModelOdeHandler::mLastTime, and AbstractCellCycleModel::SetBirthTime().
|
virtual |
Default UpdateCellCyclePhase() method for an ODE-based cell-cycle model. This method calls SolveOdeToTime() for G1 phase and adds time for the other phases.
Can be overridden if they should do something more subtle.
Implements AbstractPhaseBasedCellCycleModel.
Reimplemented in AbstractWntOdeBasedCellCycleModel.
Definition at line 77 of file AbstractOdeBasedPhaseBasedCellCycleModel.cpp.
References EXCEPTION, AbstractCellCycleModel::GetAge(), AbstractPhaseBasedCellCycleModel::GetG2Duration(), AbstractPhaseBasedCellCycleModel::GetMDuration(), AbstractUntemplatedParameterisedSystem::GetNumberOfStateVariables(), GetOdeStopTime(), AbstractPhaseBasedCellCycleModel::GetSDuration(), SimulationTime::GetTime(), SimulationTime::Instance(), AbstractCellCycleModel::mBirthTime, AbstractPhaseBasedCellCycleModel::mCurrentCellCyclePhase, mDivideTime, CellCycleModelOdeHandler::mFinishedRunningOdes, AbstractPhaseBasedCellCycleModel::mG1Duration, mG2PhaseStartTime, CellCycleModelOdeHandler::mLastTime, CellCycleModelOdeHandler::mpOdeSystem, AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), and CellCycleModelOdeHandler::SolveOdeToTime().
Referenced by AbstractWntOdeBasedCellCycleModel::UpdateCellCyclePhase().
|
friend |
Needed for serialization.
Definition at line 66 of file AbstractOdeBasedPhaseBasedCellCycleModel.hpp.
|
protected |
The time at which the cell should divide - Set this to DBL_MAX in constructor.
Definition at line 85 of file AbstractOdeBasedPhaseBasedCellCycleModel.hpp.
Referenced by ResetForDivision(), serialize(), SetBirthTime(), and UpdateCellCyclePhase().
|
protected |
The start time for the G2 phase.
Definition at line 88 of file AbstractOdeBasedPhaseBasedCellCycleModel.hpp.
Referenced by serialize(), and UpdateCellCyclePhase().