/* * Analysis of a Generic Model of Eukaryotic Cell-Cycle Regulation * * Model Status * * This CellML model represents the budding yeast model taken from * the original model code. This CellML model represents the budding * yeast model taken from the original published paper. The model * runs in both PCEnv and COR but does not replicate the published * results. This may be because of the cell division event which * we are currently unable to express in CellML. The units have * been checked and they are consistent. * * Model Structure * * ABSTRACT: We propose a protein interaction network for the regulation * of DNA synthesis and mitosis that emphasizes the universality * of the regulatory system among eukaryotic cells. The idiosyncrasies * of cell cycle regulation in particular organisms can be attributed, * we claim, to specific settings of rate constants in the dynamic * network of chemical reactions. The values of these rate constants * are determined ultimately by the genetic makeup of an organism. * To support these claims, we convert the reaction mechanism into * a set of governing kinetic equations and provide parameter values * (specific to budding yeast, fission yeast, frog eggs, and mammalian * cells) that account for many curious features of cell cycle * regulation in these organisms. Using one-parameter bifurcation * diagrams, we show how overall cell growth drives progression * through the cell cycle, how cell-size homeostasis can be achieved * by two different strategies, and how mutations remodel bifurcation * diagrams and create unusual cell-division phenotypes. The relation * between gene dosage and phenotype can be summarized compactly * in two-parameter bifurcation diagrams. Our approach provides * a theoretical framework in which to understand both the universality * and particularity of cell cycle regulation, and to construct, * in modular fashion, increasingly complex models of the networks * controlling cell growth and division. * * The original paper reference is cited below: * * Analysis of a Generic Model of Eukaryotic Cell-Cycle Regulation, * Attila Csikasz-Nagy, Dorjsuren Battogtokh, Katherine C. Chen, * Bela Novak, and John J. Tyson, 2006, Biophysical Journal, 90, * 4361-4379. PubMed ID: 16581849 * * reaction diagram * * [[Image file: csikasz_nagy_2006.png]] * * Wiring diagram of the generic cell-cycle regulatory network. * Chemical reactions (solid lines), regulatory effects (dashed * lines); a protein sitting on a reaction arrow represents an * enzyme catalyst of the reaction. Regulatory modules of the system * are distinguished by shaded backgrounds: (1) exit of M module, * (2) Cdh1 module, (3) CycB transcription factor, (4) CycB synthesis/degradation, * (5) G2 module, (6) CycB inhibition by CKI (also includes the * binding of phosphorylated CycB, if that is present), (7) CKI * transcription factor, (8) CKI synthesis/ degradation, (9) CycE * inhibition by CKI, (10) CycE synthesis/degradation, (11) CycE/A * transcription factor, (12) CycA inhibition by CKI, (13) CycA * synthesis/degradation. An asterisk by the name represents active * form of regulated protein; gray rectangles behind cyclins represent * their Cdk partners. It is assumed that all Cdk subunits are * present in constant, excess amounts. */ import nsrunit; unit conversion on; unit minute=60 second^1; unit first_order_rate_constant=.01666667 second^(-1); math main { realDomain time minute; time.min=0; extern time.max; extern time.delta; real CycA(time) dimensionless; when(time=time.min) CycA=0.09450308233499527; real k_assa first_order_rate_constant; k_assa=50; real k_dissa first_order_rate_constant; k_dissa=0.06; real V_di(time) first_order_rate_constant; real V_sa(time) first_order_rate_constant; real V_da(time) first_order_rate_constant; real Tri_A(time) dimensionless; when(time=time.min) Tri_A=0.3492224216461182; real CKI(time) dimensionless; when(time=time.min) CKI=0.02882070094347; real CycB(time) dimensionless; when(time=time.min) CycB=0.1903585940599442; real k_assb first_order_rate_constant; k_assb=60; real k_dissb first_order_rate_constant; k_dissb=0.05; real V_sb(time) first_order_rate_constant; real V_db(time) first_order_rate_constant; real V_25(time) first_order_rate_constant; real V_wee(time) first_order_rate_constant; real pB(time) dimensionless; when(time=time.min) pB=0.01234426256269217; real BCKI(time) dimensionless; when(time=time.min) BCKI=0.679449200630188; real CycE(time) dimensionless; when(time=time.min) CycE=0.2092024385929108; real k_disse first_order_rate_constant; k_disse=0; real k_asse first_order_rate_constant; k_asse=0; real V_se(time) first_order_rate_constant; real V_de(time) first_order_rate_constant; real Tri_E(time) dimensionless; when(time=time.min) Tri_E=0; real CycD(time) dimensionless; real CycD_0 dimensionless; CycD_0=0.108; real mass(time) dimensionless; when(time=time.min) mass=1.338267803192139; real Cdc20_A(time) dimensionless; when(time=time.min) Cdc20_A=0.3572723865509033; real k_a20 first_order_rate_constant; k_a20=1; real k_i20 first_order_rate_constant; k_i20=0.16; real k_d20 first_order_rate_constant; k_d20=0.05; real APCP(time) dimensionless; when(time=time.min) APCP=0.07591402530670166; real Cdc20_i(time) dimensionless; when(time=time.min) Cdc20_i=0.7702387571334839; real Cdc20_A.J_a20 dimensionless; Cdc20_A.J_a20=1; real Cdc20_A.J_i20 dimensionless; Cdc20_A.J_i20=1; real k_s20p first_order_rate_constant; k_s20p=0.001; real k_s20pp first_order_rate_constant; k_s20pp=1; real n20 dimensionless; n20=1; real J_20 dimensionless; J_20=10; real Cdc20_i.J_a20 dimensionless; Cdc20_i.J_a20=1; real Cdc20_i.J_i20 dimensionless; Cdc20_i.J_i20=1; real APC(time) dimensionless; real APC_T dimensionless; APC_T=1; real k_aie first_order_rate_constant; k_aie=0.1; real k_iie first_order_rate_constant; k_iie=0.15; real J_aie dimensionless; J_aie=0.1; real J_iie dimensionless; J_iie=0.1; real pBCKI(time) dimensionless; when(time=time.min) pBCKI=0.04795938357710838; real V_si(time) first_order_rate_constant; real Cdh1_i(time) dimensionless; real Cdh1_T dimensionless; Cdh1_T=1; real Cdh1(time) dimensionless; when(time=time.min) Cdh1=0.7189393639564514; real V_ah1(time) first_order_rate_constant; real V_ih1(time) first_order_rate_constant; real J_ah1 dimensionless; J_ah1=0.03; real J_ih1 dimensionless; J_ih1=0.03; real mu first_order_rate_constant; mu=0.005776; real maxmass dimensionless; maxmass=10000; real V_atf(time) first_order_rate_constant; real k_atfp first_order_rate_constant; k_atfp=0; real k_atfapp first_order_rate_constant; k_atfapp=1.5; real k_atfepp first_order_rate_constant; k_atfepp=0.38; real k_atfdpp first_order_rate_constant; k_atfdpp=3; real V_itf(time) first_order_rate_constant; real k_itfp first_order_rate_constant; k_itfp=0.75; real k_itfapp first_order_rate_constant; k_itfapp=0; real k_itfbpp first_order_rate_constant; k_itfbpp=8; real TF_E(time) dimensionless; real J_itf dimensionless; J_itf=0.01; real J_atf dimensionless; J_atf=0.01; real k_dep first_order_rate_constant; k_dep=0.12; real k_deepp first_order_rate_constant; k_deepp=0; real k_deapp first_order_rate_constant; k_deapp=0; real k_debpp first_order_rate_constant; k_debpp=0; real k_dap first_order_rate_constant; k_dap=0.01; real k_dapp first_order_rate_constant; k_dapp=0.16; real k_dappp first_order_rate_constant; k_dappp=0; real TF_I(time) dimensionless; real k_afi first_order_rate_constant; k_afi=6; real k_ifip first_order_rate_constant; k_ifip=0.008; real k_ifibpp first_order_rate_constant; k_ifibpp=0.05; real J_ifi dimensionless; J_ifi=2; real J_afi dimensionless; J_afi=1; real Cdc14(time) dimensionless; real k_ah1p first_order_rate_constant; k_ah1p=0.02; real k_ah1pp first_order_rate_constant; k_ah1pp=0.8; real k_ih1p first_order_rate_constant; k_ih1p=0.001; real k_ih1app first_order_rate_constant; k_ih1app=0.35; real k_ih1bpp first_order_rate_constant; k_ih1bpp=0.1; real k_ih1epp first_order_rate_constant; k_ih1epp=0.06; real k_ih1dpp first_order_rate_constant; k_ih1dpp=0.005; real k_sip first_order_rate_constant; k_sip=0.018; real k_sipp first_order_rate_constant; k_sipp=0.18; real k_dip first_order_rate_constant; k_dip=0.02; real k_diapp first_order_rate_constant; k_diapp=0.1; real k_diepp first_order_rate_constant; k_diepp=0.12; real k_didpp first_order_rate_constant; k_didpp=0.1; real k_dibpp first_order_rate_constant; k_dibpp=0.8; real k_14di dimensionless; k_14di=12; real preMPF(time) dimensionless; real CycBT(time) dimensionless; real CycAT(time) dimensionless; real CycET(time) dimensionless; real Tri_B(time) dimensionless; real CKIT(time) dimensionless; real Cdc20_T(time) dimensionless; real TF_B(time) dimensionless; real k_afb first_order_rate_constant; k_afb=1; real k_ifb first_order_rate_constant; k_ifb=0.15; real J_ifb dimensionless; J_ifb=0.1; real J_afb dimensionless; J_afb=0.1; real k_sbp first_order_rate_constant; k_sbp=0.004; real k_sbpp first_order_rate_constant; k_sbpp=0.04; real k_sap first_order_rate_constant; k_sap=0.0015; real k_sapp first_order_rate_constant; k_sapp=0.01; real k_sep first_order_rate_constant; k_sep=0; real k_sepp first_order_rate_constant; k_sepp=0.15; real k_dbp first_order_rate_constant; k_dbp=0.003; real k_dbhpp first_order_rate_constant; k_dbhpp=0.4; real k_dbcpp first_order_rate_constant; k_dbcpp=0.15; real Wee1(time) dimensionless; real k_aweep first_order_rate_constant; k_aweep=0.3; real k_aweepp first_order_rate_constant; k_aweepp=0; real k_iweep first_order_rate_constant; k_iweep=0; real k_iweepp first_order_rate_constant; k_iweepp=1; real J_iwee dimensionless; J_iwee=0.05; real J_awee dimensionless; J_awee=0.05; real k_weep first_order_rate_constant; k_weep=0.02; real k_weepp first_order_rate_constant; k_weepp=0.2; real Cdc25(time) dimensionless; real k_a25p first_order_rate_constant; k_a25p=0; real k_a25pp first_order_rate_constant; k_a25pp=1; real k_i25p first_order_rate_constant; k_i25p=0.3; real k_i25pp first_order_rate_constant; k_i25pp=0; real J_i25 dimensionless; J_i25=0.1; real J_a25 dimensionless; J_a25=0.1; real k_25p first_order_rate_constant; k_25p=0.01; real k_25pp first_order_rate_constant; k_25pp=5; // // CycA:time=(k_dissa*Tri_A+V_di*Tri_A+V_sa-V_da*CycA-k_assa*CKI*CycA); // CycB:time=(V_sb-V_db*CycB+V_25*pB-V_wee*CycB-k_assb*CycB*CKI+k_dissb*BCKI+V_di*BCKI); // CycE:time=(k_disse*Tri_E+V_di*Tri_E+V_se-V_de*CycE-k_asse*CKI*CycE); // CycD=(CycD_0*mass); // Cdc20_A:time=(k_a20*APCP*Cdc20_i/(Cdc20_A.J_a20+Cdc20_i)-Cdc20_A*k_i20/(Cdc20_A.J_i20+Cdc20_A)-Cdc20_A*k_d20); // Cdc20_i:time=((k_s20p+k_s20pp*CycB^n20)/(J_20^n20+CycB^n20)+Cdc20_A*k_i20/(Cdc20_i.J_i20+Cdc20_A)-k_d20*Cdc20_i-k_a20*APCP*Cdc20_i/(Cdc20_i.J_a20+Cdc20_i)); // APC=((APC_T-APCP)/1); // APCP:time=(k_aie*CycB*APC/(J_aie+APC)-k_iie*APCP/(J_iie+APCP)); // pB:time=(V_wee*CycB-V_db*pB-k_assb*pB*CKI+k_dissb*pBCKI+V_di*pBCKI-V_25*pB); // BCKI:time=(k_assb*CycB*CKI-k_dissb*BCKI+V_25*pBCKI-V_wee*BCKI-V_db*BCKI-V_di*BCKI); // pBCKI:time=(k_assb*pB*CKI-k_dissb*pBCKI-V_25*pBCKI+V_wee*BCKI-V_db*pBCKI-V_di*pBCKI); // Tri_A:time=(k_assa*CKI*CycA-k_dissa*Tri_A-V_di*Tri_A-V_da*Tri_A); // Tri_E:time=(k_asse*CKI*CycE-k_disse*Tri_E-V_di*Tri_E-V_de*Tri_E); // CKI:time=((-1)*k_assb*CycB*CKI+k_dissb*BCKI-k_assb*pB*CKI+k_dissb*pBCKI+V_db*BCKI+V_db*pBCKI+V_si-V_di*CKI-k_assa*CKI*CycA+k_dissa*Tri_A+V_da*Tri_A-k_asse*CKI*CycE+k_disse*Tri_E+V_de*Tri_E); // Cdh1_i=((Cdh1_T-Cdh1)/1); // Cdh1:time=(Cdh1_i*V_ah1/(J_ah1+Cdh1_i)-Cdh1*V_ih1/(J_ih1+Cdh1)); // mass:time=(mu*mass*(1-mass/maxmass)); // V_atf=(k_atfp+k_atfapp*CycA+k_atfepp*CycE+k_atfdpp*CycD); // V_itf=(k_itfp+k_itfapp*CycA+k_itfbpp*CycB); // TF_E=(2*V_atf*J_itf/(V_itf-V_atf+J_atf*V_itf+J_itf*V_atf+sqrt((V_itf-V_atf+J_atf*V_itf+J_itf*V_atf)^2-4*(V_itf-V_atf)*J_itf*V_atf))); // V_de=(k_dep+k_deepp*CycE+k_deapp*CycA+k_debpp*CycB); // V_da=(k_dap+(k_dapp+k_dappp)*Cdc20_A+k_dappp*Cdc20_i); // Cdc14=Cdc20_A; TF_I=(2*k_afi*Cdc14*J_ifi/(k_ifip+k_ifibpp*CycB-k_afi*Cdc14+J_afi*(k_ifip+k_ifibpp*CycB)+J_ifi*k_afi*Cdc14+sqrt((k_ifip+k_ifibpp*CycB-k_afi*Cdc14+J_afi*(k_ifip+k_ifibpp*CycB)+J_ifi*k_afi*Cdc14)^2-4*(k_ifip+k_ifibpp*CycB-k_afi*Cdc14)*J_ifi*k_afi*Cdc14))); // V_ah1=(k_ah1p+k_ah1pp*Cdc14); // V_ih1=(k_ih1p+k_ih1app*CycA+k_ih1bpp*CycB+k_ih1epp*CycE+k_ih1dpp*CycD); // V_si=(k_sip+k_sipp*TF_I); // V_di=((k_dip+k_diapp*CycA+k_dibpp*CycB+k_diepp*CycE+k_didpp*CycD)/(1+k_14di*Cdc14)); // preMPF=(pB+BCKI); // CycBT=(CycB+pB+BCKI+pBCKI); // CycAT=(CycA+Tri_A); // CycET=(CycE+Tri_E); // Tri_B=(BCKI+pBCKI); // CKIT=(CKI+BCKI+pBCKI+Tri_A+Tri_E); // Cdc20_T=(Cdc20_i+Cdc20_A); // TF_B=(2*k_afb*CycB*J_ifb/(k_ifb-k_afb*CycB+J_afb*k_ifb+J_ifb*k_afb*CycB+sqrt((k_ifb-k_afb*CycB+J_afb*k_ifb+J_ifb*k_afb*CycB)^2-4*(k_ifb-k_afb*CycB)*k_afb*CycB*J_ifb))); // V_sb=(mass*(k_sbp+k_sbpp*TF_B)); // V_sa=(mass*(k_sap+k_sapp*TF_E)); // V_se=(mass*(k_sep+k_sepp*TF_E)); // V_db=(k_dbp+k_dbhpp*Cdh1+k_dbcpp*Cdc20_A); // Wee1=(2*(k_aweep+k_aweepp*Cdc14)*J_iwee/(k_iweep+k_iweepp*CycB-(k_aweep+k_aweepp*Cdc14)+J_awee*(k_iweep+k_iweepp*CycB)+J_iwee*(k_aweep+k_aweepp*Cdc14)+sqrt((k_iweep+k_iweepp*CycB-(k_aweep+k_aweepp*Cdc14)+J_awee*(k_iweep+k_iweepp*CycB)+J_iwee*(k_aweep+k_aweepp*Cdc14))^2-4*(k_iweep+k_iweepp*CycB-(k_aweep+k_aweepp*Cdc14))*(k_aweep+k_aweepp*Cdc14)*J_iwee))); // V_wee=(k_weep+k_weepp*Wee1); // Cdc25=(2*(k_a25p+k_a25pp*CycB)*J_i25/(k_i25p+k_i25pp*Cdc14-(k_a25p+k_a25pp*CycB)+J_a25*(k_i25p+k_i25pp*Cdc14)+(k_a25p+k_a25pp*CycB)*J_i25+sqrt((k_i25p+k_i25pp*Cdc14-(k_a25p+k_a25pp*CycB)+J_a25*(k_i25p+k_i25pp*Cdc14)+(k_a25p+k_a25pp*CycB)*J_i25)^2-4*(k_i25p+k_i25pp*Cdc14-(k_a25p+k_a25pp*CycB))*(k_a25p+k_a25pp*CycB)*J_i25))); // V_25=(k_25p+k_25pp*Cdc25); // }