Chaste
Release::2018.1
|
#include <FixedSequenceCellCycleModel.hpp>
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 |
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.
|
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().
rModel | the cell cycle model to copy. |
Definition at line 49 of file FixedSequenceCellCycleModel.cpp.
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().
|
virtual |
Overridden method to create new cell cycle models after division
Reimplemented from ExponentialG1GenerationalCellCycleModel.
Definition at line 69 of file FixedSequenceCellCycleModel.cpp.
References FixedSequenceCellCycleModel().
|
virtual |
Overridden GetRate method.
Reimplemented from ExponentialG1GenerationalCellCycleModel.
Definition at line 102 of file FixedSequenceCellCycleModel.cpp.
References CellCycleTimesGenerator::GetRate(), and CellCycleTimesGenerator::Instance().
|
virtual |
Outputs cell cycle model parameters to file.
rParamsFile | the 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().
|
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 82 of file FixedSequenceCellCycleModel.hpp.
References SerializableSingleton< SINGLETON_CLASS >::GetSerializationWrapper(), and CellCycleTimesGenerator::Instance().
|
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(), AbstractPhaseBasedCellCycleModel::mG1Duration, AbstractCellCycleModel::mpCell, and NEVER_REACHED.
|
virtual |
Overridden SetRate method.
rate | the new value of the rate parameter |
Reimplemented from ExponentialG1GenerationalCellCycleModel.
Definition at line 94 of file FixedSequenceCellCycleModel.cpp.
References CellCycleTimesGenerator::Instance(), AbstractPhaseBasedCellCycleModel::mStemCellG1Duration, AbstractPhaseBasedCellCycleModel::mTransitCellG1Duration, and CellCycleTimesGenerator::SetRate().
|
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 ExponentialG1GenerationalCellCycleModel.
Definition at line 108 of file FixedSequenceCellCycleModel.cpp.
References EXCEPTION.
|
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 ExponentialG1GenerationalCellCycleModel.
Definition at line 113 of file FixedSequenceCellCycleModel.cpp.
References EXCEPTION.
|
friend |
Needed for serialization.
Definition at line 74 of file FixedSequenceCellCycleModel.hpp.