Chaste  Release::2018.1
WntCellCycleOdeSystem Class Reference

#include <WntCellCycleOdeSystem.hpp>

+ Inheritance diagram for WntCellCycleOdeSystem:
+ Collaboration diagram for WntCellCycleOdeSystem:

Public Member Functions

 WntCellCycleOdeSystem (double wntLevel=0.0, boost::shared_ptr< AbstractCellMutationState > pMutationState=boost::shared_ptr< AbstractCellMutationState >(), std::vector< double > stateVariables=std::vector< double >())
 
 ~WntCellCycleOdeSystem ()
 
void Init ()
 
void SetMutationState (boost::shared_ptr< AbstractCellMutationState > pMutationState)
 
const boost::shared_ptr
< AbstractCellMutationState
GetMutationState () const
 
void EvaluateYDerivatives (double time, const std::vector< double > &rY, std::vector< double > &rDY)
 
bool CalculateStoppingEvent (double time, const std::vector< double > &rY)
 
double CalculateRootFunction (double time, const std::vector< double > &rY)
 
double GetWntLevel () const
 
- Public Member Functions inherited from AbstractOdeSystem
 AbstractOdeSystem (unsigned numberOfStateVariables)
 
virtual ~AbstractOdeSystem ()
 
bool GetUseAnalyticJacobian ()
 
const std::vector< double > & rGetConstStateVariables () const
 
- Public Member Functions inherited from AbstractParameterisedSystem< std::vector< double > >
 AbstractParameterisedSystem (unsigned numberOfStateVariables)
 
std::vector< double > & rGetStateVariables ()
 
std::vector< doubleGetStateVariables ()
 
void SetStateVariables (const std::vector< double > &rStateVariables)
 
double GetStateVariable (unsigned index) const
 
double GetStateVariable (const std::string &rName) const
 
void SetStateVariable (unsigned index, double newValue)
 
void SetStateVariable (const std::string &rName, double newValue)
 
virtual void VerifyStateVariables ()
 
void SetDefaultInitialConditions (const std::vector< double > &rInitialConditions)
 
void SetDefaultInitialCondition (unsigned index, double initialCondition)
 
std::vector< doubleGetInitialConditions () const
 
void ResetToInitialConditions ()
 
double GetParameter (unsigned index) const
 
double GetParameter (const std::string &rName) const
 
void SetParameter (const std::string &rName, double value)
 
void SetParameter (unsigned index, double value)
 
double GetAnyVariable (unsigned index, double time=0.0, std::vector< double > *pDerivedQuantities=NULL)
 
double GetAnyVariable (const std::string &rName, double time=0.0, std::vector< double > *pDerivedQuantities=NULL)
 
void SetAnyVariable (unsigned index, double value)
 
void SetAnyVariable (const std::string &rName, double value)
 
virtual std::vector< doubleComputeDerivedQuantities (double time, const std::vector< double > &rState)
 
std::vector< doubleComputeDerivedQuantitiesFromCurrentState (double time)
 
- Public Member Functions inherited from AbstractUntemplatedParameterisedSystem
 AbstractUntemplatedParameterisedSystem (unsigned numberOfStateVariables)
 
virtual ~AbstractUntemplatedParameterisedSystem ()
 
boost::shared_ptr< const
AbstractOdeSystemInformation
GetSystemInformation () const
 
std::string GetSystemName () const
 
unsigned GetNumberOfAttributes () const
 
bool HasAttribute (const std::string &rName) const
 
double GetAttribute (const std::string &rName) const
 
unsigned GetNumberOfStateVariables () const
 
const std::vector< std::string > & rGetStateVariableNames () const
 
const std::vector< std::string > & rGetStateVariableUnits () const
 
unsigned GetStateVariableIndex (const std::string &rName) const
 
bool HasStateVariable (const std::string &rName) const
 
std::string GetStateVariableUnits (unsigned index) const
 
unsigned GetNumberOfParameters () const
 
const std::vector< std::string > & rGetParameterNames () const
 
const std::vector< std::string > & rGetParameterUnits () const
 
