TysonNovakCellCycleModel Class Reference

#include <TysonNovakCellCycleModel.hpp>

Inheritance diagram for TysonNovakCellCycleModel:

Inheritance graph
[legend]
Collaboration diagram for TysonNovakCellCycleModel:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 TysonNovakCellCycleModel (boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
void Initialise ()
void ResetForDivision ()
AbstractCellCycleModelCreateCellCycleModel ()
double GetSDuration ()
double GetG2Duration ()
double GetMDuration ()
void InitialiseDaughterCell ()
double GetAverageTransitCellCycleTime ()
double GetAverageStemCellCycleTime ()
bool CanCellTerminallyDifferentiate ()

Private Member Functions

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

Friends

class TestOdeBasedCellCycleModels
class boost::serialization::access


Detailed Description

Tyson-Novak 2001 cell cycle model, taken from the version at doi:10.1006/jtbi.2001.2293

Note that this is not a model for murine or human colonic-cell cycling, but is included in chaste as one of the most commonly known ODE based cell cycle models.

Time taken to progress through the cycle is deterministic and given by an ODE system independent of external factors.

Definition at line 47 of file TysonNovakCellCycleModel.hpp.


Constructor & Destructor Documentation

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

Default constructor.

Parameters:
pOdeSolver An optional pointer to a cell cycle model ODE solver object (allows the use of different ODE solvers)

Definition at line 31 of file TysonNovakCellCycleModel.cpp.

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

Referenced by CreateCellCycleModel().


Member Function Documentation

template<class Archive>
void TysonNovakCellCycleModel::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]

Archive the cell cycle model, never used directly - boost uses this.

Parameters:
archive the archive
version the current version of this class

Reimplemented from AbstractOdeBasedCellCycleModel.

Definition at line 62 of file TysonNovakCellCycleModel.hpp.

void TysonNovakCellCycleModel::Initialise ( void   )  [virtual]

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

This method will be called precisely once per cell set up in the initial cell population. It is not called on cell division; use ResetForDivision(), CreateCellCycleModel() and InitialiseDaughterCell() for that.

By the time this is called, a CellPopulation will have been set up, so the model can know where its cell is located in space. If relevant to the simulation, the CellwiseData and/or other singletons will also have been initialised.

Reimplemented from AbstractCellCycleModel.

Definition at line 52 of file TysonNovakCellCycleModel.cpp.

References AbstractOdeSystem::GetInitialConditions(), AbstractCellCycleModel::Initialise(), CellCycleModelOdeHandler::mpOdeSystem, and AbstractOdeSystem::SetStateVariables().

void TysonNovakCellCycleModel::ResetForDivision (  )  [virtual]

Reset cell cycle model by calling AbstractOdeBasedCellCycleModelWithStoppingEvent::ResetForDivision() and setting initial conditions for protein concentrations.

This model needs the protein concentrations and phase resetting to G0/G1.

In theory, the solution to the Tyson-Novak equations should exhibit stable oscillations, and we only need to halve the mass of the cell each period.

However, the backward Euler solver used to solve the equations currently returns a solution that diverges after long times, so we must reset the initial conditions each period.

When running with CVODE however we can use the halving the mass of the cell method.

Reimplemented from AbstractOdeBasedCellCycleModel.

Definition at line 61 of file TysonNovakCellCycleModel.cpp.

References AbstractOdeSystem::GetInitialConditions(), CellCycleModelOdeHandler::mpOdeSystem, AbstractOdeBasedCellCycleModel::ResetForDivision(), AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), and AbstractOdeSystem::SetStateVariables().

AbstractCellCycleModel * TysonNovakCellCycleModel::CreateCellCycleModel (  )  [virtual]

double TysonNovakCellCycleModel::GetSDuration (  )  [virtual]

Get the duration of the cell's S phase.

Tyson & Novak pretends it is running ODEs in just G1, but they really represent the whole cell cycle, so we set the other phases to zero.

Reimplemented from AbstractCellCycleModel.

Definition at line 115 of file TysonNovakCellCycleModel.cpp.

double TysonNovakCellCycleModel::GetG2Duration (  )  [virtual]

Get the duration of the cell's G2 phase.

Tyson & Novak pretends it is running ODEs in just G1, but they really represent the whole cell cycle so we set the other phases to zero.

Reimplemented from AbstractCellCycleModel.

Definition at line 125 of file TysonNovakCellCycleModel.cpp.

double TysonNovakCellCycleModel::GetMDuration (  )  [virtual]

Get the duration of the cell's M phase.

Tyson & Novak pretends it is running ODEs in just G1, but they really represent the whole cell cycle so we set the other phases to zero.

Reimplemented from AbstractCellCycleModel.

Definition at line 135 of file TysonNovakCellCycleModel.cpp.

void TysonNovakCellCycleModel::InitialiseDaughterCell (  )  [virtual]

If the daughter cell type is stem, change it to transit.

Reimplemented from AbstractCellCycleModel.

Definition at line 86 of file TysonNovakCellCycleModel.cpp.

References AbstractCellCycleModel::mCellProliferativeType.

double TysonNovakCellCycleModel::GetAverageTransitCellCycleTime (  )  [virtual]

Overridden GetAverageTransitCellCycleTime() method.

Reimplemented from AbstractCellCycleModel.

Definition at line 145 of file TysonNovakCellCycleModel.cpp.

double TysonNovakCellCycleModel::GetAverageStemCellCycleTime (  )  [virtual]

Overridden GetAverageStemCellCycleTime() method.

Reimplemented from AbstractCellCycleModel.

Definition at line 150 of file TysonNovakCellCycleModel.cpp.

bool TysonNovakCellCycleModel::CanCellTerminallyDifferentiate (  )  [virtual]

Overridden CanCellTerminallyDifferentiate() method.

Reimplemented from AbstractCellCycleModel.

Definition at line 156 of file TysonNovakCellCycleModel.cpp.


Friends And Related Function Documentation

friend class boost::serialization::access [friend]

Needed for serialization.

Reimplemented from AbstractOdeBasedCellCycleModel.

Definition at line 54 of file TysonNovakCellCycleModel.hpp.


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

Generated on Mon Nov 1 12:37:29 2010 for Chaste by  doxygen 1.5.5