Chaste
Release::3.4
|
#include <ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel.hpp>
Protected Member Functions | |
void | SetG1Duration () |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Private Attributes | |
double | mRate |
Friends | |
class | TestSimpleCellCycleModels |
class | boost::serialization::access |
Additional Inherited Members | |
Protected Attributes inherited from AbstractSimpleGenerationBasedCellCycleModel | |
unsigned | mGeneration |
unsigned | mMaxTransitGenerations |
Protected Attributes inherited from AbstractCellCycleModel | |
CellPtr | mpCell |
double | mBirthTime |
CellCyclePhase | mCurrentCellCyclePhase |
double | mG1Duration |
bool | mReadyToDivide |
unsigned | mDimension |
double | mMinimumGapDuration |
double | mStemCellG1Duration |
double | mTransitCellG1Duration |
double | mSDuration |
double | mG2Duration |
double | mMDuration |
A cell cycle model where the G1 duration is drawn from an exponential random distribution. The rate parameter of this distribution is defined by the member variable mRate.
The default value of mRate is set to the inverse of the default value of mTransitCellG1Duration in the constructor.
mRate may be set using the method SetRate(), which also sets mTransitCellG1Duration and mStemCellG1Duration to take the inverse of mRate's new value. Similarly, the overridden methods SetTransitCellG1Duration() and SetStemCellG1Duration() also set mRate to take the inverse of the new value of mTransitCellG1Duration and mStemCellG1Duration, respectively.
Definition at line 56 of file ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel.hpp.
ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel::ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel | ( | ) |
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 42 of file ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel.cpp.
Referenced by CreateCellCycleModel().
|
virtual |
Overridden builder method to create new copies of this cell-cycle model.
Implements AbstractCellCycleModel.
Definition at line 48 of file ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel.cpp.
References ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel(), AbstractCellCycleModel::mBirthTime, AbstractCellCycleModel::mG2Duration, AbstractSimpleGenerationBasedCellCycleModel::mGeneration, AbstractSimpleGenerationBasedCellCycleModel::mMaxTransitGenerations, AbstractCellCycleModel::mMDuration, AbstractCellCycleModel::mMinimumGapDuration, mRate, AbstractCellCycleModel::mSDuration, AbstractCellCycleModel::mStemCellG1Duration, AbstractCellCycleModel::mTransitCellG1Duration, AbstractCellCycleModel::SetBirthTime(), AbstractCellCycleModel::SetG2Duration(), AbstractSimpleGenerationBasedCellCycleModel::SetGeneration(), AbstractSimpleGenerationBasedCellCycleModel::SetMaxTransitGenerations(), AbstractCellCycleModel::SetMDuration(), AbstractCellCycleModel::SetMinimumGapDuration(), SetRate(), AbstractCellCycleModel::SetSDuration(), SetStemCellG1Duration(), and SetTransitCellG1Duration().
double ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel::GetRate | ( | ) |
Return the rate parameter (lambda) of the exponential distribution.
Definition at line 104 of file ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel.cpp.
References mRate.
|
virtual |
Outputs cell cycle model parameters to file.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from AbstractSimpleGenerationBasedCellCycleModel.
Definition at line 134 of file ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel.cpp.
References mRate, and AbstractSimpleGenerationBasedCellCycleModel::OutputCellCycleModelParameters().
|
inlineprivate |
Archive the cell-cycle model and random number generator, never used directly - boost uses this.
archive | the archive |
version | the current version of this class |
Definition at line 78 of file ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel.hpp.
References SerializableSingleton< SINGLETON_CLASS >::GetSerializationWrapper(), RandomNumberGenerator::Instance(), and mRate.
|
protectedvirtual |
Stochastically set the G1 duration following an exponential distribution. Called on cell creation at the start of a simulation, and for both parent and daughter cells at cell division.
Reimplemented from AbstractSimpleCellCycleModel.
Definition at line 84 of file ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel.cpp.
References RandomNumberGenerator::ExponentialRandomDeviate(), RandomNumberGenerator::Instance(), AbstractCellCycleModel::mG1Duration, AbstractCellCycleModel::mpCell, mRate, and NEVER_REACHED.
void ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel::SetRate | ( | double | rate | ) |
Set the rate parameter of the exponential distribution. For consistency, this function also resets the internal values for mTransitCellG1Duration and mStemCellG1Duration to the average value of the exponential random variable, i.e. 1.0/rate. This ensures that GetAverageTransitCellCycleTime and GetAverageStemCellCycleTime returns correct values.
rate |
Definition at line 109 of file ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel.cpp.
References mRate, SetStemCellG1Duration(), and SetTransitCellG1Duration().
Referenced by CreateCellCycleModel().
|
virtual |
Overridden SetStemCellG1Duration() method.
Set mStemCellG1Duration to be a given value and also set mRate to be the inverse of this value
stemCellG1Duration | the new value of mStemCellG1Duration |
Reimplemented from AbstractCellCycleModel.
Definition at line 118 of file ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel.cpp.
References mRate, and AbstractCellCycleModel::mStemCellG1Duration.
Referenced by CreateCellCycleModel(), and SetRate().
|
virtual |
Overridden SetTransitCellG1Duration() method.
Set mTransitCellG1Duration to be a given value and also set mRate to be the inverse of this value
transitCellG1Duration | the new value of mTransitCellG1Duration |
Reimplemented from AbstractCellCycleModel.
Definition at line 126 of file ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel.cpp.
References mRate, and AbstractCellCycleModel::mTransitCellG1Duration.
Referenced by CreateCellCycleModel(), and SetRate().
|
friend |
Needed for serialization.
Definition at line 70 of file ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel.hpp.
|
private |
The rate parameter of the exponential distribution, often denoted by lambda. This parameter is initialised to 1.0/mTransitCellG1Duration. The latter variable is inherited from the abstract cell cycle model. This initialisation ensures that cells will have the standard G1 duration (as defined in the abstract cell cycle model classes) on average.
Definition at line 67 of file ExponentiallyDistributedStochasticDurationGenerationBasedCellCycleModel.hpp.
Referenced by CreateCellCycleModel(), GetRate(), OutputCellCycleModelParameters(), serialize(), SetG1Duration(), SetRate(), SetStemCellG1Duration(), and SetTransitCellG1Duration().