#include <AbstractOdeBasedCellCycleModel.hpp>
Inherits AbstractCellCycleModel, and CellCycleModelOdeHandler.
Inherited by AbstractWntOdeBasedCellCycleModel, Alarcon2004OxygenBasedCellCycleModel, and TysonNovakCellCycleModel.
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< double > | GetProteinConcentrations () 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) |
Protected Attributes | |
double | mDivideTime |
bool | mFinishedRunningOdes |
double | mG2PhaseStartTime |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | boost::serialization::access |
This class contains all the things common to standard cell cycle ODE models for intracellular protein concentrations (along the lines of Tyson & Novak), such as solving the ODEs until a stopping condition is met.
Definition at line 48 of file AbstractOdeBasedCellCycleModel.hpp.
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.
lastTime | The birth time of the cell / last time model was evaluated (defaults to the current SimulationTime) | |
pOdeSolver | An optional pointer to a cell-cycle model ODE solver object (allows the use of different ODE solvers) |
Definition at line 34 of file AbstractOdeBasedCellCycleModel.cpp.
References SetBirthTime().
AbstractOdeBasedCellCycleModel::~AbstractOdeBasedCellCycleModel | ( | ) | [virtual] |
Destructor.
Definition at line 44 of file AbstractOdeBasedCellCycleModel.cpp.
double AbstractOdeBasedCellCycleModel::GetOdeStopTime | ( | ) |
Get the time at which the ODE stopping event occurred. Only called in those subclasses for which stopping events are defined.
Definition at line 151 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 55 of file AbstractOdeBasedCellCycleModel.cpp.
References CellCycleModelOdeHandler::mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::rGetStateVariables().
void AbstractOdeBasedCellCycleModel::OutputCellCycleModelParameters | ( | out_stream & | rParamsFile | ) | [virtual] |
Outputs cell cycle model parameters to file.
rParamsFile | the file stream to which the parameters are output |
Implements AbstractCellCycleModel.
Reimplemented in Alarcon2004OxygenBasedCellCycleModel, TysonNovakCellCycleModel, AbstractVanLeeuwen2009WntSwatCellCycleModel, AbstractWntOdeBasedCellCycleModel, StochasticWntCellCycleModel, VanLeeuwen2009WntSwatCellCycleModelHypothesisOne, VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo, and WntCellCycleModel.
Definition at line 176 of file AbstractOdeBasedCellCycleModel.cpp.
void AbstractOdeBasedCellCycleModel::ResetForDivision | ( | ) | [virtual] |
For a naturally cycling model this does not need to be overridden in the subclasses. But most models should override this function and then call AbstractOdeBasedCellCycleModel::ResetForDivision() from inside their version.
Reimplemented from AbstractCellCycleModel.
Reimplemented in Alarcon2004OxygenBasedCellCycleModel, TysonNovakCellCycleModel, AbstractWntOdeBasedCellCycleModel, and StochasticWntCellCycleModel.
Definition at line 140 of file AbstractOdeBasedCellCycleModel.cpp.
References AbstractCellCycleModel::mBirthTime, mDivideTime, mFinishedRunningOdes, AbstractCellCycleModel::mG1Duration, and CellCycleModelOdeHandler::mLastTime.
void AbstractOdeBasedCellCycleModel::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Archive the cell-cycle model and member variables.
archive | the archive | |
version | the current version of this class |
Reimplemented from AbstractCellCycleModel.
Reimplemented in Alarcon2004OxygenBasedCellCycleModel, TysonNovakCellCycleModel, AbstractVanLeeuwen2009WntSwatCellCycleModel, AbstractWntOdeBasedCellCycleModel, StochasticWntCellCycleModel, VanLeeuwen2009WntSwatCellCycleModelHypothesisOne, VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo, and WntCellCycleModel.
Definition at line 61 of file AbstractOdeBasedCellCycleModel.hpp.
References mDivideTime, mFinishedRunningOdes, and mG2PhaseStartTime.
void AbstractOdeBasedCellCycleModel::SetBirthTime | ( | double | birthTime | ) | [virtual] |
This overrides the AbstractCellCycleModel::SetBirthTime(double birthTime) because an ODE based cell-cycle model has more to reset...
birthTime | the simulation time when the cell was born |
Reimplemented from AbstractCellCycleModel.
Definition at line 48 of file AbstractOdeBasedCellCycleModel.cpp.
References mDivideTime, and CellCycleModelOdeHandler::mLastTime.
Referenced by AbstractOdeBasedCellCycleModel(), WntCellCycleModel::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::CreateCellCycleModel(), StochasticWntCellCycleModel::CreateCellCycleModel(), TysonNovakCellCycleModel::CreateCellCycleModel(), and Alarcon2004OxygenBasedCellCycleModel::CreateCellCycleModel().
void AbstractOdeBasedCellCycleModel::SetDivideTime | ( | double | divideTime | ) |
Set mDivideTime.
divideTime | the new value of mDivideTime |
Definition at line 166 of file AbstractOdeBasedCellCycleModel.cpp.
References mDivideTime.
Referenced by WntCellCycleModel::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::CreateCellCycleModel(), StochasticWntCellCycleModel::CreateCellCycleModel(), TysonNovakCellCycleModel::CreateCellCycleModel(), and Alarcon2004OxygenBasedCellCycleModel::CreateCellCycleModel().
void AbstractOdeBasedCellCycleModel::SetFinishedRunningOdes | ( | bool | finishedRunningOdes | ) |
Set mFinishedRunningOdes. Used in CreateCellCycleModel().
finishedRunningOdes | the new value of mFinishedRunningOdes |
Definition at line 161 of file AbstractOdeBasedCellCycleModel.cpp.
References mFinishedRunningOdes.
Referenced by WntCellCycleModel::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::CreateCellCycleModel(), StochasticWntCellCycleModel::CreateCellCycleModel(), TysonNovakCellCycleModel::CreateCellCycleModel(), and Alarcon2004OxygenBasedCellCycleModel::CreateCellCycleModel().
void AbstractOdeBasedCellCycleModel::SetG2PhaseStartTime | ( | double | g2PhaseStartTime | ) |
Set mG2PhaseStartTime. Used in CreateCellCycleModel().
g2PhaseStartTime | the new value of mG2PhaseStartTime |
Definition at line 171 of file AbstractOdeBasedCellCycleModel.cpp.
References mG2PhaseStartTime.
Referenced by WntCellCycleModel::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::CreateCellCycleModel(), StochasticWntCellCycleModel::CreateCellCycleModel(), TysonNovakCellCycleModel::CreateCellCycleModel(), and Alarcon2004OxygenBasedCellCycleModel::CreateCellCycleModel().
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
lastTime | the SimulationTime at which the protein concentrations apply | |
proteinConcentrations | a standard vector of doubles of protein concentrations |
Definition at line 61 of file AbstractOdeBasedCellCycleModel.cpp.
References CellCycleModelOdeHandler::mLastTime, CellCycleModelOdeHandler::mpOdeSystem, AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), and AbstractParameterisedSystem< VECTOR >::SetStateVariables().
void AbstractOdeBasedCellCycleModel::UpdateCellCyclePhase | ( | ) | [virtual] |
Default UpdateCellCyclePhase() method for an ODE-based cell-cycle model. This method calls SolveOdeToTime() for G1 phase and adds time for the other phases.
Can be overridden if they should do something more subtle.
Implements AbstractCellCycleModel.
Reimplemented in AbstractWntOdeBasedCellCycleModel.
Definition at line 69 of file AbstractOdeBasedCellCycleModel.cpp.
References EXCEPTION, AbstractCellCycleModel::GetAge(), AbstractCellCycleModel::GetG2Duration(), AbstractCellCycleModel::GetMDuration(), AbstractUntemplatedParameterisedSystem::GetNumberOfStateVariables(), GetOdeStopTime(), AbstractCellCycleModel::GetSDuration(), SimulationTime::GetTime(), SimulationTime::Instance(), AbstractCellCycleModel::mBirthTime, AbstractCellCycleModel::mCurrentCellCyclePhase, mDivideTime, mFinishedRunningOdes, AbstractCellCycleModel::mG1Duration, mG2PhaseStartTime, CellCycleModelOdeHandler::mLastTime, CellCycleModelOdeHandler::mpOdeSystem, AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), and CellCycleModelOdeHandler::SolveOdeToTime().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractCellCycleModel.
Reimplemented in Alarcon2004OxygenBasedCellCycleModel, TysonNovakCellCycleModel, AbstractVanLeeuwen2009WntSwatCellCycleModel, AbstractWntOdeBasedCellCycleModel, StochasticWntCellCycleModel, VanLeeuwen2009WntSwatCellCycleModelHypothesisOne, VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo, and WntCellCycleModel.
Definition at line 53 of file AbstractOdeBasedCellCycleModel.hpp.
double AbstractOdeBasedCellCycleModel::mDivideTime [protected] |
The time at which the cell should divide - Set this to DBL_MAX in constructor.
Definition at line 73 of file AbstractOdeBasedCellCycleModel.hpp.
Referenced by WntCellCycleModel::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::CreateCellCycleModel(), StochasticWntCellCycleModel::CreateCellCycleModel(), TysonNovakCellCycleModel::CreateCellCycleModel(), Alarcon2004OxygenBasedCellCycleModel::CreateCellCycleModel(), ResetForDivision(), serialize(), SetBirthTime(), SetDivideTime(), and UpdateCellCyclePhase().
Whether the cell-cycle model is currently in a delay (not solving ODEs).
Definition at line 76 of file AbstractOdeBasedCellCycleModel.hpp.
Referenced by WntCellCycleModel::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::CreateCellCycleModel(), StochasticWntCellCycleModel::CreateCellCycleModel(), TysonNovakCellCycleModel::CreateCellCycleModel(), Alarcon2004OxygenBasedCellCycleModel::CreateCellCycleModel(), ResetForDivision(), serialize(), SetFinishedRunningOdes(), and UpdateCellCyclePhase().
The start time for the G2 phase.
Definition at line 79 of file AbstractOdeBasedCellCycleModel.hpp.
Referenced by WntCellCycleModel::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisTwo::CreateCellCycleModel(), VanLeeuwen2009WntSwatCellCycleModelHypothesisOne::CreateCellCycleModel(), StochasticWntCellCycleModel::CreateCellCycleModel(), TysonNovakCellCycleModel::CreateCellCycleModel(), Alarcon2004OxygenBasedCellCycleModel::CreateCellCycleModel(), serialize(), SetG2PhaseStartTime(), and UpdateCellCyclePhase().