Chaste Commit::f2ff7ee04e70ac9d06c57344df8d017dbb12b97b
FixedSequenceCellCycleModel Class Reference

#include <FixedSequenceCellCycleModel.hpp>

+ Inheritance diagram for FixedSequenceCellCycleModel:
+ Collaboration diagram for FixedSequenceCellCycleModel:

Public Member Functions

 FixedSequenceCellCycleModel ()
 
AbstractCellCycleModelCreateCellCycleModel ()
 
void SetRate (double rate)
 
double GetRate ()
 
void SetStemCellG1Duration (double stemCellG1Duration)
 
void SetTransitCellG1Duration (double transitCellG1Duration)
 
virtual void OutputCellCycleModelParameters (out_stream &rParamsFile)
 
- Public Member Functions inherited from ExponentialG1GenerationalCellCycleModel
 ExponentialG1GenerationalCellCycleModel ()
 
- 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
 
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 ()
 
 FixedSequenceCellCycleModel (const FixedSequenceCellCycleModel &rModel)
 
- Protected Member Functions inherited from ExponentialG1GenerationalCellCycleModel
 ExponentialG1GenerationalCellCycleModel (const ExponentialG1GenerationalCellCycleModel &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 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

This FixedSequenceCellCycleModel generates a sequence of randomly distributed cell cycle times at the beginning of the simulation rather than drawing random numbers during the simulation. The random seed for the generation of these random numbers may be specified by the user and the cell cycle times are stored in a separate singleton, the CellCycleTimesGenerator. This gives the user control over the exact cell cycle times used in the simulation while not interfering with other random events implemented in the simulation algorithm.

This cell cycle model is an extended version of the ExponentialG1GenerationalCellCycleModel. Similar to ExponentialG1GenerationalCellCycleModel, the G1 duration is exponentially random distributed, and the interface to FixedSequenceCellCycleModel and ExponentialG1GenerationalCellCycleModel are similar. In contrast to ExponentialG1GenerationalCellCycleModel this cell cycle model does not treat stem cells and transit cells differently.

If using this cell cycle model, the following line must be called before starting the simulation:

CellCycleTimesGenerator::Instance()->GenerateCellCycleTimeSequence();

Further, the following line must be run at the end of the simulation:

CellCycleTimesGenerator::Destroy();

Definition at line 68 of file FixedSequenceCellCycleModel.hpp.

Constructor & Destructor Documentation

◆ FixedSequenceCellCycleModel() [1/2]

FixedSequenceCellCycleModel::FixedSequenceCellCycleModel ( const FixedSequenceCellCycleModel 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 49 of file FixedSequenceCellCycleModel.cpp.

◆ FixedSequenceCellCycleModel() [2/2]

FixedSequenceCellCycleModel::FixedSequenceCellCycleModel ( )

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

Definition at line 43 of file FixedSequenceCellCycleModel.cpp.

References AbstractPhaseBasedCellCycleModel::mStemCellG1Duration, and AbstractPhaseBasedCellCycleModel::mTransitCellG1Duration.

Referenced by CreateCellCycleModel().

Member Function Documentation

◆ CreateCellCycleModel()

AbstractCellCycleModel * FixedSequenceCellCycleModel::CreateCellCycleModel ( )
virtual

Overridden method to create new cell cycle models after division

Returns
new cell cycle model

Reimplemented from ExponentialG1GenerationalCellCycleModel.

Definition at line 69 of file FixedSequenceCellCycleModel.cpp.

References FixedSequenceCellCycleModel().

◆ GetRate()

double FixedSequenceCellCycleModel::GetRate ( )
virtual

Overridden GetRate method.

Returns
rate the value of the rate parameter

Reimplemented from ExponentialG1GenerationalCellCycleModel.

Definition at line 102 of file FixedSequenceCellCycleModel.cpp.

References CellCycleTimesGenerator::GetRate(), and CellCycleTimesGenerator::Instance().

◆ OutputCellCycleModelParameters()

void FixedSequenceCellCycleModel::OutputCellCycleModelParameters ( out_stream &  rParamsFile)
virtual

Outputs cell cycle model parameters to file.

Parameters
rParamsFilethe file stream to which the parameters are output

Reimplemented from ExponentialG1GenerationalCellCycleModel.

Definition at line 118 of file FixedSequenceCellCycleModel.cpp.

References CellCycleTimesGenerator::GetRate(), CellCycleTimesGenerator::Instance(), and AbstractSimpleGenerationalCellCycleModel::OutputCellCycleModelParameters().

◆ serialize()

template<class Archive >
void FixedSequenceCellCycleModel::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 82 of file FixedSequenceCellCycleModel.hpp.

References SerializableSingleton< SINGLETON_CLASS >::GetSerializationWrapper(), and CellCycleTimesGenerator::Instance().

◆ SetG1Duration()

void FixedSequenceCellCycleModel::SetG1Duration ( )
protectedvirtual

Stochastically set the G1 duration following the sequence in CellCycleTimesGenerator. Called on cell creation at the start of a simulation, and for both parent and daughter cells at cell division.

Reimplemented from ExponentialG1GenerationalCellCycleModel.

Definition at line 74 of file FixedSequenceCellCycleModel.cpp.

References CellCycleTimesGenerator::GetNextCellCycleTime(), CellCycleTimesGenerator::Instance(), AbstractCellProperty::IsType(), AbstractPhaseBasedCellCycleModel::mG1Duration, AbstractCellCycleModel::mpCell, and NEVER_REACHED.

◆ SetRate()

void FixedSequenceCellCycleModel::SetRate ( double  rate)
virtual

◆ SetStemCellG1Duration()

void FixedSequenceCellCycleModel::SetStemCellG1Duration ( double  stemCellG1Duration)
virtual

Overridden SetStemCellG1Duration() method.

Set mStemCellG1Duration to be a given value and also set mRate to be the inverse of this value

Parameters
stemCellG1Durationthe new value of mStemCellG1Duration

Reimplemented from ExponentialG1GenerationalCellCycleModel.

Definition at line 108 of file FixedSequenceCellCycleModel.cpp.

References EXCEPTION.

◆ SetTransitCellG1Duration()

void FixedSequenceCellCycleModel::SetTransitCellG1Duration ( double  transitCellG1Duration)
virtual

Overridden SetTransitCellG1Duration() method.

Set mTransitCellG1Duration to be a given value and also set mRate to be the inverse of this value

Parameters
transitCellG1Durationthe new value of mTransitCellG1Duration

Reimplemented from ExponentialG1GenerationalCellCycleModel.

Definition at line 113 of file FixedSequenceCellCycleModel.cpp.

References EXCEPTION.

Friends And Related Symbol Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 74 of file FixedSequenceCellCycleModel.hpp.


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