/* * Feedback Effects On Signal Dynamics In A Mitogen-Activated Protein * Kinase (MAPK) Cascade * * Model Status * * This model has been recoded in CellML without the use of the * reaction element. The parameters and differential equations * described in the original publication were used. This CellML * model is known to read in both COR and PCEnv although currently * it is unable to recreate the published results from the original * model. * * ValidateCellML detects widespread unit inconsistency within * this model. * * Model Structure * * In 2001, Anand Asthagiri and Douglas Lauffenburger published * a mathematical model which examined the mechanisms that govern * MAPK pathway dynamics (see the figure below). Their model builds * upon the MAPK cascade model of Chi-Ying Huang and James Ferrell * (1996). This earlier model focused on the steady-state effects * of signaling, whereas more recently, it has been discovered * that a signal's information content partly resides in its dynamics. * * In their model, Anand Asthagiri and Douglas Lauffenburger concentrate * on the role of negative feedback mechanisms in the generation * of signal adaptation - a term referring to the reset of a signal * to prestimulation levels. They assess how different modes of * feedback affect the properties of MAPK signalling dynamics. * * The complete original paper reference is cited below: * * A Computational Study of Feedback Effects on Signal Dynamics * in a Mitogen-Activated Protein Kinase (MAPK) Pathway Model, * Anand R. Asthagiri and Douglas A. Lauffenburger, 2001, Biotechnol. * Prog, 17, 227-239. (Full text and PDF versions are available * to subscribers on the ACS Publications website. PubMed ID: 11312698 * * the conventional rendering of the MAPK cascade with feedback * effects * * [[Image file: asthagiri_2001.png]] * * A rendering of the MAPK cascade with feedback effects. Species * are represented by rounded rectangles, and reactions by arrows. * The action of a catalyst on a reaction is represented by dashed * lines. * * In CellML, models are thought of as connected networks of discrete * components. These components may correspond to physiologically * separated regions or chemically distinct objects, or may be * useful modelling abstractions. This model has 71 components * representing chemically distinct objects (41 chemical species * and 30 reactions) and one component defined for modelling convenience * which stores the universal variable time. Because this model * has so many components, its CellML rendering would be complex. * For an example of a CellML rendering of a reaction pathway see * The Bhalla Iyengar EGF Pathway Model, 1999. */ import nsrunit; // Warning: unit conversion turned off due to unit errors in 26 equation(s) unit conversion off; unit minute=60 second^1; unit number = fundamental; unit cell = fundamental; unit number_per_cell=1 number^1*cell^(-1); // unit molar predefined unit first_order_rate_constant=.01666667 second^(-1); unit second_order_rate_constant=1.6666667E-5 meter^3*second^(-1)*mole^(-1); math main { //Warning: the following variables had initial values which were // suppressed because the model would otherwise be overdetermined: // p1, p2, p3, p4, p5 realDomain time minute; time.min=0; extern time.max; extern time.delta; real c(time) molar; when(time=time.min) c=0.0; real c2(time) molar; when(time=time.min) c2=0.0; real L0 molar; real R0 number_per_cell; R0=1E5; real kr first_order_rate_constant; kr=0.3; real kf second_order_rate_constant; kf=1E7; real ku first_order_rate_constant; ku=60.0; real kc second_order_rate_constant; kc=6E7; real r(time) number_per_cell; real c_star(time) molar; when(time=time.min) c_star=0.0; real kc_plus first_order_rate_constant; kc_plus=50.0; real kc_minus first_order_rate_constant; kc_minus=5.0; real a1(time) molar; real e0_star(time) molar; when(time=time.min) e0_star=0.0; real c_star_a1(time) molar; when(time=time.min) c_star_a1=0.0; real a1a2(time) molar; when(time=time.min) a1a2=0.0; real kr_1 first_order_rate_constant; real kf_1 second_order_rate_constant; kf_1=3E8; real kr_12 first_order_rate_constant; real kf_12 second_order_rate_constant; kf_12=3E8; real A1_T number_per_cell; A1_T=1E4; real A2_T number_per_cell; A2_T=1E4; real a2(time) molar; real e0_star_e4_star(time) molar; when(time=time.min) e0_star_e4_star=0.0; real kr_2 first_order_rate_constant; real kf_2 second_order_rate_constant; kf_2=3E8; real kcat_x first_order_rate_constant; kcat_x=6; real E4_T number_per_cell; E4_T=1E4; real e1(time) molar; real e4_star(time) molar; when(time=time.min) e4_star=0.0; real e1_e0_star(time) molar; when(time=time.min) e1_e0_star=0.0; real k1_plus second_order_rate_constant; k1_plus=6E8; real k1_minus first_order_rate_constant; k1_minus=30; real kx_plus second_order_rate_constant; kx_plus=6E8; real kx_minus first_order_rate_constant; kx_minus=30; real kcat_1 first_order_rate_constant; kcat_1=6; real E1_T number_per_cell; E1_T=1E4; real kc_12 second_order_rate_constant; kc_12=3E8; real kd_12 first_order_rate_constant; real a2_minus(time) molar; when(time=time.min) a2_minus=0.0; real e1_star_p1(time) molar; when(time=time.min) e1_star_p1=0.0; real e1_star(time) molar; when(time=time.min) e1_star=0.0; real p1(time) molar; //Warning: CellML initial value suppressed to prevent overdetermining model. Original initial value: p1=5E3; real kP1_plus second_order_rate_constant; kP1_plus=6E8; real kP1_minus first_order_rate_constant; kP1_minus=30; real kcat_P1 first_order_rate_constant; kcat_P1=6; real e2_star_p2(time) molar; when(time=time.min) e2_star_p2=0.0; real e2_star(time) molar; when(time=time.min) e2_star=0.0; real p2(time) molar; //Warning: CellML initial value suppressed to prevent overdetermining model. Original initial value: p2=5E3; real kP2_plus second_order_rate_constant; kP2_plus=6E8; real kP2_minus first_order_rate_constant; kP2_minus=30; real kcat_P2 first_order_rate_constant; kcat_P2=6; real E2_T number_per_cell; E2_T=1E4; real e3_star_p3(time) molar; when(time=time.min) e3_star_p3=0.0; real e3_star(time) molar; when(time=time.min) e3_star=0.0; real p3(time) molar; //Warning: CellML initial value suppressed to prevent overdetermining model. Original initial value: p3=5E3; real kP3_plus second_order_rate_constant; kP3_plus=6E8; real kP3_minus first_order_rate_constant; kP3_minus=30; real kcat_P3 first_order_rate_constant; kcat_P3=6; real E3_T number_per_cell; E3_T=1E4; real e4_star_p4(time) molar; when(time=time.min) e4_star_p4=0.0; real p4(time) molar; //Warning: CellML initial value suppressed to prevent overdetermining model. Original initial value: p4=5E3; real kP4_plus second_order_rate_constant; kP4_plus=6E8; real kP4_minus first_order_rate_constant; kP4_minus=30; real kcat_P4 first_order_rate_constant; kcat_P4=6; real e5_star_p5(time) molar; when(time=time.min) e5_star_p5=0.0; real e5_star(time) molar; when(time=time.min) e5_star=0.0; real p5(time) molar; //Warning: CellML initial value suppressed to prevent overdetermining model. Original initial value: p5=5E3; real kP5_plus second_order_rate_constant; kP5_plus=6E8; real kP5_minus first_order_rate_constant; kP5_minus=30; real kcat_P5 first_order_rate_constant; kcat_P5=6; real E5_T number_per_cell; E5_T=1E4; real e2_e1_star(time) molar; when(time=time.min) e2_e1_star=0.0; real e2(time) molar; real k2_plus second_order_rate_constant; k2_plus=6E8; real k2_minus first_order_rate_constant; k2_minus=30; real kcat_2 first_order_rate_constant; kcat_2=6; real e3_e2_star(time) molar; when(time=time.min) e3_e2_star=0.0; real e3(time) molar; real k3_plus second_order_rate_constant; k3_plus=6E8; real k3_minus first_order_rate_constant; k3_minus=30; real kcat_3 first_order_rate_constant; kcat_3=6; real e4_e3_star(time) molar; when(time=time.min) e4_e3_star=0.0; real e4(time) molar; real k4_plus second_order_rate_constant; k4_plus=6E8; real k4_minus first_order_rate_constant; k4_minus=30; real kcat_4 first_order_rate_constant; kcat_4=6; real e5_e4_star(time) molar; when(time=time.min) e5_e4_star=0.0; real e5(time) molar; real k5_plus second_order_rate_constant; k5_plus=6E8; real k5_minus first_order_rate_constant; k5_minus=30; real kcat_5 first_order_rate_constant; kcat_5=6; real e2_star_e4_star(time) molar; when(time=time.min) e2_star_e4_star=0.0; real kz_plus second_order_rate_constant; kz_plus=6E8; real kz_minus first_order_rate_constant; kz_minus=30; real kcat_z first_order_rate_constant; kcat_z=6; real e2_minus(time) molar; when(time=time.min) e2_minus=0.0; real P1_T number_per_cell; P1_T=5E3; real P3_T number_per_cell; P3_T=5E3; real P5_T number_per_cell; P5_T=5E3; real P2_T number_per_cell; P2_T=5E3; real P4_T number_per_cell; P4_T=5E3; // // c:time=(L0/(kr/kf)*r+2*(ku/kr)*c2-(c+2*(R0/(kr/kc))*c^2)); // c2:time=(R0/(kr/kc)*c^2+kc_minus/kr*c_star-(ku/kr*c+kc_plus/kr*c2)); // c_star:time=(kc_plus/kr*c2+kr_1/kr*(A1_T/R0)*c_star_a1+kr_12/kr*(A2_T/R0)*e0_star-(kc_minus/kr*c_star+kf_1*A1_T/kr*c_star*a1+kf_12*A1_T/kr*c_star*a1a2)); // c_star_a1:time=(kf_1*R0/kr*c_star*a1+kr_2/kr*(A2_T/A1_T)*e0_star+kcat_x/kr*(E4_T/A1_T)*e0_star_e4_star-(kr_1/kr*c_star_a1+kf_2*A2_T/kr*c_star_a1*a2)); // e0_star:time=(kf_2*A1_T/kr*c_star_a1*a2+kf_12*A1_T/kr*c_star*a1a2+(k1_minus+kcat_1)/kr*(E1_T/A2_T)*e1_e0_star+kx_minus/kr*(E4_T/A2_T)*e0_star_e4_star-(kr_2/kr*e0_star+kr_12/kr*e0_star+k1_plus*E1_T/kr*e0_star*e1+kx_plus*E4_T/kr*e0_star*e4_star)); // a1a2:time=(kr_12/kr*(A2_T/A1_T)*e0_star+kc_12*A2_T/kr*a1*a2-(kd_12/kr*a1a2+kf_12*R0/kr*c_star*a1a2)); // r=((1 molar)-(c+2*(c2+c_star+A1_T/R0*c_star_a1+A2_T/R0*e0_star+E4_T/R0*e0_star_e4_star+E1_T/R0*e1_e0_star))); // a1=((1 molar)-(c_star_a1+a1a2+A2_T/A1_T*e0_star+E4_T/A1_T*e0_star_e4_star+E1_T/A1_T*e1_e0_star)); // a2=((1 molar)-(A1_T/A2_T*a1a2+e0_star+E4_T/A2_T*e0_star_e4_star+E1_T/A2_T*e1_e0_star+a2_minus)); // a2_minus:time=(kcat_x/kr*(E4_T/A2_T)*e0_star_e4_star); // e1_star_p1:time=(kP1_plus*E1_T/kr*e1_star*p1-(kP1_minus/kr+kcat_P1/kr)*e1_star_p1); // e2_star_p2:time=(kP2_plus*E2_T/kr*e2_star*p2-(kP2_minus/kr+kcat_P2/kr)*e2_star_p2); // e3_star_p3:time=(kP3_plus*E3_T/kr*e3_star*p3-(kP3_minus/kr+kcat_P3/kr)*e3_star_p3); // e4_star_p4:time=(kP4_plus*E4_T/kr*e4_star*p4-(kP4_minus/kr+kcat_P4/kr)*e4_star_p4); // e5_star_p5:time=(kP5_plus*E5_T/kr*e5_star*p5-(kP5_minus/kr+kcat_P5/kr)*e5_star_p5); // e1_e0_star:time=(k1_plus*A2_T/kr*e1*e0_star-(k1_minus/kr+kcat_1/kr)*e1_e0_star); // e2_e1_star:time=(k2_plus*E1_T/kr*e2*e1_star-(k2_minus/kr+kcat_2/kr)*e2_e1_star); // e3_e2_star:time=(k3_plus*E2_T/kr*e3*e2_star-(k3_minus/kr+kcat_3/kr)*e3_e2_star); // e4_e3_star:time=(k4_plus*E3_T/kr*e4*e3_star-(k4_minus/kr+kcat_4/kr)*e4_e3_star); // e5_e4_star:time=(k5_plus*E4_T/kr*e5*e4_star-(k5_minus/kr+kcat_5/kr)*e5_e4_star); // e2_star_e4_star:time=(kz_plus*E2_T/kr*e4_star*e2_star-(kz_minus/kr+kcat_z/kr)*e2_star_e4_star); // e0_star_e4_star:time=(kx_plus*A2_T/kr*e4_star*e0_star-(kx_minus/kr+kcat_x/kr)*e0_star_e4_star); // e2_minus:time=(kcat_z/kr*(E4_T/E2_T)*e2_star_e4_star); // e1_star:time=(kcat_1/kr*e1_e0_star+(k2_minus+kcat_2)/kr*(E2_T/E1_T)*e2_e1_star+kP1_minus/kr*(P1_T/E1_T)*e1_star_p1-(k2_plus*E2_T/kr*e1_star*e2+kP1_plus*P1_T/kr*e1_star*p1)); // e3_star:time=(kcat_3/kr*e3_e2_star+(k4_minus+kcat_4)/kr*(E4_T/E3_T)*e4_e3_star+kP3_minus/kr*(P3_T/E3_T)*e3_star_p3-(k4_plus*E4_T/kr*e3_star*e4+kP3_plus*P3_T/kr*e3_star*p3)); // e5_star:time=(kcat_5/kr*e5_e4_star+kP5_minus/kr*(P5_T/E5_T)*e5_star_p5-kP5_plus*P5_T/kr*e5_star*p5); // e2_star:time=(kcat_2/kr*e2_e1_star+(k3_minus+kcat_3)/kr*(E3_T/E2_T)*e3_e2_star+kP2_minus/kr*(P2_T/E2_T)*e2_star_p2+kz_minus/kr*(E4_T/E2_T)*e2_star_e4_star-(k3_plus*E3_T/kr*e2_star*e3+kP2_plus*P2_T/kr*e2_star*p2+kz_plus*E4_T/kr*e2_star*e4_star)); // e4_star:time=(kcat_4/kr*e4_e3_star+(k5_minus+kcat_5)/kr*(E5_T/E4_T)*e5_e4_star+kP4_minus/kr*(P4_T/E4_T)*e4_star_p4+(kx_minus/kr+kcat_x/kr)*e0_star_e4_star+(kz_minus/kr+kcat_z/kr)*e2_star_e4_star-(k5_plus*E5_T/kr*e4_star*e5+kP4_plus*P4_T/kr*e4_star*p4+kx_plus*A2_T/kr*e0_star*e4_star+kz_plus*E2_T/kr*e2_star*e4_star)); // p1=((1 molar)-e1_star_p1); // p2=((1 molar)-e2_star_p2); // p3=((1 molar)-e3_star_p3); // p4=((1 molar)-e4_star_p4); // p5=((1 molar)-e5_star_p5); // e1=((1 molar)-(e1_e0_star+e1_star+E2_T/E1_T*e2_e1_star+P1_T/E1_T*e1_star_p1)); // e3=((1 molar)-(e3_e2_star+e3_star+E4_T/E3_T*e4_e3_star+P3_T/E3_T*e3_star_p3)); // e5=((1 molar)-(e5_e4_star+e5_star+P5_T/E5_T*e5_star_p5)); // e2=((1 molar)-(e3_e2_star+e3_star+E3_T/E2_T*e3_e2_star+E4_T/E2_T*e2_star_e4_star+P2_T/E2_T*e2_star_p2)); // e4=((1 molar)-(e4_e3_star+e4_star+E5_T/E4_T*e5_e4_star+P4_T/E4_T*e4_star_p4+e0_star_e4_star+e2_star_e4_star)); // L0=(kr/kf); kr_1=(kf_1*(1E-7 molar)); kr_2=(kf_2*(1E-7 molar)); kr_12=(kf_12*(1E-7 molar)); kd_12=(kc_12*(1E-7 molar)); }