Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
AbstractPhaseBasedCellCycleModel Class Referenceabstract

#include <AbstractPhaseBasedCellCycleModel.hpp>

+ Inheritance diagram for AbstractPhaseBasedCellCycleModel:
+ Collaboration diagram for AbstractPhaseBasedCellCycleModel:

Public Member Functions

 AbstractPhaseBasedCellCycleModel ()
 
virtual ~AbstractPhaseBasedCellCycleModel ()
 
virtual bool ReadyToDivide ()
 
virtual void ResetForDivision ()
 
virtual void UpdateCellCyclePhase ()=0
 
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)
 
virtual double GetAverageTransitCellCycleTime ()
 
virtual double GetAverageStemCellCycleTime ()
 
double GetMinimumGapDuration () const
 
void SetMinimumGapDuration (double minimumGapDuration)
 
virtual void OutputCellCycleModelParameters (out_stream &rParamsFile)=0
 
- Public Member Functions inherited from AbstractCellCycleModel
 AbstractCellCycleModel ()
 
virtual ~AbstractCellCycleModel ()
 
void SetCell (CellPtr pCell)
 
virtual void Initialise ()
 
virtual void InitialiseDaughterCell ()
 
CellPtr GetCell ()
 
virtual void SetBirthTime (double birthTime)
 
void SetDimension (unsigned dimension)
 
unsigned GetDimension () const
 
double GetBirthTime () const
 
double GetAge ()
 
virtual AbstractCellCycleModelCreateCellCycleModel ()=0
 
virtual bool CanCellTerminallyDifferentiate ()
 
void OutputCellCycleModelInfo (out_stream &rParamsFile)
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 

