Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
DeltaNotchEdgeSrnModel Class Reference

#include <DeltaNotchEdgeSrnModel.hpp>

+ Inheritance diagram for DeltaNotchEdgeSrnModel:
+ Collaboration diagram for DeltaNotchEdgeSrnModel:

Public Member Functions

 DeltaNotchEdgeSrnModel (boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
virtual AbstractSrnModelCreateSrnModel ()
 
virtual void Initialise ()
 
virtual void InitialiseDaughterCell ()
 
virtual void SimulateToCurrentTime ()
 
void UpdateDeltaNotch ()
 
double GetNotch ()
 
void SetNotch (double value)
 
double GetDelta ()
 
void SetDelta (double value)
 
double GetNeighbouringDelta () const
 
double GetInteriorDelta () const
 
double GetInteriorNotch () const
 
virtual void OutputSrnModelParameters (out_stream &rParamsFile)
 
virtual void AddSrnQuantities (AbstractSrnModel *pOtherSrn, const double scale=1.0)
 
virtual void AddShrunkEdgeSrn (AbstractSrnModel *pShrunkEdgeSrn)
 
virtual void AddMergedEdgeSrn (AbstractSrnModel *pMergedEdgeSrn)
 
virtual void SplitEdgeSrn (const double relativePosition)
 
- Public Member Functions inherited from AbstractOdeSrnModel
 AbstractOdeSrnModel (unsigned stateSize, boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
virtual ~AbstractOdeSrnModel ()
 
virtual void ResetForDivision ()
 
void SetInitialConditions (std::vector< double > initialConditions)
 
virtual void ScaleSrnVariables (const double theta)
 
- Public Member Functions inherited from AbstractSrnModel
 AbstractSrnModel ()
 
virtual ~AbstractSrnModel ()
 
virtual void SetCell (CellPtr pCell)
 
CellPtr GetCell ()
 
void SetSimulatedToTime (double simulatedToTime)
 
double GetSimulatedToTime () const
 
void OutputSrnModelInfo (out_stream &rParamsFile)
 
void SetEdgeLocalIndex (unsigned index)
 
unsigned GetEdgeLocalIndex ()
 
bool HasEdgeModel () const
 
void SetEdgeModelIndicator (const bool isEdgeModel)
 
virtual void AddShrunkEdgeToInterior (AbstractSrnModel *pShrunkEdgeSrn)
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 
- Public Member Functions inherited from CellCycleModelOdeHandler
 CellCycleModelOdeHandler (double lastTime=SimulationTime::Instance() ->GetTime(), boost::shared_ptr< AbstractCellCycleModelOdeSolver > pOdeSolver=boost::shared_ptr< AbstractCellCycleModelOdeSolver >())
 
virtual ~CellCycleModelOdeHandler ()
 
AbstractOdeSystemGetOdeSystem () const
 
void SetOdeSystem (AbstractOdeSystem *pOdeSystem)
 
const boost::shared_ptr< AbstractCellCycleModelOdeSolverGetOdeSolver () const
 
void SetLastTime (double lastTime)
 
double GetDt ()
 
void SetDt (double timeStep)
 
void SetStateVariables (const std::vector< double > &rStateVariables)
 
std::vector< doubleGetProteinConcentrations () const
 
void SetProteinConcentrationsForTestsOnly (double lastTime, std::vector< double > proteinConcentrations)
 

Protected Member Functions

 DeltaNotchEdgeSrnModel (const DeltaNotchEdgeSrnModel &rModel)
 
- Protected Member Functions inherited from AbstractOdeSrnModel
void Initialise (AbstractOdeSystem *pOdeSystem)
 
 AbstractOdeSrnModel (const AbstractOdeSrnModel &rModel)
 
- Protected Member Functions inherited from AbstractSrnModel
 AbstractSrnModel (const AbstractSrnModel &rModel)
 
- Protected Member Functions inherited from CellCycleModelOdeHandler
 CellCycleModelOdeHandler (const CellCycleModelOdeHandler &rHandler)
 
bool SolveOdeToTime (double currentTime)
 
virtual void AdjustOdeParameters (double currentTime)
 

Private Member Functions

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

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Attributes inherited from AbstractOdeSrnModel
std::vector< doublemInitialConditions
 
unsigned mStateSize
 
- Protected Attributes inherited from AbstractSrnModel
CellPtr mpCell
 
double mSimulatedToTime
 
unsigned mEdgeLocalIndex = UNSIGNED_UNSET
 
bool mIsEdgeBasedModel = false
 
- Protected Attributes inherited from CellCycleModelOdeHandler
double mDt
 
AbstractOdeSystemmpOdeSystem
 
boost::shared_ptr< AbstractCellCycleModelOdeSolvermpOdeSolver
 
double mLastTime
 
bool mFinishedRunningOdes
 

Detailed Description

A subclass of AbstractOdeSrnModel that includes a Delta-Notch ODE system in the sub-cellular reaction network. This SRN model represents a membrane/ cortex of a single junction of a cell. This class of models can be used together with DeltaNotchInteriorSrn models. The ODE model used here is an attempt to use previous work (see DeltaNotchSrnModel class) for more detailed description of Delta-Notch interactions involving edge quantities (this or neighbour edge information) and potentially coupling with cytoplasmic concentrations (DeltaNotchInteriorSrn class).

Definition at line 55 of file DeltaNotchEdgeSrnModel.hpp.

Constructor & Destructor Documentation

◆ DeltaNotchEdgeSrnModel() [1/2]

DeltaNotchEdgeSrnModel::DeltaNotchEdgeSrnModel ( const DeltaNotchEdgeSrnModel rModel)
protected

Protected copy-constructor for use by CreateSrnModel(). The only way for external code to create a copy of a SRN model is by calling that method, to ensure that a model of the correct subclass is created.

This copy-constructor helps subclasses to ensure that all member variables are correctly copied when this happens.

This method is called by child classes to set member variables for a daughter cell upon cell division. Note that the parent SRN model will have had ResetForDivision() called just before CreateSrnModel() is called, so performing an exact copy of the parent is suitable behaviour. Any daughter-cell-specific initialisation can be done in InitialiseDaughterCell().

Parameters
rModelthe SRN model to copy.

Definition at line 56 of file DeltaNotchEdgeSrnModel.cpp.

References AbstractUntemplatedParameterisedSystem::GetNumberOfParameters(), CellCycleModelOdeHandler::GetOdeSystem(), AbstractParameterisedSystem< VECTOR >::GetParameter(), CellCycleModelOdeHandler::mpOdeSystem, AbstractParameterisedSystem< VECTOR >::rGetStateVariables(), CellCycleModelOdeHandler::SetOdeSystem(), and AbstractParameterisedSystem< VECTOR >::SetParameter().

◆ DeltaNotchEdgeSrnModel() [2/2]

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

Default constructor calls base class.

Parameters
pOdeSolverAn optional pointer to a cell-cycle model ODE solver object (allows the use of different ODE solvers)

Definition at line 38 of file DeltaNotchEdgeSrnModel.cpp.

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

Member Function Documentation

◆ AddMergedEdgeSrn()

void DeltaNotchEdgeSrnModel::AddMergedEdgeSrn ( AbstractSrnModel pMergedEdgeSrn)
virtual

Here we add Delta/Notch when junctions merge via common vertex deletion Override the method declared in AbstractSrnModel class

Parameters
pMergedEdgeSrnPointer to an SRN

Reimplemented from AbstractSrnModel.

Definition at line 200 of file DeltaNotchEdgeSrnModel.cpp.

References AddSrnQuantities().

◆ AddShrunkEdgeSrn()

void DeltaNotchEdgeSrnModel::AddShrunkEdgeSrn ( AbstractSrnModel pShrunkEdgeSrn)
virtual

Here we assume that when a neighbouring junctions shrinks, 25% of its Delta/Notch concentration is added to this edge Override the method declared in AbstractSrnModel class

Parameters
pShrunkEdgeSrnPointer to an SRN

Reimplemented from AbstractSrnModel.

Definition at line 191 of file DeltaNotchEdgeSrnModel.cpp.

References AddSrnQuantities().

◆ AddSrnQuantities()

void DeltaNotchEdgeSrnModel::AddSrnQuantities ( AbstractSrnModel pOtherSrn,
const double  scale = 1.0 
)
virtual

Adds Delta/Notch from the input SRN model to this model. Override the method declared in AbstractSrnModel class

Parameters
pOtherSrnPointer to an SRN
scalescale factor

Reimplemented from AbstractSrnModel.

Definition at line 179 of file DeltaNotchEdgeSrnModel.cpp.

References GetDelta(), GetNotch(), SetDelta(), and SetNotch().

Referenced by AddMergedEdgeSrn(), and AddShrunkEdgeSrn().

◆ CreateSrnModel()

AbstractSrnModel * DeltaNotchEdgeSrnModel::CreateSrnModel ( )
virtual

Overridden builder method to create new copies of this SRN model.

Returns
a copy of the current SRN model.

Implements AbstractSrnModel.

Definition at line 82 of file DeltaNotchEdgeSrnModel.cpp.

◆ GetDelta()

double DeltaNotchEdgeSrnModel::GetDelta ( )
Returns
the current Delta level in this edge.

Definition at line 142 of file DeltaNotchEdgeSrnModel.cpp.

References CellCycleModelOdeHandler::mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::rGetStateVariables().

Referenced by AddSrnQuantities().

◆ GetInteriorDelta()

double DeltaNotchEdgeSrnModel::GetInteriorDelta ( ) const

The value of interior Delta is stored as parameters in this model, which is retrieved by this method

Returns
the level of Delta in cell interior

Definition at line 161 of file DeltaNotchEdgeSrnModel.cpp.

References AbstractParameterisedSystem< VECTOR >::GetParameter(), and CellCycleModelOdeHandler::mpOdeSystem.

◆ GetInteriorNotch()

double DeltaNotchEdgeSrnModel::GetInteriorNotch ( ) const

The value of interior Notch is stored as parameters in this model, which is retrieved by this method

Returns
the level of Notch in cell interior

Definition at line 167 of file DeltaNotchEdgeSrnModel.cpp.

References AbstractParameterisedSystem< VECTOR >::GetParameter(), and CellCycleModelOdeHandler::mpOdeSystem.

◆ GetNeighbouringDelta()

double DeltaNotchEdgeSrnModel::GetNeighbouringDelta ( ) const
Returns
the current level of Delta in the neighbouring cell's edge.

Definition at line 155 of file DeltaNotchEdgeSrnModel.cpp.

References AbstractParameterisedSystem< VECTOR >::GetParameter(), and CellCycleModelOdeHandler::mpOdeSystem.

◆ GetNotch()

double DeltaNotchEdgeSrnModel::GetNotch ( )

◆ Initialise()

void DeltaNotchEdgeSrnModel::Initialise ( )
virtual

Initialise the SRN model at the start of a simulation.

This overridden method sets up a new Delta-Notch ODE system.

Reimplemented from AbstractOdeSrnModel.

Definition at line 96 of file DeltaNotchEdgeSrnModel.cpp.

References AbstractOdeSrnModel::Initialise().

◆ InitialiseDaughterCell()

void DeltaNotchEdgeSrnModel::InitialiseDaughterCell ( )
virtual

This method is called when a new edge is created (e.g. after cell division or T1 swap)

Reimplemented from AbstractSrnModel.

Definition at line 101 of file DeltaNotchEdgeSrnModel.cpp.

References AbstractSrnModel::mpCell, CellCycleModelOdeHandler::mpOdeSystem, AbstractParameterisedSystem< VECTOR >::SetParameter(), and AbstractParameterisedSystem< VECTOR >::SetStateVariable().

◆ OutputSrnModelParameters()

void DeltaNotchEdgeSrnModel::OutputSrnModelParameters ( out_stream &  rParamsFile)
virtual

Output SRN model parameters to file.

Parameters
rParamsFilethe file stream to which the parameters are output

Reimplemented from AbstractOdeSrnModel.

Definition at line 173 of file DeltaNotchEdgeSrnModel.cpp.

References AbstractOdeSrnModel::OutputSrnModelParameters().

◆ serialize()

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

Archive the SRN model and member variables.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 68 of file DeltaNotchEdgeSrnModel.hpp.

◆ SetDelta()

void DeltaNotchEdgeSrnModel::SetDelta ( double  value)

Set the Delta level in this edge.

Parameters
valuethe new Delta level in this edge

Definition at line 149 of file DeltaNotchEdgeSrnModel.cpp.

References CellCycleModelOdeHandler::mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::rGetStateVariables().

Referenced by AddSrnQuantities().

◆ SetNotch()

void DeltaNotchEdgeSrnModel::SetNotch ( double  value)

Set the Notch level in this edge.

Parameters
valuethe new Notch level in this edge

Definition at line 136 of file DeltaNotchEdgeSrnModel.cpp.

References CellCycleModelOdeHandler::mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::rGetStateVariables().

Referenced by AddSrnQuantities().

◆ SimulateToCurrentTime()

void DeltaNotchEdgeSrnModel::SimulateToCurrentTime ( )
virtual

Overridden SimulateToTime() method for custom behaviour. Updates parameters (such as neighbour or interior Delta/Notch) and runs the simulation to current time

Reimplemented from AbstractOdeSrnModel.

Definition at line 87 of file DeltaNotchEdgeSrnModel.cpp.

References AbstractOdeSrnModel::SimulateToCurrentTime(), and UpdateDeltaNotch().

◆ SplitEdgeSrn()

void DeltaNotchEdgeSrnModel::SplitEdgeSrn ( const double  relativePosition)
virtual

By default, Edge concentrations are split according to the lengths of two new edges , when an edge is split, relative to the original edge they are created from. Override the method declared in AbstractSrnModel class

Parameters
relativePositionposition of the node splitting the two new edges relative to the original edge, used when splitting Edge concentrations

Reimplemented from AbstractSrnModel.

Definition at line 206 of file DeltaNotchEdgeSrnModel.cpp.

References AbstractOdeSrnModel::ScaleSrnVariables().

◆ UpdateDeltaNotch()

void DeltaNotchEdgeSrnModel::UpdateDeltaNotch ( )

Update the levels of Delta and Notch of neighbouring edge sensed by this edge That is, fetch neighbour values from CellEdgeData object, storing the sensed information, into this model

Definition at line 114 of file DeltaNotchEdgeSrnModel.cpp.

References AbstractSrnModel::GetEdgeLocalIndex(), AbstractSrnModel::mpCell, CellCycleModelOdeHandler::mpOdeSystem, and AbstractParameterisedSystem< VECTOR >::SetParameter().

Referenced by SimulateToCurrentTime().

Friends And Related Symbol Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 60 of file DeltaNotchEdgeSrnModel.hpp.


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