/*
* Mathematical Models of Ionic Transport in the Distal Tubule
* of the Rat
*
* Model Status
*
* This CellML model is a description of Chang and Fujita's 2001
* mathematical model of a Na-H exchanger in the distal tubule
* of the rat: it is one component of an overall model of acid/base
* transport in a distal tubule.
*
* Model Structure
*
* ABSTRACT: The purpose of this study is to develop a numerical
* model that simulates acid-base transport in rat distal tubule.
* We have previously reported a model that deals with transport
* of Na(+), K(+), Cl(-), and water in this nephron segment (Chang
* H and Fujita T. Am J Physiol Renal Physiol 276: F931-F951, 1999).
* In this study, we extend our previous model by incorporating
* buffer systems, new cell types, and new transport mechanisms.
* Specifically, the model incorporates bicarbonate, ammonium,
* and phosphate buffer systems; has cell types corresponding to
* intercalated cells; and includes the Na/H exchanger, H-ATPase,
* and anion exchanger. Incorporation of buffer systems has required
* the following modifications of model equations: new model equations
* are introduced to represent chemical equilibria of buffer partners
* [e.g., pH = pK(a) + log(10) (NH(3)/NH(4))], and the formulation
* of mass conservation is extended to take into account interconversion
* of buffer partners. Furthermore, finite rates of H(2)CO(3)-CO(2)
* interconversion are taken into account in modeling the bicarbonate
* buffer system. Owing to this treatment, the model can simulate
* the development of disequilibrium pH in the distal tubular fluid.
* For each new transporter, a state diagram has been constructed
* to simulate its transport kinetics. With appropriate assignment
* of maximal transport rates for individual transporters, the
* model predictions are in agreement with free-flow micropuncture
* experiments in terms of HCO reabsorption rate in the normal
* state as well as under the high bicarbonate load. Although the
* model cannot simulate all of the microperfusion experiments,
* especially those that showed a flow-dependent increase in HCO
* reabsorption, the model is consistent with those microperfusion
* experiments that showed HCO reabsorption rates similar to those
* in the free-flow micropuncture experiments. We conclude that
* it is possible to develop a numerical model of the rat distal
* tubule that simulates acid-base transport, as well as basic
* solute and water transport, on the basis of tubular geometry,
* physical principles, and transporter kinetics. Such a model
* would provide a useful means of integrating detailed kinetic
* properties of transporters and predicting macroscopic transport
* characteristics of this nephron segment under physiological
* and pathophysiological settings.
*
* The original paper reference is cited below:
*
* A numerical model of acid-base transport in rat distal tubule,
* Hangil Chang and Toshiro Fujita, 2001, American Journal of Physiology,
* 281, F222-F243. PubMed ID: 11457714.
*
* reaction_diagram1
*
* [[Image file: chang_2001a.png]]
*
* State diagram of the Na-H exchanger. In this model, the Na-H
* exchanger has a single binding site (E) to which Na+, H+, and
* NH4 + bind competitively. Only the bound forms of the transporter
* are able to cross the membrane. (Symbols with the asterisk (*)
* represent conformations facing the cytosol, symbols without
* indicate conformations facing the extracellular environment.)
*/
import nsrunit;
unit conversion on;
// unit millimolar predefined
// unit micromolar predefined
unit first_order_rate_constant=1 second^(-1);
unit second_order_rate_constant=1 meter^3*second^(-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: E, ENa, ENH4, EH, ENa_, EH_, ENH4_, E_
realDomain time second;
time.min=0;
extern time.max;
extern time.delta;
real E(time) millimolar;
//Warning: Assuming zero initial condition; nothing provided in original CellML model.
when(time=time.min) E=0;
real k1 second_order_rate_constant;
k1=1.0E8;
real k2 first_order_rate_constant;
k2=3.27E6;
real k3 second_order_rate_constant;
k3=1.0E8;
real k4 first_order_rate_constant;
k4=3.52E0;
real k5 second_order_rate_constant;
k5=1.0E8;
real k6 first_order_rate_constant;
k6=7.13E5;
real ENa(time) millimolar;
//Warning: Assuming zero initial condition; nothing provided in original CellML model.
when(time=time.min) ENa=0;
real ENH4(time) millimolar;
//Warning: Assuming zero initial condition; nothing provided in original CellML model.
when(time=time.min) ENH4=0;
real EH(time) millimolar;
//Warning: Assuming zero initial condition; nothing provided in original CellML model.
when(time=time.min) EH=0;
real H millimolar;
H=1.0;
real Na millimolar;
Na=1.0;
real NH4 millimolar;
NH4=1.0;
real k13 first_order_rate_constant;
real k14 first_order_rate_constant;
real ENa_(time) millimolar;
//Warning: Assuming zero initial condition; nothing provided in original CellML model.
when(time=time.min) ENa_=0;
real k15 first_order_rate_constant;
real k16 first_order_rate_constant;
real EH_(time) millimolar;
//Warning: Assuming zero initial condition; nothing provided in original CellML model.
when(time=time.min) EH_=0;
real k17 first_order_rate_constant;
real k18 first_order_rate_constant;
real ENH4_(time) millimolar;
//Warning: Assuming zero initial condition; nothing provided in original CellML model.
when(time=time.min) ENH4_=0;
real E_(time) millimolar;
//Warning: Assuming zero initial condition; nothing provided in original CellML model.
when(time=time.min) E_=0;
real k7 second_order_rate_constant;
k7=1.0E8;
real k8 first_order_rate_constant;
k8=3.27E6;
real k9 second_order_rate_constant;
k9=1.0E8;
real k10 first_order_rate_constant;
k10=3.52E0;
real k11 second_order_rate_constant;
k11=1.0E8;
real k12 first_order_rate_constant;
k12=7.13E5;
real H_ millimolar;
H_=1.0;
real Na_ millimolar;
Na_=9.5;
real NH4_ millimolar;
NH4_=1.3;
real W dimensionless;
real KH micromolar;
KH=1.0;
//
//
E:time=(k2*ENa+k4*EH+k6*ENH4-(k1*Na*E+k3*H*E+k5*NH4*E));
//
ENa:time=(k1*E*Na+k14*ENa_-(k2*ENa+k13*ENa));
//
EH:time=(k3*H*E+k16*EH_-(k4*EH+k15*EH));
//
ENH4:time=(k5*NH4*E+k18*ENH4_-(k6*ENH4+k17*ENH4));
//
E_:time=(k8*ENa_+k10*EH_+k12*ENH4_-(k7*Na_*E_+k9*H_*E_+k11*NH4_*E_));
//
ENa_:time=(k7*E_*Na_+k13*ENa-(k8*ENa_+k14*ENa_));
//
EH_:time=(k9*H_*E_+k15*EH-(k10*EH_+k16*EH_));
//
ENH4_:time=(k11*NH4_*E_+k17*ENH4-(k12*ENH4_+k18*ENH4_));
//
W=(H_/(H_+KH));
k13=((2.41 first_order_rate_constant)*W);
k14=((2.41 first_order_rate_constant)*W);
k15=((.48 first_order_rate_constant)*W);
k16=((.48 first_order_rate_constant)*W);
k17=((2.41 first_order_rate_constant)*W);
k18=((2.41 first_order_rate_constant)*W);
}