#include <TissueCell.hpp>
Tissue cell is the basic container for all the biological information about a cell. It contains the cell cycle model and all other biological properties such as mutation state, cell type, whether it is undergoing apoptosis or not.
This class should not store any spatial information - TissueCells are linked to space by the Tissue classes.
Definition at line 51 of file TissueCell.hpp.
TissueCell::TissueCell | ( | CellProliferativeType | cellType, | |
boost::shared_ptr< AbstractCellMutationState > | pMutationState, | |||
AbstractCellCycleModel * | pCellCycleModel, | |||
bool | archiving = false | |||
) |
Create a new tissue cell.
cellType | the type of cell this is | |
pMutationState | the mutation state of the cell | |
pCellCycleModel | the cell cycle model to use to decide when the cell divides. This MUST be allocated using new, and will be deleted when the cell is destroyed. | |
archiving | whether this constructor is being called by the archiver - do things slightly differently! |
Definition at line 33 of file TissueCell.cpp.
References SimulationTime::Instance(), mCellId, mMaxCellId, mpCellCycleModel, mpMutationState, and AbstractCellCycleModel::SetCell().
Referenced by Divide().
TissueCell::~TissueCell | ( | ) |
Destructor, which frees the memory allocated for our cell cycle model.
Definition at line 113 of file TissueCell.cpp.
References mpCellCycleModel, and mpMutationState.
TissueCell::TissueCell | ( | const TissueCell & | rOtherCell | ) |
Create a new tissue cell that is a copy of an existing cell
rOtherCell | An existing TissueCell |
Definition at line 93 of file TissueCell.cpp.
References CommonCopy(), and mpMutationState.
void TissueCell::CommonCopy | ( | const TissueCell & | rOtherCell | ) | [protected] |
Contains code common to both the copy constructor and operator=.
rOtherCell | An existing TissueCell |
Definition at line 69 of file TissueCell.cpp.
References AbstractCellCycleModel::CreateCellCycleModel(), mAncestor, mCanDivide, mCellId, mCellProliferativeType, mDeathTime, mIsDead, mIsLogged, mpCellCycleModel, mpMutationState, mStartOfApoptosisTime, mUndergoingApoptosis, and AbstractCellCycleModel::SetCell().
Referenced by operator=(), and TissueCell().
TissueCell TissueCell::Divide | ( | ) |
Divide this cell to produce a daughter cell. ReadyToDivide MUST have been called at the current time, and returned true.
Definition at line 294 of file TissueCell.cpp.
References AbstractCellCycleModel::CreateCellCycleModel(), GetAncestor(), GetCellCycleModel(), AbstractCellCycleModel::InitialiseDaughterCell(), IsDead(), mCanDivide, mCellProliferativeType, mpCellCycleModel, mpMutationState, AbstractCellCycleModel::ResetForDivision(), SetAncestor(), and TissueCell().
double TissueCell::GetAge | ( | ) | const |
Get the cell's age from its cell cycle model.
Definition at line 142 of file TissueCell.cpp.
References AbstractCellCycleModel::GetAge(), and mpCellCycleModel.
Referenced by GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes(), and AbstractTissue< DIM >::GenerateCellResults().
unsigned TissueCell::GetAncestor | ( | ) | const |
Definition at line 265 of file TissueCell.cpp.
References mAncestor.
Referenced by Divide(), and AbstractTissue< DIM >::GenerateCellResults().
double TissueCell::GetBirthTime | ( | ) | const |
Get the cell's birth time from its cell cycle model.
Definition at line 148 of file TissueCell.cpp.
References AbstractCellCycleModel::GetBirthTime(), and mpCellCycleModel.
AbstractCellCycleModel * TissueCell::GetCellCycleModel | ( | ) | const |
Returns a pointer to the TissueCell's cell cycle model.
Definition at line 131 of file TissueCell.cpp.
References mpCellCycleModel.
Referenced by MeshBasedTissue< DIM >::CheckTissueCellPointers(), Divide(), AbstractTissue< DIM >::GenerateCellResults(), and LinearSpringWithVariableSpringConstantsForce< DIM >::VariableSpringConstantMultiplicationFactor().
unsigned TissueCell::GetCellId | ( | ) | const |
CellProliferativeType TissueCell::GetCellProliferativeType | ( | ) | const |
Get method for mCellProliferativeType.
Definition at line 166 of file TissueCell.cpp.
References mCellProliferativeType.
Referenced by AbstractTissue< DIM >::GenerateCellResults(), TysonNovakCellCycleModel::InitialiseDaughterCell(), AbstractSimpleGenerationBasedCellCycleModel::ResetForDivision(), StochasticDurationGenerationBasedCellCycleModel::SetG1Duration(), AbstractSimpleCellCycleModel::SetG1Duration(), SimpleWntCellCycleModel::SetG1Duration(), AbstractSimpleCellCycleModel::UpdateCellCyclePhase(), and LinearSpringWithVariableSpringConstantsForce< DIM >::VariableSpringConstantMultiplicationFactor().
boost::shared_ptr< AbstractCellMutationState > TissueCell::GetMutationState | ( | ) | const |
Get method for mpMutationState.
Definition at line 180 of file TissueCell.cpp.
References mpMutationState.
Referenced by AbstractTissue< DIM >::GenerateCellResults(), AbstractCellCentreBasedTissue< DIM >::GetDampingConstant(), WntCellCycleModel::Initialise(), SingleOdeWntCellCycleModel::Initialise(), AbstractVanLeeuwen2009WntSwatCellCycleModel::Initialise(), WntCellCycleModel::SolveOdeToTime(), AbstractVanLeeuwen2009WntSwatCellCycleModel::SolveOdeToTime(), SingleOdeWntCellCycleModel::UpdateBetaCateninLevel(), SimpleWntCellCycleModel::UpdateCellCyclePhase(), and LinearSpringWithVariableSpringConstantsForce< DIM >::VariableSpringConstantMultiplicationFactor().
double TissueCell::GetStartOfApoptosisTime | ( | ) | const |
Get the time at which apoptosis was commanded to start.
Definition at line 226 of file TissueCell.cpp.
References mStartOfApoptosisTime.
double TissueCell::GetTimeUntilDeath | ( | ) | const |
Definition at line 231 of file TissueCell.cpp.
References SimulationTime::GetTime(), SimulationTime::Instance(), mDeathTime, and mUndergoingApoptosis.
Referenced by GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes().
bool TissueCell::HasApoptosisBegun | ( | ) | const |
Returns whether the cell is undergoing apoptosis or not.
Definition at line 221 of file TissueCell.cpp.
References mUndergoingApoptosis.
Referenced by GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes(), AbstractTissue< DIM >::GenerateCellResults(), and RandomCellKiller< DIM >::TestAndLabelSingleCellForApoptosis().
void TissueCell::InitialiseCellCycleModel | ( | ) |
Calls Initialise on the cell cycle model associated with this cell.
Definition at line 137 of file TissueCell.cpp.
References AbstractCellCycleModel::Initialise(), and mpCellCycleModel.
Referenced by CryptCellsGenerator< CELL_CYCLE_MODEL >::Generate().
bool TissueCell::IsDead | ( | ) |
Return whether the cell is dead or undergoing apoptosis.
Definition at line 242 of file TissueCell.cpp.
References SimulationTime::Instance(), Kill(), mDeathTime, mIsDead, and mUndergoingApoptosis.
Referenced by MeshBasedTissue< DIM >::CheckTissueCellPointers(), Divide(), ReadyToDivide(), and StartApoptosis().
bool TissueCell::IsLogged | ( | ) |
Definition at line 192 of file TissueCell.cpp.
References mIsLogged.
void TissueCell::Kill | ( | ) |
This labels the cell as dead, it does not delete the cell, it remains in the Tissue until AbstractTissue::RemoveDeadCells() is called.
Definition at line 255 of file TissueCell.cpp.
References mIsDead.
Referenced by IsDead().
TissueCell & TissueCell::operator= | ( | const TissueCell & | rOtherCell | ) |
Copy all the attributes of one cell to another.
rOtherCell | An existing TissueCell |
Definition at line 100 of file TissueCell.cpp.
References CommonCopy(), mpCellCycleModel, and mpMutationState.
bool TissueCell::ReadyToDivide | ( | ) |
Determine if this cell is ready to divide at the current simulation time. MUST be called before calling Divide().
Definition at line 280 of file TissueCell.cpp.
References IsDead(), mCanDivide, mCellProliferativeType, mpCellCycleModel, mUndergoingApoptosis, and AbstractCellCycleModel::ReadyToDivide().
void TissueCell::ResetMaxCellId | ( | ) | [static] |
void TissueCell::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Archive the member variables.
archive | the archive | |
version | the current version of this class |
Definition at line 67 of file TissueCell.hpp.
References mAncestor, mCanDivide, mCellId, mCellProliferativeType, mDeathTime, mIsDead, mIsLogged, mMaxCellId, mpCellCycleModel, mpMutationState, mStartOfApoptosisTime, and mUndergoingApoptosis.
void TissueCell::SetAncestor | ( | unsigned | ancestorIndex | ) |
Give the TissueCell an index which it passes to its children.
ancestorIndex | the cell's ancestor index |
Definition at line 260 of file TissueCell.cpp.
References mAncestor.
Referenced by Divide().
void TissueCell::SetBirthTime | ( | double | birthTime | ) |
Set the birth time of the cell - can be negative so that your cells have an age when a simulation begins
birthTime | The time the cell was born (in hours) |
Definition at line 154 of file TissueCell.cpp.
References mpCellCycleModel, and AbstractCellCycleModel::SetBirthTime().
Referenced by CryptCellsGenerator< CELL_CYCLE_MODEL >::Generate(), CellsGenerator< CELL_CYCLE_MODEL, DIM >::GenerateBasic(), and CellsGenerator< CELL_CYCLE_MODEL, DIM >::GenerateGivenLocationIndices().
void TissueCell::SetCellCycleModel | ( | AbstractCellCycleModel * | pCellCycleModel | ) |
Change the cell cycle model used. This takes effect immediately.
pCellCycleModel | pointer to the cell cycle model to use |
Definition at line 120 of file TissueCell.cpp.
References mpCellCycleModel, and AbstractCellCycleModel::SetCell().
void TissueCell::SetCellProliferativeType | ( | CellProliferativeType | cellType | ) |
Set method for mCellProliferativeType.
cellType | the cell's type |
Definition at line 160 of file TissueCell.cpp.
References mCellProliferativeType.
Referenced by WntCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), SingleOdeWntCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), AbstractVanLeeuwen2009WntSwatCellCycleModel::ChangeCellProliferativeTypeDueToCurrentBetaCateninLevel(), TysonNovakCellCycleModel::InitialiseDaughterCell(), AbstractSimpleGenerationBasedCellCycleModel::InitialiseDaughterCell(), SimpleWntCellCycleModel::InitialiseDaughterCell(), AbstractSimpleGenerationBasedCellCycleModel::ResetForDivision(), and SimpleWntCellCycleModel::UpdateCellCyclePhase().
void TissueCell::SetLogged | ( | ) |
Sets a flag to perform special output on this cell only.
Definition at line 186 of file TissueCell.cpp.
References mIsLogged.
void TissueCell::SetMutationState | ( | boost::shared_ptr< AbstractCellMutationState > | pMutationState | ) |
Set method for mpMutationState.
pMutationState | the cell's mutation state |
Definition at line 172 of file TissueCell.cpp.
References mpMutationState.
void TissueCell::StartApoptosis | ( | bool | setDeathTime = true |
) |
Make the cell enter apoptosis and sets mDeathTime using the apoptosis time as defined in the TissueConfig singleton.
setDeathTime | whether we tell the cell exactly when to die (defaults to true) |
Definition at line 198 of file TissueCell.cpp.
References TissueConfig::GetApoptosisTime(), SimulationTime::GetTime(), TissueConfig::Instance(), SimulationTime::Instance(), IsDead(), mCellProliferativeType, mDeathTime, mStartOfApoptosisTime, and mUndergoingApoptosis.
Referenced by RandomCellKiller< DIM >::TestAndLabelSingleCellForApoptosis().
friend class boost::serialization::access [friend] |
Needed for serialization.
Definition at line 59 of file TissueCell.hpp.
unsigned TissueCell::mAncestor [protected] |
An index which is inherited by all children of this cell
Definition at line 100 of file TissueCell.hpp.
Referenced by CommonCopy(), GetAncestor(), serialize(), and SetAncestor().
bool TissueCell::mCanDivide [private] |
Caches the result of ReadyToDivide() so Divide() can look at it.
Definition at line 56 of file TissueCell.hpp.
Referenced by CommonCopy(), Divide(), ReadyToDivide(), and serialize().
unsigned TissueCell::mCellId [protected] |
An identifier which is unique to this cell
Definition at line 103 of file TissueCell.hpp.
Referenced by CommonCopy(), GetCellId(), serialize(), and TissueCell().
CellProliferativeType TissueCell::mCellProliferativeType [protected] |
The cell type - defined in CellProliferativeTypes.hpp
Definition at line 91 of file TissueCell.hpp.
Referenced by CommonCopy(), Divide(), GetCellProliferativeType(), ReadyToDivide(), serialize(), SetCellProliferativeType(), and StartApoptosis().
double TissueCell::mDeathTime [protected] |
When the cell will/did die
Definition at line 109 of file TissueCell.hpp.
Referenced by CommonCopy(), GetTimeUntilDeath(), IsDead(), serialize(), and StartApoptosis().
bool TissueCell::mIsDead [protected] |
Whether the cell is dead or not (they exist in the Tissue until they are removed by AbstractTissue::RemoveDeadCells()
Definition at line 121 of file TissueCell.hpp.
Referenced by CommonCopy(), IsDead(), Kill(), and serialize().
bool TissueCell::mIsLogged [protected] |
Whether the cell is being tracked specially.
Definition at line 124 of file TissueCell.hpp.
Referenced by CommonCopy(), IsLogged(), serialize(), and SetLogged().
unsigned TissueCell::mMaxCellId = 0 [static, protected] |
maximum cell identifier
Definition at line 106 of file TissueCell.hpp.
Referenced by ResetMaxCellId(), serialize(), and TissueCell().
AbstractCellCycleModel* TissueCell::mpCellCycleModel [protected] |
The cell's cell-cycle model
Definition at line 97 of file TissueCell.hpp.
Referenced by CommonCopy(), Divide(), GetAge(), GetBirthTime(), GetCellCycleModel(), InitialiseCellCycleModel(), operator=(), ReadyToDivide(), serialize(), SetBirthTime(), SetCellCycleModel(), TissueCell(), and ~TissueCell().
boost::shared_ptr<AbstractCellMutationState> TissueCell::mpMutationState [protected] |
The cell's mutation state.
Definition at line 94 of file TissueCell.hpp.
Referenced by CommonCopy(), Divide(), GetMutationState(), operator=(), serialize(), SetMutationState(), TissueCell(), and ~TissueCell().
double TissueCell::mStartOfApoptosisTime [protected] |
When the cell was commanded to start apoptosis
Definition at line 112 of file TissueCell.hpp.
Referenced by CommonCopy(), GetStartOfApoptosisTime(), serialize(), and StartApoptosis().
bool TissueCell::mUndergoingApoptosis [protected] |
Whether the cell is currently in apoptosis - don't divide
Definition at line 115 of file TissueCell.hpp.
Referenced by CommonCopy(), GetTimeUntilDeath(), HasApoptosisBegun(), IsDead(), ReadyToDivide(), serialize(), and StartApoptosis().