Excitation-contraction coupling/mitochondrial energetics (ECME) model (Cortassa et al. 2006)

 Download zip file 
Help downloading and running models
"An intricate network of reactions is involved in matching energy supply with demand in the heart. This complexity arises because energy production both modulates and is modulated by the electrophysiological and contractile activity of the cardiac myocyte. Here, we present an integrated mathematical model of the cardiac cell that links excitation-contraction coupling with mitochondrial energy generation. The dynamics of the model are described by a system of 50 ordinary differential equations. The formulation explicitly incorporates cytoplasmic ATP-consuming processes associated with force generation and ion transport, as well as the creatine kinase reaction. Changes in the electrical and contractile activity of the myocyte are coupled to mitochondrial energetics through the ATP, Ca21, and Na1 concentrations in the myoplasmic and mitochondrial matrix compartments. ..."
1 . Cortassa S, Aon MA, Marbán E, Winslow RL, O'Rourke B (2003) An integrated model of cardiac mitochondrial energy metabolism and calcium dynamics. Biophys J 84:2734-55 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Electrogenic pump;
Brain Region(s)/Organism:
Cell Type(s): Heart cell;
Channel(s): I L high threshold; I Sodium; I Potassium; Na/Ca exchanger; I_SERCA;
Gap Junctions:
Simulation Environment: C or C++ program;
Model Concept(s): Activity Patterns; Temporal Pattern Generation; Signaling pathways; Calcium dynamics;
Search NeuronDB for information about:  I L high threshold; I Sodium; I Potassium; Na/Ca exchanger; I_SERCA;
//Remember to set CVODE to MAXSTATES-1 length Assume for now, for
//now that I can init states and dstates, pass that memory to the
//integrators and state 46 if in algebraic mode.

-Modification to use seperate vectors? for mito/force only, how to
 modify? -> linear vectors with state offsets (I.e. subset vectors)

-Where do the 'extra' charges from the alg model get changed

-VFO is a calculated but unused variable? -> Move to output?
 (Commented Out)



	double O1_RyR;
	double 1000_F_Acap_C_m;
	double Co;
	double Istim;
	double E_Na;
	double E_K;
	double E_Ks;
	double E_Ca;
	double INa;
	double G_Na;
	double IKs;
	double IK1;
	double G_Nab;
	double INab;
	double G_Kp;
	double IKp;
	double ICahalf;
	double ICamax;
	double PK;
	double ICaK;
	double ICa;
	double INaK;
	double INaKmax;
	double KmNai;
	double KmKo;
	double Ko;
	double Ki1AD_NaK;
	double Km1AT_NaK;
	double eta;
	double Nao;
	double Cao;
	double KmCa;
	double ksat;
//	double Fcik1;
	double KmNa;
	double G_Cab;
	double ICab;
	double IpCa;
	double Km2ATP_CaP;
	double KiADP_CaP;
	double Km1ATP_CaP;
	double KmpCa;
	double IpCamax;
	double PnsNa;
	double KmnsCa;
	double PnsK;
	double InsCa;
	double V_AM_scaler;
	double f_01;
	double f_12;
	double f_23;
	double V_AM;

	double ATPm;
	double Cm;
	double DmuH;
	double DpH;
	double CPN;
	double NAD;
	double VCS;
	double KmOaa;
	double AcCoA;
	double KmAcCoA;
	double EtCS;
	double KCS;
	double VACO;
	double CIK;
	double KACOeq;
	double kfACO;
	double kKGDH;
	double EtKG;
	double KmKG;
	double Mg;
	double Kmg;
	double Kca;
	double KmKGNAD;
	double nKG;
	double VKGDH;
	double CoA;
	double kfSL;
	double KSLeq;
	double VSL;
	double kSDH;
	double EtSDH;
	double KmSucc;
	double KiFUM;
	double KiOxaa;
	double VSDH;
	double kfFH;
	double KFHeq;
	double VFH;
	double Kh1;
	double Kh2;
	double Kh3;
	double Kh4;
	double Koff;
	double H;
	double Kioaa;
	double KmmNAD;
	double Kmal;
	double EtMD;
	double kMDH;
	double VMDH;
	double kfAAT;
	double GLU;
	double kcnsASP;
	double KAATeq;
	double VAAT;
	double kres;
	double rhoREN;
	double Dpsio;
	double g;
	double ra;
	double rc1;
	double r1;
	double rc2;
	double rb;
	double VNO;
	double VHNe;
	double kresf;
	double FADH2;
	double FAD;
	double r2;
	double r3;
	double VFO;
	double VHFe;
	double kf1;
	double Pi;
	double pa;
	double pc1;
	double pc2;
	double VATPase;
	double Vhu;
	double gh;
	double VmDT;
	double hm;
	double VANT;
	double Vhleak;

	//Junction Paramerters & Vars
	double Kfb;
	double Krb;
	double Nfb;
	double KSR;
	double vmaxf;
	double vmaxr;
	double KmATP_SR;
	double Ki_SR;
	double Ki_prime_SR;
	double v1;
	double tauxfer;
	double tautr;
	double Jup;
	double Jrel;
	double Jtr;
	double Jxfer;

	//force Parameters
	double alpha_SL;
	double zeta;
	double FN_Ca;
	double Fnorm;
	double Force;
	double kTrop_pn;
	double LTRPNtot;
	double Ktrop_half;
	double Ntrop;
	double f_01;
	double g_01_mod;
	double f_12;
	double g_12_mod;
	double g_23_mod;
	double f_23;
	double kltrpn_plus;
	double LTRPNtot;
	double kltrpn_minus;

	//Junction Params
	double CMDNtot;
	double KmCMDN;
	double CSQNtot;
	double KmCSQN;
	double Jtrpn;
	double beta_SS;
	double beta_JSR;
	double beta_i;

	double Vmuni;
	double ktrans;
	double L;
	double kact;
	double na;
	double Vuni;

	double b;
	double VmNC;
	double Kna;
	double n;
	double Knca;
	double VnaCa;


	//Derivative Calculation Parameters
	double InsNa;
	double Vmyo;
	double Acap;
	double InsK;
	double VSS;
	double VNSR;
	double VJSR;
	double C_m;
	double kaplus;
	double kbplus;
	double kaplus;
	double kaminus;
	double kbminus;
	double kcminus;
	double fprime;
	double gprime;

	//Stimulation modes
	double time_on_Is1;
	double time_off_Is1;
	double time_on_Is2;
	double time_off_Is2;
	double pulse_amplitude;
	double shift;
	double t1;
	double t2;
	double high_freq;
	double period;
	double norm_freq;
	double high_freq_hz;
	double norm_freq_hz;
	double pulse_duration;
	double start_time_shift;
	double start_time_shift_time_on;
	double time_vclamp_on;
	double vclamp_set;
	double vclamp_hold;

Loading data, please wait...