/* * Mitochondria And Ca2+ Signalling * * Model Status * * This model is valid CellML but can not be integrated as it is * unsuitably constrained. * * Model Structure * * In 2001 Christopher Fall and Joel Keizer published a detailed * mathematical model to describe mitochondrial function and mitochondrial * Ca2+ handling coupled to endoplasmic reticulum (ER) based IP3-dependent * Ca2+ release. Their aim was to create a biologically realistic * model of the influence of mitochondria on IP3-mediated Ca2+ * signaling. They aimed to integrate the separate IP3 receptor/channel * (DeYoung-Keizer 1992) and mitochondrial Ca2+ handling (Magnus-Keizer * 1997, 1998) models into a single, common framework (see below). * * The complete original paper reference is cited below: * * Mitochondrial Modulation of Intracellular Ca2+ Signaling, Christopher * P. Fall and Joel E. Keizer, 2001, J. theor. Biol., 210, 151-165. * PubMed ID: 11371172 * * diagram of the mitochondria and Ca2+ signaling model * * [[Image file: fall_2001.png]] * * Key components of the IP3-mediated intracellular Ca2+ signaling * diagram shows endoplasmic reticulum based Ca2+ release and uptake * mechanisms, mitochondrial Ca2+ release and uptake mechanisms, * in addition to other components which are not included in the * mathematical model. * * the cellml rendering of the mitochondria and Ca2+ signaling * model * * [[Image file: cellml_rendering.gif]] * * The network defined in the CellML description of the mitochondria * and Ca2+ signaling model. */ import nsrunit; // Warning: unit conversion turned off due to unit errors in 14 equation(s) unit conversion off; unit minute=60 second^1; unit per_second=1 second^(-1); // unit millivolt predefined // unit millimolar predefined unit per_millimolar=1 meter^3*mole^(-1); // unit micromolar predefined // unit nanomolar predefined unit nanomole_per_mg=.001 kilogram^(-1)*mole^1; unit nanomole_per_minute_per_mg=1.6666667E-5 kilogram^(-1)*second^(-1)*mole^1; unit nanomole_per_minute_per_millimolar=1.6666667E-11 meter^3*second^(-1); // unit milligram predefined // unit millilitre predefined unit capacitance_units=1 kilogram^(-2)*meter^(-2)*second^3*ampere^1*mole^1; unit conductance_units=.01666667 kilogram^(-2)*meter^(-2)*second^2*ampere^1*mole^1; unit millijoule_per_mole_kelvin=.001 kilogram^1*meter^2*second^(-2)*kelvin^(-1)*mole^(-1); unit coulomb_per_mole=1 second^1*ampere^1*mole^(-1); math main { //Warning: the following variables were set 'extern' or given // an initial value of '0' because the model would otherwise be // underdetermined: V, pH_i, pH_m, Ca_i, Ca_m, NADH_m, ADP_m, // ADP_i, k_hyd, IP3, h, Ca_ER //Warning: the following variables had initial values which were // suppressed because the model would otherwise be overdetermined: // delta_pH, total_mitochondrial_adenosine_phosphate, total_NAD_m realDomain time minute; time.min=0; extern time.max; extern time.delta; real V(time) millivolt; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) V=0; real V_B millivolt; V_B=50.0; real R millijoule_per_mole_kelvin; R=8314.0; real T kelvin; T=310.0; real F coulomb_per_mole; F=96845.0; real delta_pH dimensionless; //Warning: CellML initial value suppressed to prevent overdetermining model. Original initial value: delta_pH=-0.4; real proton_motive_force(time) nanomole_per_minute_per_mg; real g_H conductance_units; g_H=0.2; real membrane.C capacitance_units; membrane.C=0.00145; extern real pH_i dimensionless; extern real pH_m dimensionless; real JH_res(time) nanomole_per_minute_per_mg; real JH_leak(time) nanomole_per_minute_per_mg; real JH_F1(time) nanomole_per_minute_per_mg; real J_ant(time) nanomole_per_minute_per_mg; real J_uni(time) nanomole_per_minute_per_mg; real V_offset millivolt; V_offset=91.0; real Jmax_uni nanomole_per_minute_per_mg; Jmax_uni=300.0; real K_trans micromolar; K_trans=19.0; real K_act micromolar; K_act=0.38; real L dimensionless; L=110.0; real na dimensionless; na=2.8; real Ca_i(time) nanomolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Ca_i=0; real K_Ca nanomole_per_mg; K_Ca=0.003; real J_Na_Ca(time) nanomole_per_minute_per_mg; real Jmax_Na_Ca nanomole_per_minute_per_mg; Jmax_Na_Ca=25.0; real Na_i millimolar; Na_i=30.0; real K_Na millimolar; K_Na=9.4; real b dimensionless; b=0.0; real n dimensionless; n=2.0; real Ca_m(time) nanomolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Ca_m=0; real Jo(time) nanomole_per_minute_per_mg; real A_res(time) dimensionless; real K_res millimolar; K_res=13500000000000000.0; real rho_res nanomole_per_mg; rho_res=0.4; real r1 dimensionless; r1=0.000000000000000002077; real r2 dimensionless; r2=0.000000001728; real r3 dimensionless; r3=0.00000000000000000000000001059; real ra per_second; ra=0.0000000006394; real rb per_second; rb=0.0000000000001762; real rc1 per_second; rc1=0.0000000000000000002656; real rc2 per_second; rc2=0.000000000000000000000000008632; real g dimensionless; g=0.85; real NAD_m(time) nanomolar; real NADH_m(time) nanomolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) NADH_m=0; real Jp_F1(time) nanomole_per_minute_per_mg; real rho_F1 nanomole_per_mg; rho_F1=0.7; real K_F1 millimolar; K_F1=1710000.0; real A_F1(time) dimensionless; real ADP_m_free(time) nanomolar; real Pi_m millimolar; Pi_m=20.0; real p1 dimensionless; p1=0.00000001346; real p2 dimensionless; p2=0.0000007739; real p3 dimensionless; p3=0.00000000000000665; real pa per_second; pa=0.00001656; real pb per_second; pb=0.0000003373; real pc1 per_second; pc1=0.00000000000009651; real pc2 per_second; pc2=0.0000000000000000004845; real ATP_m(time) nanomolar; real ADP_m(time) nanomolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) ADP_m=0; real Jmax_ant nanomole_per_minute_per_mg; Jmax_ant=1000.0; real f dimensionless; f=0.5; real ADP_i(time) nanomolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) ADP_i=0; real ATP_i(time) nanomolar; real J_red(time) nanomole_per_minute_per_mg; real J_red_basal nanomole_per_minute_per_mg; J_red_basal=20.0; real f_PDHa(time) dimensionless; real u1 dimensionless; u1=15.0; real u2 dimensionless; u2=1.1; real J_gly_tot(time) nanomole_per_minute_per_mg; real J_ptca(time) nanomole_per_minute_per_mg; real Glc nanomolar; Glc=25.0; real beta_max nanomole_per_minute_per_millimolar; beta_max=126.0; real beta_1 per_millimolar; beta_1=1.66; real beta_3 per_millimolar; beta_3=4.0; real beta_4 per_millimolar; beta_4=2.83; real beta_5 per_millimolar; beta_5=1.3; real beta_6 per_millimolar; beta_6=2.66; real beta_7 per_millimolar; beta_7=0.16; real J_hyd(time) nanomole_per_minute_per_mg; real J_hyd_ss nanomole_per_minute_per_mg; real Jmax_hyd nanomole_per_minute_per_mg; Jmax_hyd=30.1; extern real k_hyd per_millimolar; real K_Glc millimolar; K_Glc=8.7; real n_hyd dimensionless; n_hyd=2.7; real J_erout(time) nanomole_per_minute_per_mg; real Jmax_IP3 nanomole_per_minute_per_mg; Jmax_IP3=3000.0; real d_IP3 micromolar; d_IP3=0.25; real d_ACT micromolar; d_ACT=1.0; extern real IP3 nanomolar; real h(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) h=0; real Ca_ER(time) nanomolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Ca_ER=0; real J_serca(time) nanomole_per_minute_per_mg; real Jmax_serca nanomole_per_minute_per_mg; Jmax_serca=110.0; real k_serca micromolar; k_serca=0.4; real total_mitochondrial_adenosine_phosphate(time) nanomolar; //Warning: CellML initial value suppressed to prevent overdetermining model. Original initial value: total_mitochondrial_adenosine_phosphate=12.0; real total_NAD_m(time) nanomolar; //Warning: CellML initial value suppressed to prevent overdetermining model. Original initial value: total_NAD_m=8.0; real differential_equations.C milligram; differential_equations.C=37.5; real M milligram; M=50.0; real E milligram; E=100.0; real Vc millilitre; Vc=0.5; real Vm millilitre; Vm=0.05; real Ve millilitre; Ve=0.1; real fc dimensionless; fc=0.01; real fm dimensionless; fm=0.0003; real fe dimensionless; fe=0.01; real d_INH micromolar; d_INH=1.4; real tau second; tau=4.0; // // V:time=((-1)/membrane.C*(JH_F1+J_ant+JH_leak+J_uni*2-JH_res)); delta_pH=(pH_i-pH_m); proton_motive_force=(V-2.303*R*T/F*delta_pH); // J_uni=(Jmax_uni*(Ca_i/K_trans*(1+Ca_i/K_trans)^3/((1+Ca_i/K_trans)^4+L/(1+Ca_i/K_act)^na))*(2*F*(V-V_offset)/(R*T)/(1-exp((-2)*F*(V-V_offset)/(R*T))))); // J_Na_Ca=(Jmax_Na_Ca*(exp(b*F*(V-V_offset)/(R*T))/((1+K_Na/Na_i)^n*(1+K_Ca/Ca_m)))); // JH_res=(360*rho_res*((ra*10^(6*delta_pH)*exp(F*A_res/(R*T))+rb*10^(6*delta_pH)-(ra+rb)*exp(g*6*F*V/(R*T)))/((1+r1*exp(F*A_res/(R*T)))*exp(6*F*V_B/(R*T))+(r2+r3*exp(F*A_res/(R*T)))*exp(g*6*F*V/(R*T))))); Jo=(30*rho_res*(((ra*10^(6*delta_pH)+rc1*exp(6*F*V_B/(R*T)))*exp(F*A_res/(R*T))-ra*exp(g*6*F*V/(R*T))+rc2*exp(F*A_res/(R*T))*exp(g*6*F*V/(R*T)))/((1+r1*exp(F*A_res/(R*T)))*exp(6*F*V_B/(R*T))+(r2+r3*exp(F*A_res/(R*T)))*exp(g*6*F*V/(R*T))))); A_res=(R*T/F*ln(K_res*sqrt(NADH_m)/sqrt(NAD_m))); // JH_leak=(g_H*proton_motive_force); // JH_F1=((-180)*rho_F1*((pa*10^(3*delta_pH)*exp(F*A_F1/(R*T))+pb*10^(3*delta_pH)-(pa+pb)*exp(3*F*V/(R*T)))/((1+p1*exp(F*A_F1/(R*T)))*exp(3*F*V_B/(R*T))+(p2+p3*exp(F*A_F1/(R*T)))*exp(3*F*V/(R*T))))); Jp_F1=((-60)*rho_F1*(((pa*10^(3*delta_pH)+pc1*exp(3*F*V_B/(R*T)))*exp(F*A_F1/(R*T))-pa*exp(3*F*V/(R*T))+pc2*exp(F*A_F1/(R*T))*exp(3*F*V/(R*T)))/((1+p1*exp(F*A_F1/(R*T)))*exp(3*F*V_B/(R*T))+(p2+p3*exp(F*A_F1/(R*T)))*exp(3*F*V/(R*T))))); A_F1=(R*T/F*ln(K_F1*ATP_m/(ADP_m_free*Pi_m))); ADP_m_free=(.8*ADP_m); // J_ant=(Jmax_ant*((1-ATP_i*ADP_m/(ADP_i*ATP_m)*exp((-1)*F*V/(R*T)))/((1+ATP_i/ADP_i*exp((-1)*f*F*V/(R*T)))*(1+ADP_m/ATP_m)))); // f_PDHa=(1/(1+u2*(1+u1*(1+Ca_m/K_Ca)^(-2)))); J_red=(J_red_basal+7.36*f_PDHa*J_gly_tot); // J_ptca=(J_red_basal/3+.84*f_PDHa*J_gly_tot); // J_gly_tot=(beta_max*(1+beta_1*Glc)*Glc*ATP_i/(1+beta_3*ATP_i+(1+beta_4*ATP_i))*(beta_5*Glc+(1+beta_6*ATP_i)+beta_7*Glc^2)); // J_hyd=(k_hyd*ATP_i+J_hyd_ss); J_hyd_ss=(Jmax_hyd/(1+(K_Glc/Glc)^n_hyd)); // J_erout=((Jmax_IP3*(IP3/(IP3+d_IP3))^3*(Ca_i/(Ca_i+d_ACT))^3*h^3+JH_leak)*(Ca_ER-Ca_i)); // J_serca=(Jmax_serca*(Ca_i^2/(k_serca^2+Ca_i^2))); // NADH_m:time=(M*(J_red-Jo)/Vm); total_NAD_m=(NADH_m+NAD_m); NAD_m=(total_NAD_m-NADH_m); ADP_m:time=(M*(J_ant-(J_ptca+Jp_F1))/Vm); total_mitochondrial_adenosine_phosphate=(ATP_m+ADP_m); ATP_m=(total_mitochondrial_adenosine_phosphate-ADP_m); ADP_i:time=(((-1)*M*J_ant+differential_equations.C*(J_hyd-J_gly_tot))/Vc); ATP_i=((2 millimolar)-ADP_i); Ca_m:time=(fm*M*(J_uni-J_Na_Ca)/Vm); Ca_ER:time=(fe*E*(J_serca-J_erout)/Ve); Ca_i:time=(fc*(M*(J_Na_Ca-J_uni)-E*(J_serca-J_erout))/Vc); h:time=((d_INH-(Ca_i+d_INH)*h)/tau); }