Chaste  Release::2017.1
UniformG1GenerationalCellCycleModel Class Reference

#include <UniformG1GenerationalCellCycleModel.hpp>

+ Inheritance diagram for UniformG1GenerationalCellCycleModel:
+ Collaboration diagram for UniformG1GenerationalCellCycleModel:

Public Member Functions

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

Protected Member Functions

void SetG1Duration ()
 
 UniformG1GenerationalCellCycleModel (const UniformG1GenerationalCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractSimpleGenerationalCellCycleModel
 AbstractSimpleGenerationalCellCycleModel (const AbstractSimpleGenerationalCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractSimplePhaseBasedCellCycleModel
 AbstractSimplePhaseBasedCellCycleModel (const AbstractSimplePhaseBasedCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractPhaseBasedCellCycleModel
 AbstractPhaseBasedCellCycleModel (const AbstractPhaseBasedCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractCellCycleModel
 AbstractCellCycleModel (const AbstractCellCycleModel &rModel)
 

Private Member Functions

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

Friends

class TestSimpleCellCycleModels
 
class boost::serialization::access
 

Additional Inherited Members

- Protected Attributes inherited from AbstractSimpleGenerationalCellCycleModel
unsigned mGeneration
 
unsigned mMaxTransitGenerations
 
- 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
 

Detailed Description

A stochastic cell-cycle model employed by Meineke et al (2001) in their off-lattice model of the intestinal crypt (doi:10.1046/j.0960-7722.2001.00216.x). Cells that are proliferating are assigned G1 phase durations drawn from a uniform distribution, which differs between stem and transit amplifying cells. All other cell-cycle phases are held constant.

Definition at line 49 of file UniformG1GenerationalCellCycleModel.hpp.

Constructor & Destructor Documentation

UniformG1GenerationalCellCycleModel::UniformG1GenerationalCellCycleModel ( const UniformG1GenerationalCellCycleModel 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 45 of file UniformG1GenerationalCellCycleModel.cpp.

UniformG1GenerationalCellCycleModel::UniformG1GenerationalCellCycleModel ( )

Constructor - just a default, mBirthTime is set in the AbstractCellCycleModel class. mG1Duration is set very high, it is set for the individual cells when InitialiseDaughterCell is called

Definition at line 41 of file UniformG1GenerationalCellCycleModel.cpp.

Referenced by CreateCellCycleModel(), and serialize().

Member Function Documentation

AbstractCellCycleModel * UniformG1GenerationalCellCycleModel::CreateCellCycleModel ( )
virtual

Overridden builder method to create new copies of this cell-cycle model.

Returns
new cell-cycle model

Implements AbstractCellCycleModel.

Definition at line 66 of file UniformG1GenerationalCellCycleModel.cpp.

References UniformG1GenerationalCellCycleModel().

Referenced by serialize().

void UniformG1GenerationalCellCycleModel::OutputCellCycleModelParameters ( out_stream &  rParamsFile)
virtual

Overridden OutputCellCycleModelParameters() method.

Parameters
rParamsFilethe file stream to which the parameters are output

Reimplemented from AbstractSimpleGenerationalCellCycleModel.

Definition at line 95 of file UniformG1GenerationalCellCycleModel.cpp.

References CHASTE_CLASS_EXPORT, and AbstractSimpleGenerationalCellCycleModel::OutputCellCycleModelParameters().

Referenced by serialize().

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

Archive the cell-cycle model and random number generator, never used directly - boost uses this.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 64 of file UniformG1GenerationalCellCycleModel.hpp.

References CHASTE_CLASS_EXPORT, CreateCellCycleModel(), SerializableSingleton< SINGLETON_CLASS >::GetSerializationWrapper(), RandomNumberGenerator::Instance(), OutputCellCycleModelParameters(), SetG1Duration(), and UniformG1GenerationalCellCycleModel().

void UniformG1GenerationalCellCycleModel::SetG1Duration ( )
protectedvirtual

Set the duration of G1 phase. This method is called on each cell at the start of a simulation, and for both daughter cells immediately following cell division.

If the cell associated with this cell-cycle model has stem proliferative type, then the G1 phase duration is drawn from the uniform distribution U[14,18]. If the cell has transit proliferative type (semi-differentiated), then the G1 phase duration is drawn from the uniform distribution U[4,6]. These two distributions, proposed by Meineke et al (doi:10.1046/j.0960-7722.2001.00216.x), reflect indirect biological observations that stem cells cycle more slowly than their progeny.

If the cell is differentiated, then the G1 phase duration is set to DBL_MAX, so that the cell will never reach the end of G1 phase.

Reimplemented from AbstractSimplePhaseBasedCellCycleModel.

Definition at line 71 of file UniformG1GenerationalCellCycleModel.cpp.

References AbstractPhaseBasedCellCycleModel::GetStemCellG1Duration(), AbstractPhaseBasedCellCycleModel::GetTransitCellG1Duration(), RandomNumberGenerator::Instance(), AbstractPhaseBasedCellCycleModel::mG1Duration, AbstractCellCycleModel::mpCell, NEVER_REACHED, and RandomNumberGenerator::ranf().

Referenced by serialize().

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 56 of file UniformG1GenerationalCellCycleModel.hpp.


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