Chaste  Release::3.4
AbstractOdeBasedCellCycleModel Class Reference

#include <AbstractOdeBasedCellCycleModel.hpp>

+ Inheritance diagram for AbstractOdeBasedCellCycleModel:
+ Collaboration diagram for AbstractOdeBasedCellCycleModel:

Public Member Functions

 AbstractOdeBasedCellCycleModel (double lastTime=SimulationTime::Instance() ->GetTime(), boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
virtual ~AbstractOdeBasedCellCycleModel ()
 
virtual void UpdateCellCyclePhase ()
 
double GetOdeStopTime ()
 
void SetBirthTime (double birthTime)
 
std::vector< doubleGetProteinConcentrations () const
 
void SetProteinConcentrationsForTestsOnly (double lastTime, std::vector< double > proteinConcentrations)
 
virtual void ResetForDivision ()
 
void SetFinishedRunningOdes (bool finishedRunningOdes)
 
void SetDivideTime (double divideTime)
 
void SetG2PhaseStartTime (double g2PhaseStartTime)
 
virtual void OutputCellCycleModelParameters (out_stream &rParamsFile)
 
- Public Member Functions inherited from AbstractCellCycleModel
 AbstractCellCycleModel ()
 
virtual ~AbstractCellCycleModel ()
 
void SetCell (CellPtr pCell)
 
virtual void Initialise ()
 
virtual void InitialiseDaughterCell ()
 
CellPtr GetCell ()
 
void SetDimension (unsigned dimension)
 
unsigned GetDimension ()
 
double GetBirthTime () const
 
double GetAge ()
 
virtual bool ReadyToDivide ()
 
virtual AbstractCellCycleModelCreateCellCycleModel ()=0
 
CellCyclePhase GetCurrentCellCyclePhase ()
 
virtual double GetG1Duration ()
 
double GetStemCellG1Duration ()
 
double GetTransitCellG1Duration ()
 
double GetSG2MDuration ()
 
virtual double GetSDuration ()
 
virtual double GetG2Duration ()
 
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)
 
virtual double GetAverageTransitCellCycleTime ()
 
virtual double GetAverageStemCellCycleTime ()
 
virtual bool CanCellTerminallyDifferentiate ()
 
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)
 

Protected Attributes

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
 

Private Member Functions

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

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Member Functions inherited from CellCycleModelOdeHandler
bool SolveOdeToTime (double currentTime)
 
virtual void AdjustOdeParameters (double currentTime)
 

Detailed Description

This class contains all the functionality shared by 'ODE-based' cell-cycle models, where the duration of one or more cell cycle phases are evaluated 'on the fly' as the cell ages, according to a system of ordinary differential equations (ODEs) governing (for example) the concentrations of key intracellular proteins. To determine when cell division should occur, one or more stopping conditions for this ODE system may be specified.

This class of cell-cycle models is distinct from 'simple' cell-cycle models, where the duration of each cell cycle phase is determined when the cell-cycle model is created.

Definition at line 61 of file AbstractOdeBasedCellCycleModel.hpp.

Constructor & Destructor Documentation

AbstractOdeBasedCellCycleModel::AbstractOdeBasedCellCycleModel ( double  lastTime = SimulationTime::Instance()->GetTime(),
boost::shared_ptr< AbstractCellCycleModelOdeSolver pOdeSolver = boost::shared_ptr<AbstractCellCycleModelOdeSolver>() 
)

Creates an AbstractOdeBasedCellCycleModel, calls SetBirthTime on the AbstractCellCycleModel to make sure that can be set 'back in time' for cells which did not divide at the current time.

Parameters
lastTimeThe birth time of the cell / last time model was evaluated (defaults to the current SimulationTime)
pOdeSolverAn optional pointer to a cell-cycle model ODE solver object (allows the use of different ODE solvers)

Definition at line 41 of file AbstractOdeBasedCellCycleModel.cpp.

References AbstractCellCycleModel::SetBirthTime().

AbstractOdeBasedCellCycleModel::~AbstractOdeBasedCellCycleModel ( )
virtual

Destructor.

Definition at line 51 of file AbstractOdeBasedCellCycleModel.cpp.

Member Function Documentation

double AbstractOdeBasedCellCycleModel::GetOdeStopTime ( )

Get the time at which the ODE stopping event occurred. Only called in those subclasses for which stopping events are defined.

Returns
the time at which the ODE system reached its stopping event

Definition at line 158 of file AbstractOdeBasedCellCycleModel.cpp.

References DOUBLE_UNSET, and CellCycleModelOdeHandler::mpOdeSolver.

Referenced by AbstractWntOdeBasedCellCycleModel::UpdateCellCyclePhase(), and UpdateCellCyclePhase().

std::vector< double > AbstractOdeBasedCellCycleModel::GetProteinConcentrations ( ) const
Returns
the protein concentrations at the current time (useful for tests)

NB: Will copy the vector - you can't use this to modify the concentrations.

Definition at line 62 of file AbstractOdeBasedCellCycleModel.cpp.

References CellCycleModelOdeHandler::mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::rGetStateVariables().

Referenced by CellCycleModelProteinConcentrationsWriter< ELEMENT_DIM, SPACE_DIM >::VisitCell().

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

References mDivideTime, mFinishedRunningOdes, and mG2PhaseStartTime.

void AbstractOdeBasedCellCycleModel::SetProteinConcentrationsForTestsOnly ( double  lastTime,
std::vector< double proteinConcentrations 
)

Sets the protein concentrations and time when the model was last evaluated - should only be called by tests

Parameters
lastTimethe SimulationTime at which the protein concentrations apply
proteinConcentrationsa standard vector of doubles of protein concentrations

Definition at line 68 of file AbstractOdeBasedCellCycleModel.cpp.

References CellCycleModelOdeHandler::mLastTime, CellCycleModelOdeHandler::mpOdeSystem, AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), and AbstractParameterisedSystem< VECTOR >::SetStateVariables().

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 66 of file AbstractOdeBasedCellCycleModel.hpp.

Member Data Documentation


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