Chaste  Release::2018.1
AbstractWntOdeBasedCellCycleModel Class Referenceabstract

#include <AbstractWntOdeBasedCellCycleModel.hpp>

+ Inheritance diagram for AbstractWntOdeBasedCellCycleModel:
+ Collaboration diagram for AbstractWntOdeBasedCellCycleModel:

Public Member Functions

 AbstractWntOdeBasedCellCycleModel (boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
virtual ~AbstractWntOdeBasedCellCycleModel ()
 
void ResetForDivision ()
 
void UpdateCellProliferativeType ()
 
virtual void ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel ()=0
 
double GetAverageTransitCellCycleTime ()
 
double GetAverageStemCellCycleTime ()
 
virtual bool CanCellTerminallyDifferentiate ()
 
virtual void OutputCellCycleModelParameters (out_stream &rParamsFile)
 
- Public Member Functions inherited from AbstractOdeBasedPhaseBasedCellCycleModel
 AbstractOdeBasedPhaseBasedCellCycleModel (double lastTime=SimulationTime::Instance() ->GetTime(), boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
virtual ~AbstractOdeBasedPhaseBasedCellCycleModel ()
 
double GetOdeStopTime ()
 
void SetBirthTime (double birthTime)
 
- Public Member Functions inherited from AbstractPhaseBasedCellCycleModel
 AbstractPhaseBasedCellCycleModel ()
 
virtual ~AbstractPhaseBasedCellCycleModel ()
 
virtual bool ReadyToDivide ()
 
CellCyclePhase GetCurrentCellCyclePhase () const
 
virtual double GetG1Duration () const
 
double GetStemCellG1Duration () const
 
double GetTransitCellG1Duration () const
 
double GetSG2MDuration () const
 
virtual double GetSDuration () const
 
virtual double GetG2Duration () const
 
virtual double GetMDuration () const
 
virtual void SetStemCellG1Duration (double stemCellG1Duration)
 
virtual void SetTransitCellG1Duration (double transitCellG1Duration)
 
void SetSDuration (double sDuration)
 
void SetG2Duration (double g2Duration)
 
void SetMDuration (double mDuration)
 
double GetMinimumGapDuration () const
 
void SetMinimumGapDuration (double minimumGapDuration)
 
- Public Member Functions inherited from AbstractCellCycleModel
 AbstractCellCycleModel ()
 
virtual ~AbstractCellCycleModel ()
 
void SetCell (CellPtr pCell)
 
virtual void Initialise ()
 
virtual void InitialiseDaughterCell ()
 
CellPtr GetCell ()
 
void SetDimension (unsigned dimension)
 
unsigned GetDimension () const
 
double GetBirthTime () const
 
double GetAge ()
 
virtual AbstractCellCycleModelCreateCellCycleModel ()=0
 
void OutputCellCycleModelInfo (out_stream &rParamsFile)
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 
- Public Member Functions inherited from CellCycleModelOdeHandler
 CellCycleModelOdeHandler (double lastTime=SimulationTime::Instance() ->GetTime(), boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
virtual ~CellCycleModelOdeHandler ()
 
AbstractOdeSystemGetOdeSystem () const
 
void SetOdeSystem (AbstractOdeSystem *pOdeSystem)
 
const boost::shared_ptr
< AbstractCellCycleModelOdeSolver
GetOdeSolver () const
 
void SetLastTime (double lastTime)
 
double GetDt ()
 
void SetDt (double timeStep)
 
void SetStateVariables (const std::vector< double > &rStateVariables)
 
std::vector< doubleGetProteinConcentrations () const
 
void SetProteinConcentrationsForTestsOnly (double lastTime, std::vector< double > proteinConcentrations)
 

Protected Member Functions

double GetWntLevel () const
 
void UpdateCellCyclePhase ()
 
 AbstractWntOdeBasedCellCycleModel (const AbstractWntOdeBasedCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractOdeBasedPhaseBasedCellCycleModel
 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)
 

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Attributes inherited from AbstractOdeBasedPhaseBasedCellCycleModel
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
 
AbstractOdeSystemmpOdeSystem
 
boost::shared_ptr
< AbstractCellCycleModelOdeSolver
mpOdeSolver
 
double mLastTime
 
bool mFinishedRunningOdes
 

Detailed Description

This class contains all the things common to the Wnt cell cycle ODE based models, the resetting method and updating of cell types etc.

The concrete models all need to operate with a WntConcentration singleton object.

These models have a constant length M phase, run ODEs to decide when to finish G1 phase, then add time for S and G2 phases (in some classes, random periods of time). The CellProliferativeType is updated dependent on the concentration of beta-catenin (given by one of the ODEs).

Definition at line 58 of file AbstractWntOdeBasedCellCycleModel.hpp.

Constructor & Destructor Documentation

AbstractWntOdeBasedCellCycleModel::AbstractWntOdeBasedCellCycleModel ( const AbstractWntOdeBasedCellCycleModel rModel)
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().

Parameters
rModelthe cell cycle model to copy.

Definition at line 47 of file AbstractWntOdeBasedCellCycleModel.cpp.

AbstractWntOdeBasedCellCycleModel::AbstractWntOdeBasedCellCycleModel ( boost::shared_ptr< AbstractCellCycleModelOdeSolver pOdeSolver = boost::shared_ptr<AbstractCellCycleModelOdeSolver>())

Default constructor.

Parameters
pOdeSolverAn optional pointer to a cell-cycle model ODE solver object (allows the use of different ODE solvers)

Definition at line 38 of file AbstractWntOdeBasedCellCycleModel.cpp.

AbstractWntOdeBasedCellCycleModel::~AbstractWntOdeBasedCellCycleModel ( )
virtual

Destructor.

Definition at line 43 of file AbstractWntOdeBasedCellCycleModel.cpp.

Member Function Documentation

bool AbstractWntOdeBasedCellCycleModel::CanCellTerminallyDifferentiate ( )
virtual

Overridden CanCellTerminallyDifferentiate() method.

Returns
whether cell can terminally differentiate

Reimplemented from AbstractCellCycleModel.

Definition at line 141 of file AbstractWntOdeBasedCellCycleModel.cpp.

virtual void AbstractWntOdeBasedCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel ( )
pure virtual

Change cell type to reflect current levels of beta-catenin.

As this method is pure virtual, it must be overridden in subclasses.

Implemented in WntCellCycleModel, and AbstractVanLeeuwen2009WntSwatCellCycleModel.

Referenced by UpdateCellProliferativeType().

double AbstractWntOdeBasedCellCycleModel::GetAverageStemCellCycleTime ( )
virtual

Overridden GetAverageStemCellCycleTime() method.

Returns
time

Reimplemented from AbstractPhaseBasedCellCycleModel.

Definition at line 136 of file AbstractWntOdeBasedCellCycleModel.cpp.

double AbstractWntOdeBasedCellCycleModel::GetAverageTransitCellCycleTime ( )
virtual

Overridden GetAverageTransitCellCycleTime() method.

Returns
time

Reimplemented from AbstractPhaseBasedCellCycleModel.

Definition at line 131 of file AbstractWntOdeBasedCellCycleModel.cpp.

void AbstractWntOdeBasedCellCycleModel::ResetForDivision ( )
virtual

Resets the Wnt Model to the start of the cell cycle (this model does not cycle naturally) Cells are given a new birth time and cell cycle proteins are reset. Note that the Wnt pathway proteins maintain their current values.

Should only be called by the Cell::Divide() method.

Reimplemented from AbstractOdeBasedPhaseBasedCellCycleModel.

Reimplemented in StochasticWntCellCycleModel.

Definition at line 97 of file AbstractWntOdeBasedCellCycleModel.cpp.

References AbstractParameterisedSystem< VECTOR >::GetInitialConditions(), CellCycleModelOdeHandler::mpOdeSystem, AbstractOdeBasedPhaseBasedCellCycleModel::ResetForDivision(), and AbstractParameterisedSystem< VECTOR >::rGetStateVariables().

Referenced by StochasticWntCellCycleModel::ResetForDivision().

template<class Archive >
void AbstractWntOdeBasedCellCycleModel::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Archive the cell-cycle model, never used directly - boost uses this.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 71 of file AbstractWntOdeBasedCellCycleModel.hpp.

void AbstractWntOdeBasedCellCycleModel::UpdateCellCyclePhase ( )
protectedvirtual
void AbstractWntOdeBasedCellCycleModel::UpdateCellProliferativeType ( )

Updates the current cell type to reflect whether the beta-catenin level has dropped low enough to make it stop dividing. This should only be called when the cell-cycle model has been evaluated to the current time, or it may give misleading results.

Definition at line 124 of file AbstractWntOdeBasedCellCycleModel.cpp.

References ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), AbstractCellCycleModel::mpCell, and CellCycleModelOdeHandler::mpOdeSystem.

Referenced by UpdateCellCyclePhase().

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 63 of file AbstractWntOdeBasedCellCycleModel.hpp.


The documentation for this class was generated from the following files: