36 #include "WntCellCycleOdeSystem.hpp"
37 #include "CellwiseOdeSystemInformation.hpp"
41 #include "ApcOneHitCellMutationState.hpp"
42 #include "ApcTwoHitCellMutationState.hpp"
43 #include "BetaCateninOneHitCellMutationState.hpp"
46 boost::shared_ptr<AbstractCellMutationState> pMutationState,
47 std::vector<double> stateVariables)
49 mpMutationState(pMutationState),
72 double beta_cat_level_1 = -1.0;
73 double beta_cat_level_2 = -1.0;
82 beta_cat_level_1 = 0.5*
ma2d/(
ma2d+0.5*
ma3d*destruction_level);
83 beta_cat_level_2 = 0.5*
ma2d/(
ma2d+0.5*
ma3d*destruction_level);
88 destruction_level = 0.0;
89 beta_cat_level_1 = 0.5;
90 beta_cat_level_2 = 0.5;
95 beta_cat_level_1 = 0.5*
ma2d/(
ma2d+
ma3d*destruction_level);
96 beta_cat_level_2 = 0.5;
101 beta_cat_level_1 = 0.5*
ma2d/(
ma2d+
ma3d*destruction_level);
102 beta_cat_level_2 = 0.5*
ma2d/(
ma2d+
ma3d*destruction_level);
111 if (stateVariables != std::vector<double>())
150 double phi_pRb = 0.005;
151 double phi_E2F1 = 0.1;
152 double phi_CycDi = 0.023;
153 double phi_CycDa = 0.03;
154 double phi_pRbp = 0.06;
162 double WntMax = 10.0;
163 double mitogenic_factorF = 6.0e-4;
164 double APC_Total = 0.02;
167 mk2d = k2/(Km2*phi_E2F1);
168 mk3d = k3*a1*mitogenic_factorF/(Km4*phi_E2F1*a2);
169 mk34d = k34/phi_E2F1;
170 mk43d = k43/phi_E2F1;
171 mk23d = k23*Km2/(Km4*phi_E2F1);
173 mJ11d = J11*phi_E2F1/k1;
174 mJ12d = J12*phi_E2F1/k1;
175 mJ13d = J13*phi_E2F1/k1;
176 mJ61d = J61*phi_E2F1/k1;
177 mJ62d = J62*phi_E2F1/k1;
178 mJ63d = J63*phi_E2F1/k1;
180 mkpd = kp/(Km2*phi_E2F1);
181 mphi_r = phi_pRb/phi_E2F1;
182 mphi_i = phi_CycDi/phi_E2F1;
183 mphi_j = phi_CycDa/phi_E2F1;
184 mphi_p = phi_pRbp/phi_E2F1;
186 ma3d = a3*APC_Total/phi_E2F1;
187 ma4d = a4*WntMax/phi_E2F1;
189 mk16d = k16*Km4/phi_E2F1;
190 mk61d = k61/phi_E2F1;
204 double wnt_level = rY[8];
235 dx6 =
ma5d*(1.0-c) -
ma4d*wnt_level*c;
236 dx7 =
ma2d*(0.5-b1) - 0.5*
ma3d*b1*c;
237 dx8 =
ma2d*(0.5-b2) - 0.5*
ma3d*b2*c;
247 dx6 =
ma5d*(1.0-c) -
ma4d*wnt_level*c;
254 dx6 =
ma5d*(1.0-c) -
ma4d*wnt_level*c;
300 assert(!std::isnan(rY[1]));
301 assert(!std::isnan(dY1));
302 return (rY[1] > 1.0 && dY1 > 0.0);
313 this->mVariableNames.push_back(
"pRb");
314 this->mVariableUnits.push_back(
"non_dim");
315 this->mInitialConditions.push_back(7.357000000000000e-01);
317 this->mVariableNames.push_back(
"E2F1");
318 this->mVariableUnits.push_back(
"non_dim");
319 this->mInitialConditions.push_back(1.713000000000000e-01);
321 this->mVariableNames.push_back(
"CycD_i");
322 this->mVariableUnits.push_back(
"non_dim");
323 this->mInitialConditions.push_back(6.900000000000001e-02);
325 this->mVariableNames.push_back(
"CycD_a");
326 this->mVariableUnits.push_back(
"non_dim");
327 this->mInitialConditions.push_back(3.333333333333334e-03);
329 this->mVariableNames.push_back(
"pRb_p");
330 this->mVariableUnits.push_back(
"non_dim");
331 this->mInitialConditions.push_back(1.000000000000000e-04);
333 this->mVariableNames.push_back(
"APC");
334 this->mVariableUnits.push_back(
"non_dim");
335 this->mInitialConditions.push_back(
NAN);
337 this->mVariableNames.push_back(
"Beta_Cat1");
338 this->mVariableUnits.push_back(
"non_dim");
339 this->mInitialConditions.push_back(
NAN);
341 this->mVariableNames.push_back(
"Beta_Cat2");
342 this->mVariableUnits.push_back(
"non_dim");
343 this->mInitialConditions.push_back(
NAN);
345 this->mVariableNames.push_back(
"Wnt");
346 this->mVariableUnits.push_back(
"non_dim");
347 this->mInitialConditions.push_back(
NAN);
349 this->mInitialised =
true;
void SetDefaultInitialCondition(unsigned index, double initialCondition)
double CalculateRootFunction(double time, const std::vector< double > &rY)
void SetStateVariables(const std::vector< double > &rStateVariables)
void SetMutationState(boost::shared_ptr< AbstractCellMutationState > pMutationState)
bool CalculateStoppingEvent(double time, const std::vector< double > &rY)
WntCellCycleOdeSystem(double wntLevel=0.0, boost::shared_ptr< AbstractCellMutationState > pMutationState=boost::shared_ptr< AbstractCellMutationState >(), std::vector< double > stateVariables=std::vector< double >())
boost::shared_ptr< AbstractOdeSystemInformation > mpSystemInfo
double GetWntLevel() const
#define CHASTE_CLASS_EXPORT(T)
const boost::shared_ptr< AbstractCellMutationState > GetMutationState() const
boost::shared_ptr< AbstractCellMutationState > mpMutationState
void EvaluateYDerivatives(double time, const std::vector< double > &rY, std::vector< double > &rDY)