Chaste  Release::3.4
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 ()
 
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 AbstractOdeBasedCellCycleModel
 AbstractOdeBasedCellCycleModel (double lastTime=SimulationTime::Instance() ->GetTime(), boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
virtual ~AbstractOdeBasedCellCycleModel ()
 
double GetOdeStopTime ()
 
void SetBirthTime (double birthTime)
 
std::vector< doubleGetProteinConcentrations () const
 
void SetProteinConcentrationsForTestsOnly (double lastTime, std::vector< double > proteinConcentrations)
 
void SetFinishedRunningOdes (bool finishedRunningOdes)
 
void SetDivideTime (double divideTime)
 
void SetG2PhaseStartTime (double g2PhaseStartTime)
 
- Public Member Functions inherited from AbstractCellCycleModel
 AbstractCellCycleModel ()
 
virtual ~AbstractCellCycleModel ()
 
void SetCell (CellPtr pCell)
 
CellPtr GetCell ()
 
void SetDimension (unsigned dimension)
 
unsigned GetDimension ()
 
double GetBirthTime () const
 
double GetAge ()
 
virtual bool ReadyToDivide ()
 
CellCyclePhase GetCurrentCellCyclePhase ()
 
virtual double GetG1Duration ()
 
double GetStemCellG1Duration ()
 
double GetTransitCellG1Duration ()
 
double GetSG2MDuration ()
 
virtual double GetSDuration ()
 
virtual double GetMDuration ()
 
virtual void SetStemCellG1Duration (double stemCellG1Duration)
 
virtual void SetTransitCellG1Duration (double transitCellG1Duration)
 
void SetSDuration (double sDuration)
 
void SetG2Duration (double g2Duration)
 
void SetMDuration (double mDuration)
 
double GetMinimumGapDuration ()
 
void SetMinimumGapDuration (double minimumGapDuration)
 
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
< AbstractCellCycleModelOdeSolver
GetOdeSolver () const
 
void SetLastTime (double lastTime)
 
double GetDt ()
 
void SetDt (double timeStep)
 
void SetStateVariables (const std::vector< double > &rStateVariables)
 

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 Member Functions inherited from AbstractWntOdeBasedCellCycleModel
double GetWntLevel ()
 
void UpdateCellCyclePhase ()
 
- Protected Member Functions inherited from CellCycleModelOdeHandler
bool SolveOdeToTime (double currentTime)
 
- Protected Attributes inherited from AbstractOdeBasedCellCycleModel
double mDivideTime
 
bool mFinishedRunningOdes
 
double mG2PhaseStartTime
 
- 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
 
- Protected Attributes inherited from CellCycleModelOdeHandler
double mDt
 
AbstractOdeSystemmpOdeSystem
 
boost::shared_ptr
< AbstractCellCycleModelOdeSolver
mpOdeSolver
 
double mLastTime
 

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 ( 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.

Referenced by CreateCellCycleModel().

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 97 of file StochasticWntCellCycleModel.cpp.

References AbstractWntOdeBasedCellCycleModel::GetWntLevel(), AbstractCellCycleModel::mBirthTime, AbstractCellCycleModel::mDimension, AbstractOdeBasedCellCycleModel::mDivideTime, AbstractOdeBasedCellCycleModel::mFinishedRunningOdes, AbstractCellCycleModel::mG2Duration, AbstractOdeBasedCellCycleModel::mG2PhaseStartTime, CellCycleModelOdeHandler::mLastTime, AbstractCellCycleModel::mMDuration, AbstractCellCycleModel::mMinimumGapDuration, AbstractCellCycleModel::mpCell, CellCycleModelOdeHandler::mpOdeSolver, CellCycleModelOdeHandler::mpOdeSystem, AbstractCellCycleModel::mSDuration, AbstractCellCycleModel::mStemCellG1Duration, AbstractCellCycleModel::mTransitCellG1Duration, AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), AbstractOdeBasedCellCycleModel::SetBirthTime(), AbstractCellCycleModel::SetDimension(), AbstractOdeBasedCellCycleModel::SetDivideTime(), AbstractOdeBasedCellCycleModel::SetFinishedRunningOdes(), AbstractCellCycleModel::SetG2Duration(), AbstractOdeBasedCellCycleModel::SetG2PhaseStartTime(), CellCycleModelOdeHandler::SetLastTime(), AbstractCellCycleModel::SetMDuration(), AbstractCellCycleModel::SetMinimumGapDuration(), CellCycleModelOdeHandler::SetOdeSystem(), AbstractCellCycleModel::SetSDuration(), CellCycleModelOdeHandler::SetStateVariables(), AbstractCellCycleModel::SetStemCellG1Duration(), AbstractCellCycleModel::SetTransitCellG1Duration(), and 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 59 of file StochasticWntCellCycleModel.cpp.

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

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

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

Reimplemented from AbstractCellCycleModel.

Definition at line 92 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 80 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 74 of file StochasticWntCellCycleModel.cpp.

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

void StochasticWntCellCycleModel::OutputCellCycleModelParameters ( out_stream &  rParamsFile)
virtual

Outputs cell-cycle model parameters to file.

Parameters
rParamsFilethe file stream to which the parameters are output

Reimplemented from WntCellCycleModel.

Definition at line 139 of file StochasticWntCellCycleModel.cpp.

References WntCellCycleModel::OutputCellCycleModelParameters().

void StochasticWntCellCycleModel::ResetForDivision ( )
virtual

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

Reimplemented from AbstractWntOdeBasedCellCycleModel.

Definition at line 86 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: