Chaste  Release::2017.1
SingleOdeWntCellCycleModel Class Reference

#include <SingleOdeWntCellCycleModel.hpp>

+ Inheritance diagram for SingleOdeWntCellCycleModel:
+ Collaboration diagram for SingleOdeWntCellCycleModel:

Public Member Functions

 SingleOdeWntCellCycleModel (boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
void Initialise ()
 
void UpdateCellCyclePhase ()
 
AbstractCellCycleModelCreateCellCycleModel ()
 
double GetBetaCateninConcentration ()
 
void SetBetaCateninDivisionThreshold (double betaCateninDivisionThreshold)
 
double GetBetaCateninDivisionThreshold ()
 
virtual void OutputCellCycleModelParameters (out_stream &rParamsFile)
 
- Public Member Functions inherited from SimpleWntCellCycleModel
 SimpleWntCellCycleModel ()
 
virtual void InitialiseDaughterCell ()
 
bool GetUseCellProliferativeTypeDependentG1Duration () const
 
void SetUseCellProliferativeTypeDependentG1Duration (bool useCellProliferativeTypeDependentG1Duration=true)
 
virtual bool CanCellTerminallyDifferentiate ()
 
double GetWntStemThreshold () const
 
void SetWntStemThreshold (double wntStemThreshold)
 
double GetWntTransitThreshold () const
 
void SetWntTransitThreshold (double wntTransitThreshold)
 
double GetWntLabelledThreshold () const
 
void SetWntLabelledThreshold (double wntLabelledThreshold)
 
- Public Member Functions inherited from AbstractSimplePhaseBasedCellCycleModel
 AbstractSimplePhaseBasedCellCycleModel ()
 
virtual ~AbstractSimplePhaseBasedCellCycleModel ()
 
virtual void ResetForDivision ()
 
- 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
 
virtual void SetStemCellG1Duration (double stemCellG1Duration)
 
virtual void SetTransitCellG1Duration (double transitCellG1Duration)
 
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 ()
 
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

 SingleOdeWntCellCycleModel (const SingleOdeWntCellCycleModel &rModel)
 
- Protected Member Functions inherited from SimpleWntCellCycleModel
double GetWntLevel () const
 
WntConcentrationType GetWntType ()
 
void SetG1Duration ()
 
 SimpleWntCellCycleModel (const SimpleWntCellCycleModel &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)
 
- 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 ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel ()
 
virtual void AdjustOdeParameters (double currentTime)
 

Private Attributes

double mBetaCateninDivisionThreshold
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Attributes inherited from SimpleWntCellCycleModel
bool mUseCellProliferativeTypeDependentG1Duration
 
double mWntStemThreshold
 
double mWntTransitThreshold
 
double mWntLabelledThreshold
 
- 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. Needs to operate with a WntConcentration singleton object.

This model has a constant length M phase, runs ODEs to decide when to finish G1 phase then adds time for S and G2 phases. The CellProliferativeType is updated dependent on the concentration of beta-catenin (given by one of the ODEs).

Definition at line 58 of file SingleOdeWntCellCycleModel.hpp.

Constructor & Destructor Documentation

SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel ( const SingleOdeWntCellCycleModel 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 60 of file SingleOdeWntCellCycleModel.cpp.

References CellCycleModelOdeHandler::GetOdeSystem(), SimpleWntCellCycleModel::GetWntLevel(), AbstractCellCycleModel::mpCell, AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), CellCycleModelOdeHandler::SetOdeSystem(), and CellCycleModelOdeHandler::SetStateVariables().

Referenced by CreateCellCycleModel().

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

Default constructor.

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

Definition at line 41 of file SingleOdeWntCellCycleModel.cpp.

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

Member Function Documentation

void SingleOdeWntCellCycleModel::AdjustOdeParameters ( double  currentTime)
privatevirtual

Adjust any ODE parameters needed before solving until currentTime. Defaults to do nothing.

Parameters
currentTimethe time up to which the system will be solved.

Reimplemented from CellCycleModelOdeHandler.

Definition at line 122 of file SingleOdeWntCellCycleModel.cpp.

References SimpleWntCellCycleModel::GetWntLevel(), AbstractCellCycleModel::mpCell, CellCycleModelOdeHandler::mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::rGetStateVariables().

void SingleOdeWntCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel ( )
private

Called by Initialise() and UpdateCellProliferativeType() only. Updates the mpCell::mCellProliferativeType to match mpOdeSystem's beta-catenin levels

This carries out the work for UpdateCellProliferativeType(); But does not check the current time so it can be used by the initialise method.

Definition at line 131 of file SingleOdeWntCellCycleModel.cpp.

References GetBetaCateninConcentration(), GetBetaCateninDivisionThreshold(), AbstractCellCycleModel::mpCell, and CellCycleModelOdeHandler::mpOdeSystem.

Referenced by Initialise(), and UpdateCellCyclePhase().

AbstractCellCycleModel * SingleOdeWntCellCycleModel::CreateCellCycleModel ( )
virtual

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

Returns
the new cell-cycle model

Reimplemented from SimpleWntCellCycleModel.

Definition at line 89 of file SingleOdeWntCellCycleModel.cpp.

References SingleOdeWntCellCycleModel().

double SingleOdeWntCellCycleModel::GetBetaCateninConcentration ( )
double SingleOdeWntCellCycleModel::GetBetaCateninDivisionThreshold ( )
void SingleOdeWntCellCycleModel::Initialise ( void  )
virtual
void SingleOdeWntCellCycleModel::OutputCellCycleModelParameters ( out_stream &  rParamsFile)
virtual

Overridden OutputCellCycleModelParameters() method.

Parameters
rParamsFilethe file stream to which the parameters are output

Reimplemented from SimpleWntCellCycleModel.

Definition at line 174 of file SingleOdeWntCellCycleModel.cpp.

References CHASTE_CLASS_EXPORT, and SimpleWntCellCycleModel::OutputCellCycleModelParameters().

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

Archive the cell-cycle model and member variables.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 71 of file SingleOdeWntCellCycleModel.hpp.

References mBetaCateninDivisionThreshold.

void SingleOdeWntCellCycleModel::SetBetaCateninDivisionThreshold ( double  betaCateninDivisionThreshold)

Set mBetaCateninDivisionThreshold.

Parameters
betaCateninDivisionThresholdto be set

Definition at line 164 of file SingleOdeWntCellCycleModel.cpp.

References mBetaCateninDivisionThreshold.

void SingleOdeWntCellCycleModel::UpdateCellCyclePhase ( )
virtual

This specialisation updates the beta-catenin level

Don't call the SimpleWntCellCycleModel - it will overwrite the beta catenin levels.

Reimplemented from SimpleWntCellCycleModel.

Definition at line 94 of file SingleOdeWntCellCycleModel.cpp.

References ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), SimulationTime::Instance(), CellCycleModelOdeHandler::SolveOdeToTime(), and AbstractSimplePhaseBasedCellCycleModel::UpdateCellCyclePhase().

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 63 of file SingleOdeWntCellCycleModel.hpp.

Member Data Documentation

double SingleOdeWntCellCycleModel::mBetaCateninDivisionThreshold
private

The cell differentiates when the beta-catenin level drops below this value. Initialised to a Magic Number!

Definition at line 82 of file SingleOdeWntCellCycleModel.hpp.

Referenced by GetBetaCateninDivisionThreshold(), serialize(), and SetBetaCateninDivisionThreshold().


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