unsigned GetParameterIndex (const std::string &rName) const
 
bool HasParameter (const std::string &rName) const
 
std::string GetParameterUnits (unsigned index) const
 
unsigned GetNumberOfDerivedQuantities () const
 
const std::vector< std::string > & rGetDerivedQuantityNames () const
 
const std::vector< std::string > & rGetDerivedQuantityUnits () const
 
unsigned GetDerivedQuantityIndex (const std::string &rName) const
 
bool HasDerivedQuantity (const std::string &rName) const
 
std::string GetDerivedQuantityUnits (unsigned index) const
 
unsigned GetAnyVariableIndex (const std::string &rName) const
 
bool HasAnyVariable (const std::string &rName) const
 
std::string GetAnyVariableUnits (unsigned index) const
 
std::string GetAnyVariableUnits (const std::string &rName) const
 

Private Member Functions

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

Private Attributes

double mk2d
 
double mk3d
 
double mk34d
 
double mk43d
 
double mk23d
 
double mad
 
double mJ11d
 
double mJ12d
 
double mJ13d
 
double mJ61d
 
double mJ62d
 
double mJ63d
 
double mKm1d
 
double mkpd
 
double mphi_r
 
double mphi_i
 
double mphi_j
 
double mphi_p
 
double ma2d
 
double ma3d
 
double ma4d
 
double ma5d
 
double mk16d
 
double mk61d
 
double mPhiE2F1
 
boost::shared_ptr
< AbstractCellMutationState
mpMutationState
 
double mWntLevel
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Member Functions inherited from AbstractParameterisedSystem< std::vector< double > >
std::string DumpState (const std::string &rMessage)
 
std::string DumpState (const std::string &rMessage, std::vector< double >Y)
 
std::string DumpState (const std::string &rMessage, std::vector< double >Y, double time)
 
void CheckParametersOnLoad (const std::vector< double > &rParameters, const std::vector< std::string > &rParameterNames)
 
- Protected Attributes inherited from AbstractOdeSystem
bool mUseAnalyticJacobian
 
- Protected Attributes inherited from AbstractParameterisedSystem< std::vector< double > >
std::vector< doublemStateVariables
 
std::vector< doublemParameters
 
- Protected Attributes inherited from AbstractUntemplatedParameterisedSystem
unsigned mNumberOfStateVariables
 
boost::shared_ptr
< AbstractOdeSystemInformation
mpSystemInfo
 

Detailed Description

Represents the Mirams et al. system of ODEs, based on Swat et al. (2004) [doi:10.1093/bioinformatics/bth110] and a simple Wnt model (unpublished)

The variables are

0. r = pRb 1. e = E2F1 2. i = CycD (inactive) 3. j = CycD (active) 4. p = pRb-p 5. c = destruction complex (Active) 6. b1 = Beta-Catenin (from 1st allele) 7. b2 = Beta-Catenin (from 1st allele) 8. WntLevel

Definition at line 66 of file WntCellCycleOdeSystem.hpp.

Constructor & Destructor Documentation

WntCellCycleOdeSystem::WntCellCycleOdeSystem ( double  wntLevel = 0.0,
boost::shared_ptr< AbstractCellMutationState pMutationState = boost::shared_ptr<AbstractCellMutationState>(),
std::vector< double stateVariables = std::vector<double>() 
)

Constructor.

Parameters
wntLevelis a non-dimensional Wnt value between 0 and 1. This sets up the Wnt pathway in its steady state.
pMutationStateoptional mutation state (affects the ODE system)
stateVariablesoptional initial conditions for state variables (only used in archiving)

State variables.

0. r = pRb 1. e = E2F1 (This is the S-phase indicator) 2. i = CycD (inactive) 3. j = CycD (active) 4. p = pRb-p 5. c = APC (Active) 6. b1 = Beta-Catenin (1st allele's copy) 7. b2 = Beta-Catenin (2nd allele's copy) 8. wntLevel

Definition at line 45 of file WntCellCycleOdeSystem.cpp.

