Chaste  Release::2017.1
StochasticWntCellCycleModel Class Reference

#include <StochasticWntCellCycleModel.hpp>

+ Inheritance diagram for StochasticWntCellCycleModel:
+ Collaboration diagram for StochasticWntCellCycleModel:

Public Member Functions

 StochasticWntCellCycleModel (boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
virtual ~StochasticWntCellCycleModel ()
 
AbstractCellCycleModelCreateCellCycleModel ()
 
void InitialiseDaughterCell ()
 
void Initialise ()
 
void ResetForDivision ()
 
double GetG2Duration () const
 
virtual void OutputCellCycleModelParameters (out_stream &rParamsFile)
 
- Public Member Functions inherited from WntCellCycleModel
 WntCellCycleModel (boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
 ~WntCellCycleModel ()
 
AbstractCellCycleModelCreateCellCycleModel ()
 
void Initialise ()
 
- Public Member Functions inherited from AbstractWntOdeBasedCellCycleModel
 AbstractWntOdeBasedCellCycleModel (boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
virtual ~AbstractWntOdeBasedCellCycleModel ()
 
void UpdateCellProliferativeType ()
 
double GetAverageTransitCellCycleTime ()
 
double GetAverageStemCellCycleTime ()
 
virtual bool CanCellTerminallyDifferentiate ()
 
- Public Member Functions inherited from AbstractOdeBasedPhaseBasedCellCycleModel
 AbstractOdeBasedPhaseBasedCellCycleModel (double lastTime=SimulationTime::Instance() ->GetTime(), boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
virtual ~AbstractOdeBasedPhaseBasedCellCycleModel ()
 
double GetOdeStopTime ()
 
void SetBirthTime (double birthTime)
 
- 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 GetMDuration () const
 
virtual void SetStemCellG1Duration (double stemCellG1Duration)
 
virtual void SetTransitCellG1Duration (double transitCellG1Duration)
 
void SetSDuration (double sDuration)
 
void SetG2Duration (double g2Duration)
 
void SetMDuration (double mDuration)
 
double GetMinimumGapDuration () const
 
void SetMinimumGapDuration (double minimumGapDuration)
 
- Public Member Functions inherited from AbstractCellCycleModel
 AbstractCellCycleModel ()
 
virtual ~AbstractCellCycleModel ()
 
void SetCell (CellPtr pCell)
 
CellPtr GetCell ()
 
void SetDimension (unsigned dimension)
 
unsigned GetDimension () const
 
double GetBirthTime () const
 
double GetAge ()
 
void OutputCellCycleModelInfo (out_stream &rParamsFile)
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 
- Public Member Functions inherited from CellCycleModelOdeHandler
 CellCycleModelOdeHandler (double lastTime=SimulationTime::Instance() ->GetTime(), boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
virtual ~CellCycleModelOdeHandler ()
 
AbstractOdeSystemGetOdeSystem () const
 
void SetOdeSystem (AbstractOdeSystem *pOdeSystem)
 
const boost::shared_ptr< AbstractCellCycleModelOdeSolverGetOdeSolver () const
 
void SetLastTime (double lastTime)
 
double GetDt ()
 
void SetDt (double timeStep)
 
void SetStateVariables (const std::vector< double > &rStateVariables)
 
std::vector< doubleGetProteinConcentrations () const
 
void SetProteinConcentrationsForTestsOnly (double lastTime, std::vector< double > proteinConcentrations)
 

Protected Member Functions

 StochasticWntCellCycleModel (const StochasticWntCellCycleModel &rModel)
 
- Protected Member Functions inherited from WntCellCycleModel
 WntCellCycleModel (const WntCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractWntOdeBasedCellCycleModel
double GetWntLevel () const
 
void UpdateCellCyclePhase ()
 
 AbstractWntOdeBasedCellCycleModel (const AbstractWntOdeBasedCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractOdeBasedPhaseBasedCellCycleModel
 AbstractOdeBasedPhaseBasedCellCycleModel (const AbstractOdeBasedPhaseBasedCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractPhaseBasedCellCycleModel
 AbstractPhaseBasedCellCycleModel (const AbstractPhaseBasedCellCycleModel &rModel)
 
- Protected Member Functions inherited from AbstractCellCycleModel
 AbstractCellCycleModel (const AbstractCellCycleModel &rModel)
 
- Protected Member Functions inherited from CellCycleModelOdeHandler
 CellCycleModelOdeHandler (const CellCycleModelOdeHandler &rHandler)
 
bool SolveOdeToTime (double currentTime)
 

Private Member Functions

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

Private Attributes

double mStochasticG2Duration
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Attributes inherited from AbstractOdeBasedPhaseBasedCellCycleModel
double mDivideTime
 
double mG2PhaseStartTime
 
- 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
 
- Protected Attributes inherited from CellCycleModelOdeHandler
double mDt
 
AbstractOdeSystemmpOdeSystem
 
boost::shared_ptr< AbstractCellCycleModelOdeSolvermpOdeSolver
 
double mLastTime
 
bool mFinishedRunningOdes
 

Detailed Description

Wnt-dependent cell-cycle model with a stochastic G2 duration.

Note that this class uses C++'s default copying semantics, and so doesn't implement a copy constructor or operator=.

Definition at line 51 of file StochasticWntCellCycleModel.hpp.

Constructor & Destructor Documentation

StochasticWntCellCycleModel::StochasticWntCellCycleModel ( const StochasticWntCellCycleModel 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 59 of file StochasticWntCellCycleModel.cpp.

Referenced by CreateCellCycleModel().

StochasticWntCellCycleModel::StochasticWntCellCycleModel ( boost::shared_ptr< AbstractCellCycleModelOdeSolver pOdeSolver = boost::shared_ptr<AbstractCellCycleModelOdeSolver>())

The standard constructor called in tests.

Parameters
pOdeSolverAn optional pointer to a cell-cycle model ODE solver object (allows the use of different ODE solvers)

Definition at line 38 of file StochasticWntCellCycleModel.cpp.

References CellCycleModelOdeSolver< CELL_CYCLE_MODEL, ODE_SOLVER >::Instance(), and CellCycleModelOdeHandler::mpOdeSolver.

StochasticWntCellCycleModel::~StochasticWntCellCycleModel ( )
virtual

Empty virtual destructor so archiving works with static libraries.

Definition at line 56 of file StochasticWntCellCycleModel.cpp.

Member Function Documentation

AbstractCellCycleModel * StochasticWntCellCycleModel::CreateCellCycleModel ( )
virtual

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

Returns
the new cell-cycle model

Implements AbstractCellCycleModel.

Definition at line 124 of file StochasticWntCellCycleModel.cpp.

References StochasticWntCellCycleModel().

void StochasticWntCellCycleModel::GenerateStochasticG2Duration ( )
private

This method introduces the stochastic element of this class.

We allow the duration of the G2 phase of the cell cycle to vary as a normal random deviate with a mean of its deterministic duration, a standard deviation of 0.9 hours, and a cutoff to ensure that it is greater than some minimum value.

Definition at line 86 of file StochasticWntCellCycleModel.cpp.

References AbstractPhaseBasedCellCycleModel::GetG2Duration(), RandomNumberGenerator::Instance(), AbstractPhaseBasedCellCycleModel::mMinimumGapDuration, mStochasticG2Duration, and RandomNumberGenerator::NormalRandomDeviate().

Referenced by Initialise(), InitialiseDaughterCell(), and ResetForDivision().

double StochasticWntCellCycleModel::GetG2Duration ( ) const
virtual
Returns
the duration of the G2 phase.

Reimplemented from AbstractPhaseBasedCellCycleModel.

Definition at line 119 of file StochasticWntCellCycleModel.cpp.

References mStochasticG2Duration.

void StochasticWntCellCycleModel::Initialise ( void  )
virtual

Initialise the cell-cycle model at the start of a simulation.

This overridden method sets up a new WntCellCycleOdeSystem, sets the cell type according to the current beta catenin level and sets a random G2 duration.

Reimplemented from AbstractCellCycleModel.

Definition at line 107 of file StochasticWntCellCycleModel.cpp.

References GenerateStochasticG2Duration(), and WntCellCycleModel::Initialise().

void StochasticWntCellCycleModel::InitialiseDaughterCell ( )
virtual

Set the duration of the G2 phase for the daughter cell.

Reimplemented from AbstractCellCycleModel.

Definition at line 101 of file StochasticWntCellCycleModel.cpp.

References GenerateStochasticG2Duration(), and AbstractCellCycleModel::InitialiseDaughterCell().

void StochasticWntCellCycleModel::OutputCellCycleModelParameters ( out_stream &  rParamsFile)
virtual

Overridden OutputCellCycleModelParameters() method.

Parameters
rParamsFilethe file stream to which the parameters are output

Reimplemented from WntCellCycleModel.

Definition at line 129 of file StochasticWntCellCycleModel.cpp.

References CHASTE_CLASS_EXPORT, and WntCellCycleModel::OutputCellCycleModelParameters().

void StochasticWntCellCycleModel::ResetForDivision ( )
virtual

Reset cell-cycle model by calling AbstractOdeBasedPhaseBasedCellCycleModel::ResetForDivision() and setting a new random G2 duration.

Reimplemented from AbstractWntOdeBasedCellCycleModel.

Definition at line 113 of file StochasticWntCellCycleModel.cpp.

References GenerateStochasticG2Duration(), and AbstractWntOdeBasedCellCycleModel::ResetForDivision().

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

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

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 56 of file StochasticWntCellCycleModel.hpp.

Member Data Documentation

double StochasticWntCellCycleModel::mStochasticG2Duration
private

The duration of the G2 phase, set stochastically.

Definition at line 76 of file StochasticWntCellCycleModel.hpp.

Referenced by GenerateStochasticG2Duration(), GetG2Duration(), and serialize().


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