Protected Member Functions

 AbstractPhaseBasedCellCycleModel (const AbstractPhaseBasedCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractCellCycleModel
 AbstractCellCycleModel (const AbstractCellCycleModel &rModel)
 

Protected Attributes

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
 

Private Member Functions

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

Friends

class boost::serialization::access
 

Detailed Description

The AbstractPhaseBasedCellCycleModel contains basic information to all phase based cell-cycle models. It handles assignment of aspects of cell cycle phase.

Definition at line 56 of file AbstractPhaseBasedCellCycleModel.hpp.

Constructor & Destructor Documentation

◆ AbstractPhaseBasedCellCycleModel() [1/2]

AbstractPhaseBasedCellCycleModel::AbstractPhaseBasedCellCycleModel ( const AbstractPhaseBasedCellCycleModel 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 56 of file AbstractPhaseBasedCellCycleModel.cpp.

◆ AbstractPhaseBasedCellCycleModel() [2/2]

AbstractPhaseBasedCellCycleModel::AbstractPhaseBasedCellCycleModel ( )

Default constructor - creates an AbstractPhaseBasedCellCycleModel.

Definition at line 38 of file AbstractPhaseBasedCellCycleModel.cpp.

◆ ~AbstractPhaseBasedCellCycleModel()

AbstractPhaseBasedCellCycleModel::~AbstractPhaseBasedCellCycleModel ( )
virtual

Destructor.

Definition at line 52 of file AbstractPhaseBasedCellCycleModel.cpp.

Member Function Documentation

◆ GetAverageStemCellCycleTime()

double AbstractPhaseBasedCellCycleModel::GetAverageStemCellCycleTime ( )
virtual
Returns
the typical cell cycle duration for a stem cell, in hours. This method is overridden in some subclasses.

Implements AbstractCellCycleModel.

Reimplemented in AbstractWntOdeBasedCellCycleModel.

Definition at line 142 of file AbstractPhaseBasedCellCycleModel.cpp.

References GetSG2MDuration(), and mStemCellG1Duration.

◆ GetAverageTransitCellCycleTime()

double AbstractPhaseBasedCellCycleModel::GetAverageTransitCellCycleTime ( )
virtual
Returns
the typical cell cycle duration for a transit cell, in hours. This method is overridden in some subclasses.

Implements AbstractCellCycleModel.

Reimplemented in AbstractWntOdeBasedCellCycleModel.

Definition at line 137 of file AbstractPhaseBasedCellCycleModel.cpp.

References GetSG2MDuration(), and mTransitCellG1Duration.

◆ GetCurrentCellCyclePhase()

CellCyclePhase AbstractPhaseBasedCellCycleModel::GetCurrentCellCyclePhase ( ) const
Returns
the current cell cycle phase

Definition at line 132 of file AbstractPhaseBasedCellCycleModel.cpp.

References mCurrentCellCyclePhase.

Referenced by AbstractCryptStatistics::LabelSPhaseCells().

◆ GetG1Duration()

double AbstractPhaseBasedCellCycleModel::GetG1Duration ( ) const
virtual

◆ GetG2Duration()

◆ GetMDuration()

◆ GetMinimumGapDuration()

double AbstractPhaseBasedCellCycleModel::GetMinimumGapDuration ( ) const
Returns
mMinimumGapDuration

Definition at line 147 of file AbstractPhaseBasedCellCycleModel.cpp.

References mMinimumGapDuration.

◆ GetSDuration()

◆ GetSG2MDuration()

double AbstractPhaseBasedCellCycleModel::GetSG2MDuration ( ) const
Returns
mSDuration + mG2Duration + mMDuration

Definition at line 112 of file AbstractPhaseBasedCellCycleModel.cpp.

References mG2Duration, mMDuration, and mSDuration.

Referenced by GetAverageStemCellCycleTime(), and GetAverageTransitCellCycleTime().

◆ GetStemCellG1Duration()

double AbstractPhaseBasedCellCycleModel::GetStemCellG1Duration ( ) const

◆ GetTransitCellG1Duration()

◆ OutputCellCycleModelParameters()

◆ ReadyToDivide()

◆ ResetForDivision()

◆ serialize()

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

Archive the object and its member variables.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 69 of file AbstractPhaseBasedCellCycleModel.hpp.

References mCurrentCellCyclePhase, mG1Duration, mG2Duration, mMDuration, mMinimumGapDuration, mSDuration, mStemCellG1Duration, and mTransitCellG1Duration.

◆ SetG2Duration()

void AbstractPhaseBasedCellCycleModel::SetG2Duration ( double  g2Duration)

Set mG2Duration.

Parameters
g2Durationthe new value of mG2Duration

Definition at line 170 of file AbstractPhaseBasedCellCycleModel.cpp.

References mG2Duration.

◆ SetMDuration()

void AbstractPhaseBasedCellCycleModel::SetMDuration ( double  mDuration)

Set mMDuration.

Parameters
mDurationthe new value of mMDuration

Definition at line 176 of file AbstractPhaseBasedCellCycleModel.cpp.

References mMDuration.

◆ SetMinimumGapDuration()

void AbstractPhaseBasedCellCycleModel::SetMinimumGapDuration ( double  minimumGapDuration)

Set mMinimumGapDuration

Parameters
minimumGapDurationthe new value of mMinimumGapDuration

Definition at line 182 of file AbstractPhaseBasedCellCycleModel.cpp.

References mMinimumGapDuration.

◆ SetSDuration()

void AbstractPhaseBasedCellCycleModel::SetSDuration ( double  sDuration)

Set mSDuration.

Parameters
sDurationthe new value of mSDuration

Definition at line 164 of file AbstractPhaseBasedCellCycleModel.cpp.

References mSDuration.

◆ SetStemCellG1Duration()

void AbstractPhaseBasedCellCycleModel::SetStemCellG1Duration ( double  stemCellG1Duration)
virtual

Set mStemCellG1Duration.

Parameters
stemCellG1Durationthe new value of mStemCellG1Duration

Reimplemented in ExponentialG1GenerationalCellCycleModel, and FixedSequenceCellCycleModel.

Definition at line 152 of file AbstractPhaseBasedCellCycleModel.cpp.

References mStemCellG1Duration.

◆ SetTransitCellG1Duration()

void AbstractPhaseBasedCellCycleModel::SetTransitCellG1Duration ( double  transitCellG1Duration)
virtual

Set mTransitCellG1Duration.

Parameters
transitCellG1Durationthe new value of mTransitCellG1Duration

Reimplemented in ExponentialG1GenerationalCellCycleModel, and FixedSequenceCellCycleModel.

Definition at line 158 of file AbstractPhaseBasedCellCycleModel.cpp.

References mTransitCellG1Duration.

◆ UpdateCellCyclePhase()

virtual void AbstractPhaseBasedCellCycleModel::UpdateCellCyclePhase ( )
pure virtual

Set the phase the cell-cycle model is currently in. This method is called from ReadyToDivide() just prior to deciding whether to divide the cell, based on how far through the cell cycle it is, i.e. whether it has completed M, G1, S and G2 phases.

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

Implemented in AbstractOdeBasedPhaseBasedCellCycleModel, AbstractSimplePhaseBasedCellCycleModel, ContactInhibitionCellCycleModel, SimpleOxygenBasedCellCycleModel, AbstractWntOdeBasedCellCycleModel, SimpleWntCellCycleModel, and SingleOdeWntCellCycleModel.

Referenced by ReadyToDivide().

Friends And Related Symbol Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 61 of file AbstractPhaseBasedCellCycleModel.hpp.

Member Data Documentation

◆ mCurrentCellCyclePhase

◆ mG1Duration

◆ mG2Duration

double AbstractPhaseBasedCellCycleModel::mG2Duration
protected

Duration of G2 phase for all cell types.

Definition at line 123 of file AbstractPhaseBasedCellCycleModel.hpp.

Referenced by GetG2Duration(), GetSG2MDuration(), OutputCellCycleModelParameters(), serialize(), and SetG2Duration().

◆ mMDuration

double AbstractPhaseBasedCellCycleModel::mMDuration
protected

Duration of M phase for all cell types.

Definition at line 128 of file AbstractPhaseBasedCellCycleModel.hpp.

Referenced by GetMDuration(), GetSG2MDuration(), OutputCellCycleModelParameters(), serialize(), and SetMDuration().

◆ mMinimumGapDuration

double AbstractPhaseBasedCellCycleModel::mMinimumGapDuration
protected

Minimum possible duration of either of the gap phases (G1 or G2). Has units of hours.

Used to guarantee a strictly positive duration in cell-cycle models that use normal random deviates for G1 or G2 phases.

Definition at line 100 of file AbstractPhaseBasedCellCycleModel.hpp.

Referenced by StochasticOxygenBasedCellCycleModel::GenerateStochasticG2Duration(), StochasticWntCellCycleModel::GenerateStochasticG2Duration(), GetMinimumGapDuration(), serialize(), SimpleWntCellCycleModel::SetG1Duration(), and SetMinimumGapDuration().

◆ mSDuration

double AbstractPhaseBasedCellCycleModel::mSDuration
protected

Duration of S phase for all cell types.

Definition at line 118 of file AbstractPhaseBasedCellCycleModel.hpp.

Referenced by GetSDuration(), GetSG2MDuration(), OutputCellCycleModelParameters(), serialize(), and SetSDuration().

◆ mStemCellG1Duration

double AbstractPhaseBasedCellCycleModel::mStemCellG1Duration
protected

◆ mTransitCellG1Duration

double AbstractPhaseBasedCellCycleModel::mTransitCellG1Duration
protected

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