References Init(), ma2d, ma3d, ma4d, ma5d, mpMutationState, AbstractUntemplatedParameterisedSystem::mpSystemInfo, AbstractParameterisedSystem< std::vector< double > >::SetDefaultInitialCondition(), and AbstractParameterisedSystem< std::vector< double > >::SetStateVariables().

WntCellCycleOdeSystem::~WntCellCycleOdeSystem ( )

Destructor.

Definition at line 122 of file WntCellCycleOdeSystem.cpp.

Member Function Documentation

double WntCellCycleOdeSystem::CalculateRootFunction ( double  time,
const std::vector< double > &  rY 
)
virtual

When using CVODE this function is called instead of CalculateStoppingEvent. It allows the point at which rY[1] reaches 1 to be found to greater precision.

Parameters
timeat which to calculate whether the stopping event has occurred
rYvalue of the solution vector used to evaluate the RHS
Returns
function value - giving CVODE an estimate of how close we are to the root.

Reimplemented from AbstractOdeSystem.

Definition at line 305 of file WntCellCycleOdeSystem.cpp.

bool WntCellCycleOdeSystem::CalculateStoppingEvent ( double  time,
const std::vector< double > &  rY 
)
virtual

This also contains a calculation of dY[1], copied from EvaluateYDerivatives. Ensure they do not get out of sync!

Parameters
timeat which to calculate whether the stopping event has occurred
rYvalue of the solution vector used to evaluate the RHS
Returns
whether we have reached the stopping event

Reimplemented from AbstractOdeSystem.

Definition at line 291 of file WntCellCycleOdeSystem.cpp.

References mad, mJ12d, mJ62d, mk2d, mkpd, and mPhiE2F1.

void WntCellCycleOdeSystem::EvaluateYDerivatives ( double  time,
const std::vector< double > &  rY,
std::vector< double > &  rDY 
)
virtual

Compute the RHS of the WntCellCycle system of ODEs.

Returns a vector representing the RHS of the ODEs at each time step, y' = [y1' ... yn']. An ODE solver will call this function repeatedly to solve for y = [y1 ... yn].

Parameters
timeused to evaluate the RHS.
rYvalue of the solution vector used to evaluate the RHS.
rDYfilled in with the resulting derivatives (using Alarcons et al. (2004) system of equations).

Implements AbstractOdeSystem.

Definition at line 194 of file WntCellCycleOdeSystem.cpp.

References ma2d, ma3d, ma4d, ma5d, mad, mJ11d, mJ12d, mJ13d, mJ61d, mJ62d, mJ63d, mk16d, mk23d, mk2d, mk34d, mk3d, mk43d, mk61d, mKm1d, mkpd, mphi_i, mphi_j, mphi_p, mphi_r, mPhiE2F1, and mpMutationState.

const boost::shared_ptr< AbstractCellMutationState > WntCellCycleOdeSystem::GetMutationState ( ) const

Called by the archive function on the Wnt cell-cycle model.

Returns
mpMutationState the mutation state of the cell.

Definition at line 286 of file WntCellCycleOdeSystem.cpp.

References mpMutationState.

double WntCellCycleOdeSystem::GetWntLevel ( ) const
Returns
mWntLevel.

Definition at line 352 of file WntCellCycleOdeSystem.cpp.

References mWntLevel.

void WntCellCycleOdeSystem::Init ( )

Initialise parameter values.

Definition at line 127 of file WntCellCycleOdeSystem.cpp.

References ma2d, ma3d, ma4d, ma5d, mad, mJ11d, mJ12d, mJ13d, mJ61d, mJ62d, mJ63d, mk16d, mk23d, mk2d, mk34d, mk3d, mk43d, mk61d, mKm1d, mkpd, mphi_i, mphi_j, mphi_p, mphi_r, and mPhiE2F1.

Referenced by WntCellCycleOdeSystem().

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

Serialize the object and its member variables.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 139 of file WntCellCycleOdeSystem.hpp.

void WntCellCycleOdeSystem::SetMutationState ( boost::shared_ptr< AbstractCellMutationState pMutationState)

