![]() |
Chaste Commit::6e4f5fe395bca70eb7641cf6e0e87f450383ca5a
|
#include <Cell.hpp>
Inheritance diagram for Cell:
Collaboration diagram for Cell:Private Member Functions | |
| template<class Archive > | |
| void | serialize (Archive &archive, const unsigned int version) |
Friends | |
| class | boost::serialization::access |
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 - cells are linked to space by the AbstractCellPopulation subclasses.
| Cell::Cell | ( | boost::shared_ptr< AbstractCellProperty > | pMutationState, |
| AbstractCellCycleModel * | pCellCycleModel, | ||
| AbstractSrnModel * | pSrnModel = nullptr, |
||
| bool | archiving = false, |
||
| CellPropertyCollection | cellPropertyCollection = CellPropertyCollection() |
||
| ) |
Create a new cell.
| 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. |
| pSrnModel | the sub-cellular reaction network model. This MUST be allocated using new, and will be deleted when the cell is destroyed. (Defaults to NULL and is replcaed by a new NullSrnModel in the constructr) |
| archiving | whether this constructor is being called by the archiver - do things slightly differently! (defaults to false) |
| cellPropertyCollection | the cell property collection (defaults to NULL) |
Definition at line 45 of file Cell.cpp.
References CellPropertyCollection::AddProperty(), CellPropertyCollection::Begin(), CellPropertyCollection::End(), EXCEPTION, CellPropertyCollection::HasProperty(), CellPropertyCollection::HasPropertyType(), CellPropertyRegistry::Instance(), SimulationTime::Instance(), MAKE_PTR, mCellPropertyCollection, mHasSrnModel, mpCellCycleModel, mpSrnModel, AbstractCellCycleModel::SetCell(), and AbstractSrnModel::SetCell().
|
virtual |
Destructor, which frees the memory allocated for our cell-cycle model.
Definition at line 144 of file Cell.cpp.
References Kill(), mIsDead, mpCellCycleModel, and mpSrnModel.
| void Cell::AddCellProperty | ( | const boost::shared_ptr< AbstractCellProperty > & | rProperty | ) |
Add a cell property to the cell. Use this method instead of calling rGetCellPropertyCollection().AddProperty() directly, to ensure that the cell property keeps correct track of the number of cells with it (if this is done).
| rProperty | the property to add |
Definition at line 325 of file Cell.cpp.
References CellPropertyCollection::AddProperty(), CellPropertyCollection::HasProperty(), and mCellPropertyCollection.
Referenced by SetAncestor(), SetCellProliferativeType(), SetMutationState(), and StartApoptosis().
|
virtual |
Divide this cell to produce a daughter cell. ReadyToDivide MUST have been called at the current time, and returned true.
Definition at line 486 of file Cell.cpp.
References CellPropertyCollection::AddProperty(), AbstractCellCycleModel::CreateCellCycleModel(), AbstractSrnModel::CreateSrnModel(), GetCellData(), GetCellEdgeData(), GetCellVecData(), GetMutationState(), CellPropertyCollection::HasPropertyType(), IsDead(), MAKE_PTR_ARGS, mApoptosisTime, mCanDivide, mCellPropertyCollection, mpCellCycleModel, mpSrnModel, CellPropertyCollection::RemoveProperty(), AbstractCellCycleModel::ResetForDivision(), and AbstractSrnModel::ResetForDivision().
| double Cell::GetAge | ( | ) | const |
Definition at line 225 of file Cell.cpp.
References AbstractCellCycleModel::GetAge(), and mpCellCycleModel.
| unsigned Cell::GetAncestor | ( | ) | const |
Definition at line 443 of file Cell.cpp.
References CellPropertyCollection::GetPropertiesType(), CellPropertyCollection::GetProperty(), CellPropertyCollection::GetSize(), mCellPropertyCollection, and UNSIGNED_UNSET.
| double Cell::GetApoptosisTime | ( | ) | const |
| double Cell::GetBirthTime | ( | ) | const |
Definition at line 230 of file Cell.cpp.
References AbstractCellCycleModel::GetBirthTime(), and mpCellCycleModel.
| AbstractCellCycleModel * Cell::GetCellCycleModel | ( | ) | const |
Definition at line 194 of file Cell.cpp.
References mpCellCycleModel.
| boost::shared_ptr< CellData > Cell::GetCellData | ( | ) | const |
Get the CellData associated with the cell.
Definition at line 269 of file Cell.cpp.
References CellPropertyCollection::GetPropertiesType(), CellPropertyCollection::GetProperty(), CellPropertyCollection::GetSize(), and mCellPropertyCollection.
Referenced by Divide().
| boost::shared_ptr< CellEdgeData > Cell::GetCellEdgeData | ( | ) | const |
Get the CellEdgeData associated with the cell.
Definition at line 282 of file Cell.cpp.
References CellPropertyCollection::GetPropertiesType(), CellPropertyCollection::GetProperty(), CellPropertyCollection::GetSize(), and mCellPropertyCollection.
Referenced by Divide().
| unsigned Cell::GetCellId | ( | ) | const |
Definition at line 458 of file Cell.cpp.
References CellPropertyCollection::GetPropertiesType(), CellPropertyCollection::GetProperty(), CellPropertyCollection::GetSize(), and mCellPropertyCollection.
| boost::shared_ptr< AbstractCellProliferativeType > Cell::GetCellProliferativeType | ( | ) | const |
Definition at line 169 of file Cell.cpp.
References CellPropertyCollection::GetPropertiesType(), CellPropertyCollection::GetProperty(), CellPropertyCollection::GetSize(), and mCellPropertyCollection.
Referenced by SetCellProliferativeType().
| boost::shared_ptr< CellVecData > Cell::GetCellVecData | ( | ) | const |
Get the CellVecData associated with the cell.
Definition at line 300 of file Cell.cpp.
References CellPropertyCollection::GetPropertiesType(), CellPropertyCollection::GetProperty(), CellPropertyCollection::GetSize(), HasCellVecData(), and mCellPropertyCollection.
Referenced by Divide().
| boost::shared_ptr< AbstractCellMutationState > Cell::GetMutationState | ( | ) | const |
Definition at line 254 of file Cell.cpp.
References CellPropertyCollection::GetPropertiesType(), CellPropertyCollection::GetProperty(), CellPropertyCollection::GetSize(), and mCellPropertyCollection.
Referenced by Divide(), and SetMutationState().
| AbstractSrnModel * Cell::GetSrnModel | ( | ) | const |
Definition at line 215 of file Cell.cpp.
References mpSrnModel.
| double Cell::GetStartOfApoptosisTime | ( | ) | const |
Definition at line 371 of file Cell.cpp.
References mStartOfApoptosisTime.
| double Cell::GetTimeUntilDeath | ( | ) | const |
Definition at line 387 of file Cell.cpp.
References EXCEPTION, SimulationTime::GetTime(), SimulationTime::Instance(), mDeathTime, and mUndergoingApoptosis.
| bool Cell::HasApoptosisBegun | ( | ) | const |
Definition at line 366 of file Cell.cpp.
References mUndergoingApoptosis.
|
inline |
Definition at line 357 of file Cell.hpp.
References CellPropertyCollection::HasProperty(), and mCellPropertyCollection.
| bool Cell::HasCellVecData | ( | ) | const |
Checks whether there is CellVecData associated with this cell
Definition at line 295 of file Cell.cpp.
References CellPropertyCollection::HasPropertyType(), and mCellPropertyCollection.
Referenced by GetCellVecData().
| bool Cell::HasSrnModel | ( | ) | const |
Definition at line 547 of file Cell.cpp.
References mHasSrnModel.
| void Cell::InitialiseCellCycleModel | ( | ) |
Calls Initialise on the cell-cycle model associated with this cell.
Definition at line 199 of file Cell.cpp.
References AbstractCellCycleModel::Initialise(), and mpCellCycleModel.
| void Cell::InitialiseSrnModel | ( | ) |
Calls Initialise on the SRN model associated with this cell.
Definition at line 220 of file Cell.cpp.
References AbstractSrnModel::Initialise(), and mpSrnModel.
| bool Cell::IsDead | ( | ) |
Definition at line 397 of file Cell.cpp.
References SimulationTime::Instance(), Kill(), mApoptosisTime, mDeathTime, mIsDead, and mUndergoingApoptosis.
Referenced by Divide(), ReadyToDivide(), and StartApoptosis().
| bool Cell::IsLogged | ( | ) |
| void Cell::Kill | ( | ) |
This labels the cell as dead, it does not delete the cell, it remains in the CellPopulation until AbstractCellPopulation::RemoveDeadCells() is called.
Definition at line 410 of file Cell.cpp.
References CellPropertyCollection::Begin(), CellPropertyCollection::End(), mCellPropertyCollection, and mIsDead.
| bool Cell::ReadyToDivide | ( | ) |
Definition at line 469 of file Cell.cpp.
References IsDead(), mCanDivide, mpCellCycleModel, mpSrnModel, mUndergoingApoptosis, AbstractCellCycleModel::ReadyToDivide(), and AbstractSrnModel::SimulateToCurrentTime().
|
inline |
Remove a cell property of the given type. Use this method instead of calling rGetCellPropertyCollection().AddProperty() directly, to ensure that the cell property keeps correct track of the number of cells with it (if this is done).
Definition at line 330 of file Cell.hpp.
References CellPropertyCollection::Begin(), CellPropertyCollection::End(), mCellPropertyCollection, and CellPropertyCollection::RemoveProperty().
| CellPropertyCollection & Cell::rGetCellPropertyCollection | ( | ) |
Definition at line 315 of file Cell.cpp.
References mCellPropertyCollection.
| const CellPropertyCollection & Cell::rGetCellPropertyCollection | ( | ) | const |
Definition at line 320 of file Cell.cpp.
References mCellPropertyCollection.
|
inlineprivate |
Archive the member variables.
| archive | the archive |
| version | the current version of this class |
Definition at line 104 of file Cell.hpp.
References mApoptosisTime, mCanDivide, mDeathTime, mHasSrnModel, mIsDead, mIsLogged, mpCellCycleModel, mpSrnModel, mStartOfApoptosisTime, and mUndergoingApoptosis.
| void Cell::SetAncestor | ( | boost::shared_ptr< AbstractCellProperty > | pCellAncestor | ) |
Give the cell an index which it passes to its children.
| pCellAncestor | the cell's ancestor |
Definition at line 422 of file Cell.cpp.
References AddCellProperty(), EXCEPTION, CellPropertyCollection::GetPropertiesType(), CellPropertyCollection::GetSize(), and mCellPropertyCollection.
| void Cell::SetApoptosisTime | ( | double | apoptosisTime | ) |
Set mApoptosisTime.
| apoptosisTime | the new value of mApoptosisTime |
Definition at line 381 of file Cell.cpp.
References mApoptosisTime.
| void Cell::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 235 of file Cell.cpp.
References mpCellCycleModel, and AbstractCellCycleModel::SetBirthTime().
| void Cell::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 184 of file Cell.cpp.
References mpCellCycleModel, and AbstractCellCycleModel::SetCell().
| void Cell::SetCellProliferativeType | ( | boost::shared_ptr< AbstractCellProperty > | pProliferativeType | ) |
Set the cell's proliferative type.
| pProliferativeType | the cell's new proliferative type |
Definition at line 154 of file Cell.cpp.
References AddCellProperty(), EXCEPTION, GetCellProliferativeType(), mCellPropertyCollection, and CellPropertyCollection::RemoveProperty().
| void Cell::SetLogged | ( | ) |
| void Cell::SetMutationState | ( | boost::shared_ptr< AbstractCellProperty > | pMutationState | ) |
Set the cell's mutation state.
| pMutationState | the cell's new mutation state |
Definition at line 240 of file Cell.cpp.
References AddCellProperty(), EXCEPTION, GetMutationState(), mCellPropertyCollection, and CellPropertyCollection::RemoveProperty().
| void Cell::SetSrnModel | ( | AbstractSrnModel * | pSrnModel | ) |
Change the SRN model used. This takes effect immediately.
| pSrnModel | pointer to the SRN model to use |
Definition at line 204 of file Cell.cpp.
References mHasSrnModel, mpSrnModel, and AbstractSrnModel::SetCell().
| void Cell::StartApoptosis | ( | bool | setDeathTime = true | ) |
Make the cell enter apoptosis and sets mDeathTime using the apoptosis time as defined by mApoptosisTime.
| setDeathTime | whether we tell the cell exactly when to die (defaults to true) |
Definition at line 345 of file Cell.cpp.
References AddCellProperty(), EXCEPTION, CellPropertyRegistry::Get(), CellPropertyCollection::GetCellPropertyRegistry(), SimulationTime::GetTime(), SimulationTime::Instance(), IsDead(), mApoptosisTime, mCellPropertyCollection, mDeathTime, mStartOfApoptosisTime, and mUndergoingApoptosis.
|
friend |
|
protected |
The time it takes for a cell to fully undergo apoptosis. Has units of hours.
Definition at line 140 of file Cell.hpp.
Referenced by Divide(), GetApoptosisTime(), IsDead(), serialize(), SetApoptosisTime(), and StartApoptosis().
|
protected |
Caches the result of ReadyToDivide() so Divide() can look at it.
Definition at line 122 of file Cell.hpp.
Referenced by Divide(), ReadyToDivide(), and serialize().
|
protected |
The cell's property collection.
Definition at line 125 of file Cell.hpp.
Referenced by Cell(), AddCellProperty(), Divide(), GetAncestor(), GetCellData(), GetCellEdgeData(), GetCellId(), GetCellProliferativeType(), GetCellVecData(), GetMutationState(), HasCellProperty(), HasCellVecData(), Kill(), RemoveCellProperty(), rGetCellPropertyCollection(), rGetCellPropertyCollection(), SetAncestor(), SetCellProliferativeType(), SetMutationState(), and StartApoptosis().
|
protected |
When the cell will/did die.
Definition at line 134 of file Cell.hpp.
Referenced by GetTimeUntilDeath(), IsDead(), serialize(), and StartApoptosis().
|
protected |
Whether the cell has a sub-cellular reaction network (SRN) system of ODEs associated with it.
Definition at line 155 of file Cell.hpp.
Referenced by Cell(), HasSrnModel(), serialize(), and SetSrnModel().
|
protected |
Whether the cell is dead or not (they exist in the CellPopulation until they are removed by AbstractCellPopulation::RemoveDeadCells().
Definition at line 149 of file Cell.hpp.
Referenced by ~Cell(), IsDead(), Kill(), and serialize().
|
protected |
Whether the cell is being tracked specially.
Definition at line 152 of file Cell.hpp.
Referenced by IsLogged(), serialize(), and SetLogged().
|
protected |
The cell's cell-cycle model.
Definition at line 128 of file Cell.hpp.
Referenced by Cell(), ~Cell(), Divide(), GetAge(), GetBirthTime(), GetCellCycleModel(), InitialiseCellCycleModel(), ReadyToDivide(), serialize(), SetBirthTime(), and SetCellCycleModel().
|
protected |
The cell's sub-cellular reaction network (SRN) model.
Definition at line 131 of file Cell.hpp.
Referenced by Cell(), ~Cell(), Divide(), GetSrnModel(), InitialiseSrnModel(), ReadyToDivide(), serialize(), and SetSrnModel().
|
protected |
When the cell was commanded to start apoptosis.
Definition at line 137 of file Cell.hpp.
Referenced by GetStartOfApoptosisTime(), serialize(), and StartApoptosis().
|
protected |
Whether the cell is currently in apoptosis - don't divide.
Definition at line 143 of file Cell.hpp.
Referenced by GetTimeUntilDeath(), HasApoptosisBegun(), IsDead(), ReadyToDivide(), serialize(), and StartApoptosis().