/* * Creatine Kinase in Energy Metabolic Signalling in Muscle * * Model Status * * This CellML model is known to run on both OpenCell and COR. * The units have been checked and they are balanced. The figures * in the original publication display slightly unusual variables, * hence we are unsure as to whether or not the CellML model is * recreating the published results. To address this we are working * with the original model authors to complete the curation of * the CellML model. Please also note there are some typographical * errors in the original publication, and that in equations 6-10 * in the appendix, the metabolites should have an "i" subscript(to * denote IMS concentrations), and also the "Vhyd"s in these equations * should be "Vsyn"s. * * Model Structure * * ATP is the major energy currency in cells. It is synthesised * during aerobic respiration in the mitochondria and it's main * use in muscle is in myofibrillar contraction an ion pumping. * Phosphocreatine (PCr) is another major energy carrier in muscle * cells, in fact the majority of the energy-carrying phosphate * groups leave the mitochondria in the form of PCr, not ATP. This * is possible due to the creatine kinase (CK) reaction, see Figure * 1 below, where Cr is creatine: * * [[Image file: kongas_2001a.png]] * * Figure 1. The creatine kinase reaction. * * The mitochondrial isoform of the CK enzyme (MiCK) produces PCr, * while the main myofibrillar isoform (MMCK) converts it back * into ATP. This energy transfer is also referred to as the phosphocreatine * shuttle, and it facilitates energy transfer by providing a parallel * pathway to ATP diffusion. In muscle cells, the CK system also * acts as an energy buffer, allowing ATP levels to remain fairly * constant during muscle contraction as PCr levels fluctuate to * closely follow force generation. * * In the Kongas and van Beek 2001 publication described here, * the authors aim to determine the mode of functioning of the * CK system in the heart. To this end they devloped a mathematical * model of energy production, transfer, and consumption (see Figure * 2 below) and analysed the roles of different CK isoenzymes in * the dynamic response to workload transitions. * * The original paper reference is cited below: * * Creatine kinase in energy metabolic signaling in muscle, Olav * Kongas and Johannes H. G. M. van Beek, 2001, ICSB2001: The 2nd * International Conference on Systems Biology * * [[Image file: kongas_2001b.png]] * * Figure 2. Schematic diagram of the mathematical model. The model * contains two compartments: the cytosol and the intermembrane * space, and these are separated by a partialy permeable membrane * (dashed line). Vertical arrows across this membrane represent * diffusional fluxes. The horizontal arrows represent reactions, * namely ATP synthesis (OxPhos), ATP hydrolysis (ATPase), mitochondrial * and myofibrillar kinases (MiCK and MMCK). */ import nsrunit; unit conversion on; // unit micromolar predefined unit flux=1E-3 meter^(-3)*second^(-1)*mole^1; unit first_order_rate_constant=1 second^(-1); math main { realDomain time second; time.min=0; extern time.max; extern time.delta; real ATP(time) micromolar; when(time=time.min) ATP=9644.425; real V_hyd flux; V_hyd=4.6E3; real V_MMCK(time) flux; real J_ATP(time) flux; real V_cyt dimensionless; V_cyt=0.75; real ADP(time) micromolar; when(time=time.min) ADP=60.0; real J_ADP(time) flux; real PCr(time) micromolar; when(time=time.min) PCr=12500.0; real J_PCr(time) flux; real Cr(time) micromolar; when(time=time.min) Cr=13500.0; real J_Cr(time) flux; real Pi(time) micromolar; when(time=time.min) Pi=8000.0; real J_Pi(time) flux; real ATP_i(time) micromolar; when(time=time.min) ATP_i=9644.425; real V_MiCK(time) flux; real V_syn(time) flux; real V_ims dimensionless; V_ims=0.0625; real ADP_i(time) micromolar; when(time=time.min) ADP_i=2.5; real PCr_i(time) micromolar; when(time=time.min) PCr_i=12500.0; real Cr_i(time) micromolar; when(time=time.min) Cr_i=13500.0; real Pi_i(time) micromolar; when(time=time.min) Pi_i=8000.0; real Den_MMCK(time) dimensionless; real V_MMCK.Kia micromolar; V_MMCK.Kia=9.0E2; real V_MMCK.Kb micromolar; V_MMCK.Kb=1.55E4; real V_MMCK.Kib micromolar; V_MMCK.Kib=3.49E4; real V_MMCK.KIb micromolar; real V_MMCK.Kc micromolar; real V_MMCK.Kic micromolar; V_MMCK.Kic=2.224E2; real V_MMCK.Kd micromolar; V_MMCK.Kd=1.67E3; real V_MMCK.Kid micromolar; V_MMCK.Kid=4.73E3; real V_MMCK.Vf flux; V_MMCK.Vf=6.966E3; real V_MMCK.Vb flux; V_MMCK.Vb=2.925E4; real Den_MiCK(time) dimensionless; real V_MiCK.Kia micromolar; V_MiCK.Kia=7.5E2; real V_MiCK.Kb micromolar; V_MiCK.Kb=5.2E3; real V_MiCK.Kib micromolar; V_MiCK.Kib=2.88E4; real V_MiCK.KIb micromolar; real V_MiCK.Kc micromolar; real V_MiCK.Kic micromolar; V_MiCK.Kic=2.048E2; real V_MiCK.Kd micromolar; V_MiCK.Kd=5.0E2; real V_MiCK.Kid micromolar; V_MiCK.Kid=1.6E3; real V_MiCK.Vf flux; V_MiCK.Vf=2.658E3; real V_MiCK.Vb flux; V_MiCK.Vb=1.116E4; real Den_syn(time) dimensionless; real KPi micromolar; KPi=20.0; real KADP micromolar; KADP=8.0E2; real V_syn_max flux; V_syn_max=4.6E3; real R_ATP first_order_rate_constant; R_ATP=8.16; real R_ADP first_order_rate_constant; R_ADP=8.16; real R_PCr first_order_rate_constant; R_PCr=14.6; real R_Cr first_order_rate_constant; R_Cr=14.6; real R_Pi first_order_rate_constant; R_Pi=18.4; // // ATP:time=((J_ATP-(V_hyd+V_MMCK))/V_cyt); // ADP:time=((J_ADP+V_hyd+V_MMCK)/V_cyt); // PCr:time=((J_PCr+V_MMCK)/V_cyt); // Cr:time=((J_Cr-V_MMCK)/V_cyt); // Pi:time=((J_Pi+V_hyd)/V_cyt); // ATP_i:time=((-1)*(J_ATP+V_syn+V_MiCK)/V_ims); // ADP_i:time=((V_syn+V_MiCK-J_ADP)/V_ims); // PCr_i:time=((V_MiCK-J_PCr)/V_ims); // Cr_i:time=((-1)*(V_MiCK+J_Cr)/V_ims); // Pi_i:time=((V_syn-J_Pi)/V_ims); // V_MMCK=((V_MMCK.Vf*(ATP*Cr/(V_MMCK.Kia*V_MMCK.Kb))-V_MMCK.Vb*(ADP*PCr/(V_MMCK.Kic*V_MMCK.Kd)))/Den_MMCK); Den_MMCK=(1+Cr/V_MMCK.Kib+PCr/V_MMCK.Kid+ATP*(1/V_MMCK.Kia+Cr/(V_MMCK.Kia*V_MMCK.Kb))+ADP*(1/V_MMCK.Kic+PCr/(V_MMCK.Kid*V_MMCK.Kc)+Cr/(V_MMCK.Kic*V_MMCK.KIb))); V_MMCK.Kc=(V_MMCK.Kic*V_MMCK.Kd/V_MMCK.Kid); V_MMCK.KIb=V_MMCK.Kib; // V_MiCK=((V_MiCK.Vf*(ATP_i*Cr_i/(V_MiCK.Kia*V_MiCK.Kb))-V_MiCK.Vb*(ADP_i*PCr_i/(V_MiCK.Kic*V_MiCK.Kd)))/Den_MiCK); Den_MiCK=(1+Cr_i/V_MiCK.Kib+PCr_i/V_MiCK.Kid+ATP_i*(1/V_MiCK.Kia+Cr_i/(V_MiCK.Kia*V_MiCK.Kb))+ADP_i*(1/V_MiCK.Kic+PCr_i/(V_MiCK.Kid*V_MiCK.Kc)+Cr_i/(V_MiCK.Kic*V_MiCK.KIb))); V_MiCK.Kc=(V_MiCK.Kic*V_MiCK.Kd/V_MiCK.Kid); V_MiCK.KIb=V_MiCK.Kib; // // V_syn=(V_syn_max*(ADP_i*Pi_i/(KPi*KADP*Den_syn))); Den_syn=(1+ADP_i/KADP+Pi_i/KPi+ADP_i*Pi_i/(KADP*KPi)); // J_ATP=(R_ATP*(ATP_i-ATP)); // J_ADP=(R_ADP*(ADP_i-ADP)); // J_PCr=(R_PCr*(PCr_i-PCr)); // J_Cr=(R_Cr*(Cr_i-Cr)); // J_Pi=(R_Pi*(Pi_i-Pi)); // }