SingleOdeWntCellCycleModel Class Reference

#include <SingleOdeWntCellCycleModel.hpp>

Inherits SimpleWntCellCycleModel.

Collaboration diagram for SingleOdeWntCellCycleModel:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 SingleOdeWntCellCycleModel ()
 SingleOdeWntCellCycleModel (std::vector< double > &rProteinConcs, boost::shared_ptr< AbstractCellMutationState > pMutationState, unsigned &rDimension, bool useTypeDependentG1=false)
 ~SingleOdeWntCellCycleModel ()
 SingleOdeWntCellCycleModel (const SingleOdeWntCellCycleModel &rOtherModel)
void Initialise ()
void UpdateCellCyclePhase ()
AbstractCellCycleModelCreateCellCycleModel ()
double GetBetaCateninConcentration ()
void SetBetaCateninDivisionThreshold (double betaCateninDivisionThreshold)
double GetBetaCateninDivisionThreshold ()

Private Member Functions

template<class Archive >
void save (Archive &archive, const unsigned int version) const
template<class Archive >
void load (Archive &archive, const unsigned int version)
void ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel ()
void UpdateBetaCateninLevel ()

Private Attributes

Mirams2010WntOdeSystemmpOdeSystem
double mBetaCateninDivisionThreshold
double mLastTime

Static Private Attributes

static RungeKutta4IvpOdeSolver msSolver

Friends

class boost::serialization::access

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 52 of file SingleOdeWntCellCycleModel.hpp.


Constructor & Destructor Documentation

SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel (  )  [inline]

Default constructor.

Definition at line 151 of file SingleOdeWntCellCycleModel.hpp.

References msSolver.

Referenced by CreateCellCycleModel().

SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel ( std::vector< double > &  rProteinConcs,
boost::shared_ptr< AbstractCellMutationState pMutationState,
unsigned rDimension,
bool  useTypeDependentG1 = false 
)

A 'private' constructor for archiving.

Parameters:
rProteinConcs a std::vector of doubles of the protein concentrations (see VanLeeuwen2009WntSwatCellCycleOdeSystem)
pMutationState the mutation state of the cell (used by ODEs)
rDimension the spatial dimension
useTypeDependentG1 whether to make the duration of G1 phase dependent on the cell's proliferative type (defaults to false)

Definition at line 68 of file SingleOdeWntCellCycleModel.cpp.

References mpOdeSystem, msSolver, AbstractOdeSystem::rGetStateVariables(), AbstractCellCycleModel::SetDimension(), and SimpleWntCellCycleModel::SetUseCellProliferativeTypeDependentG1Duration().

SingleOdeWntCellCycleModel::~SingleOdeWntCellCycleModel (  ) 

Destructor.

Definition at line 37 of file SingleOdeWntCellCycleModel.cpp.

References mpOdeSystem.

SingleOdeWntCellCycleModel::SingleOdeWntCellCycleModel ( const SingleOdeWntCellCycleModel rOtherModel  ) 

Copy constructor.

This is important to make a copy of the ODE system instead of giving the copied cell cycle model a pointer to the same ODE.

Parameters:
rOtherModel the one to copy

Definition at line 47 of file SingleOdeWntCellCycleModel.cpp.

References mBetaCateninDivisionThreshold, mLastTime, and mpOdeSystem.


Member Function Documentation

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 132 of file SingleOdeWntCellCycleModel.cpp.

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

Referenced by Initialise(), and UpdateCellCyclePhase().

AbstractCellCycleModel * SingleOdeWntCellCycleModel::CreateCellCycleModel (  )  [virtual]

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

Reimplemented from SimpleWntCellCycleModel.

Definition at line 42 of file SingleOdeWntCellCycleModel.cpp.

References SingleOdeWntCellCycleModel().

double SingleOdeWntCellCycleModel::GetBetaCateninConcentration (  ) 

Return the total beta-catenin concentration

Definition at line 146 of file SingleOdeWntCellCycleModel.cpp.

References mpOdeSystem, and AbstractOdeSystem::rGetStateVariables().

Referenced by ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel().

double SingleOdeWntCellCycleModel::GetBetaCateninDivisionThreshold (  ) 
void SingleOdeWntCellCycleModel::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 AbstractSimpleCellCycleModel.

Definition at line 85 of file SingleOdeWntCellCycleModel.cpp.

References ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), AbstractOdeSystem::GetInitialConditions(), TissueCell::GetMutationState(), SimpleWntCellCycleModel::GetWntLevel(), mBetaCateninDivisionThreshold, AbstractCellCycleModel::mBirthTime, mLastTime, AbstractCellCycleModel::mpCell, mpOdeSystem, and AbstractOdeSystem::SetStateVariables().

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

Load the cell cycle model and ODE system from archive.

Parameters:
archive the archive
version the archive version

Definition at line 88 of file SingleOdeWntCellCycleModel.hpp.

References mBetaCateninDivisionThreshold, mLastTime, mpOdeSystem, and AbstractOdeSystem::rGetStateVariables().

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

Save the cell cycle model and ODE system to archive.

Parameters:
archive the archive
version the archive version

Reference can be read or written into once mpOdeSystem has been set up mpOdeSystem isn't set up by the first constructor, but is by the second which is now utilised by the load_construct at the bottom of this file.

Note mpOdeSystem itself is not archived just the current values of the state variables...

Definition at line 63 of file SingleOdeWntCellCycleModel.hpp.

References mBetaCateninDivisionThreshold, mLastTime, mpOdeSystem, and AbstractOdeSystem::rGetStateVariables().

void SingleOdeWntCellCycleModel::SetBetaCateninDivisionThreshold ( double  betaCateninDivisionThreshold  ) 

Set mBetaCateninDivisionThreshold.

Parameters:
betaCateninDivisionThreshold to be set

Definition at line 151 of file SingleOdeWntCellCycleModel.cpp.

References mBetaCateninDivisionThreshold.

void SingleOdeWntCellCycleModel::UpdateBetaCateninLevel (  )  [private]
void SingleOdeWntCellCycleModel::UpdateCellCyclePhase (  )  [virtual]

This specialisation updates the beta-catenin level

Don't call the SimpleWntCellCycleModel - it will overwrite this.

Reimplemented from SimpleWntCellCycleModel.

Definition at line 59 of file SingleOdeWntCellCycleModel.cpp.

References ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), SimulationTime::Instance(), and UpdateBetaCateninLevel().


Friends And Related Function Documentation

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

Needed for serialization.

Reimplemented from SimpleWntCellCycleModel.

Definition at line 55 of file SingleOdeWntCellCycleModel.hpp.


Member Data Documentation

The cell differentiates when the beta-catenin level drops below this value. It is hard coded in Initialise() because there are so many constructors.

Set and Get methods are also provided.

Definition at line 118 of file SingleOdeWntCellCycleModel.hpp.

Referenced by GetBetaCateninDivisionThreshold(), Initialise(), load(), save(), SetBetaCateninDivisionThreshold(), and SingleOdeWntCellCycleModel().

The last time at which the ODEs were solved up to

Definition at line 144 of file SingleOdeWntCellCycleModel.hpp.

Referenced by Initialise(), load(), save(), SingleOdeWntCellCycleModel(), and UpdateBetaCateninLevel().

The ODE solver.

Definition at line 140 of file SingleOdeWntCellCycleModel.hpp.

Referenced by SingleOdeWntCellCycleModel(), and UpdateBetaCateninLevel().


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

Generated by  doxygen 1.6.2