Set the mutation state of the cell.

This should be called by the relevant cell-cycle model before any solving of the ODE system (as it is used to evaluate the Y derivatives).

Parameters
pMutationStatethe mutation state.

Definition at line 117 of file WntCellCycleOdeSystem.cpp.

References mpMutationState.

Member Data Documentation

double WntCellCycleOdeSystem::ma2d
private

Dimensional parameter a_2.

Definition at line 111 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), Init(), and WntCellCycleOdeSystem().

double WntCellCycleOdeSystem::ma3d
private

Dimensional parameter a_3.

Definition at line 113 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), Init(), and WntCellCycleOdeSystem().

double WntCellCycleOdeSystem::ma4d
private

Dimensional parameter a_4.

Definition at line 115 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), Init(), and WntCellCycleOdeSystem().

double WntCellCycleOdeSystem::ma5d
private

Dimensional parameter a_5.

Definition at line 117 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), Init(), and WntCellCycleOdeSystem().

double WntCellCycleOdeSystem::mad
private

Dimensional parameter a.

Definition at line 85 of file WntCellCycleOdeSystem.hpp.

Referenced by CalculateStoppingEvent(), EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mJ11d
private

Dimensional parameter J_11.

Definition at line 87 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mJ12d
private

Dimensional parameter J_12.

Definition at line 89 of file WntCellCycleOdeSystem.hpp.

Referenced by CalculateStoppingEvent(), EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mJ13d
private

Dimensional parameter J_13.

Definition at line 91 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mJ61d
private

Dimensional parameter J_13.

Definition at line 93 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mJ62d
private

Dimensional parameter J_62.

Definition at line 95 of file WntCellCycleOdeSystem.hpp.

Referenced by CalculateStoppingEvent(), EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mJ63d
private

Dimensional parameter J_63.

Definition at line 97 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mk16d
private

Dimensional parameter k_16.

Definition at line 119 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mk23d
private

Dimensional parameter k_23.

Definition at line 83 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mk2d
private

Parameters for the Swat et al. (2004) modelDimensional parameter k_2.

Definition at line 75 of file WntCellCycleOdeSystem.hpp.

Referenced by CalculateStoppingEvent(), EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mk34d
private

Dimensional parameter k_34.

Definition at line 79 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mk3d
private

Dimensional parameter k_3.

Definition at line 77 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mk43d
private

Dimensional parameter k_2.

Definition at line 81 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mk61d
private

Dimensional parameter k_61.

Definition at line 121 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mKm1d
private

Dimensional parameter K_m1.

Definition at line 99 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mkpd
private

Dimensional parameter k_p.

Definition at line 101 of file WntCellCycleOdeSystem.hpp.

Referenced by CalculateStoppingEvent(), EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mphi_i
private

Dimensionless parameter phi_i.

Definition at line 105 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mphi_j
private

Dimensionless parameter phi_j.

Definition at line 107 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mphi_p
private

Dimensionless parameter phi_p.

Definition at line 109 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mphi_r
private

Dimensionless parameter phi_r.

Definition at line 103 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), and Init().

double WntCellCycleOdeSystem::mPhiE2F1
private

Dimensionless parameter phi_E2F1.

Definition at line 123 of file WntCellCycleOdeSystem.hpp.

Referenced by CalculateStoppingEvent(), EvaluateYDerivatives(), and Init().

boost::shared_ptr<AbstractCellMutationState> WntCellCycleOdeSystem::mpMutationState
private

The mutation state of the cell - Wnt pathway behaviour (and hence cell cycle time) changes depending on this

Definition at line 126 of file WntCellCycleOdeSystem.hpp.

Referenced by EvaluateYDerivatives(), GetMutationState(), SetMutationState(), and WntCellCycleOdeSystem().

double WntCellCycleOdeSystem::mWntLevel
private

The Wnt level (this affects the ODE system).

Definition at line 129 of file WntCellCycleOdeSystem.hpp.

Referenced by GetWntLevel().


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