/*
* Theoretical analysis of biochemical pathways of nitric oxide
* release from vascular endothelial cells
*
* Model Status
*
* This CellML model runs in OpenCell and COR and is known to be
* mathematically consistent with the publication it was based
* on. The units are consistent. An additional variable and equation
* has been added to allow the CellML model to reproduce Figure
* 2 of the publication. The three different graphs of this figure
* can be produced by altering the variable 'Fe3' in the 'Fe3'
* component (this variable represents the concentration of eNOS
* in its Fe3+ bound state) to 0.045, 0.030 or 0.015 micromolar.
* In this particular version of the model it has been set to 0.045.
*
* Model Structure
*
* ABSTRACT: Vascular endothelium expressing endothelial nitric
* oxide synthase (eNOS) produces nitric oxide (NO), which has
* a number of important physiological functions in the microvasculature.
* The rate of NO production by the endothelium is a critical determinant
* of NO distribution in the vascular wall. We have analyzed the
* biochemical pathways of NO synthesis and formulated a model
* to estimate NO production by the microvascular endothelium under
* physiological conditions. The model quantifies the NO produced
* by eNOS based on the kinetics of NO synthesis and the availability
* of eNOS and its intracellular substrates. The predicted NO production
* from microvessels was in the range of 0.005-0.1 microM/s. This
* range of predicted values is in agreement with some experimental
* values but is much lower than other rates previously measured
* or estimated from experimental data with the help of mathematical
* modeling. Paradoxical discrepancies between the model predictions
* and previously reported results based on experimental measurements
* of NO concentration in the vicinity of the arteriolar wall suggest
* that NO can also be released through eNOS-independent mechanisms,
* such as catalysis by neuronal NOS (nNOS). We also used our model
* to test the sensitivity of NO production to substrate availability,
* eNOS concentration, and potential rate-limiting factors. The
* results indicated that the predicted low level of NO production
* can be attributed primarily to a low expression of eNOS in the
* microvascular endothelial cells.
*
* model diagram
*
* [[Image file: chen_2006.png]]
*
* Schematic diagram of the mathematical model. Pathway of nitric
* oxide (NO) synthesis catalysed by endothelial nitric oxide synthase
* (eNOS, or eNOS3). The heme iron (Fe) is the main catalysis site
* and is used to represent the enzyme in this figure and also
* in the model. The heme ion of eNOS binds L-arginine (Arg), hydroxyl-L-arginine
* (NOHA), and oxygen (O2), and undergoes a series of oxygenation
* and reduction reactions.
*
* The original paper reference is cited below:
*
* Theoretical analysis of biochemical pathways of nitric oxide
* release from vascular endothelial cells, Kejing Chen and Aleksander
* S. Popel, 2006, Free Radical Biology and Medicine , 41, 668-680.
* PubMed ID: 16864000
*/
import nsrunit;
unit conversion on;
// unit micromolar predefined
unit first_order_rate_constant=1 second^(-1);
unit second_order_rate_constant=1E3 meter^3*second^(-1)*mole^(-1);
unit flux=1E-3 meter^(-3)*second^(-1)*mole^1;
math main {
realDomain time second;
time.min=0;
extern time.max;
extern time.delta;
real Arg(time) micromolar;
when(time=time.min) Arg=100.0;
real S(time) flux;
real Fe3(time) micromolar;
when(time=time.min) Fe3=0.045;
real Fe3_Arg(time) micromolar;
when(time=time.min) Fe3_Arg=0.0;
real Fe2_Arg(time) micromolar;
when(time=time.min) Fe2_Arg=0.0;
real Fe2(time) micromolar;
when(time=time.min) Fe2=0.0;
real k1 second_order_rate_constant;
k1=0.1;
real k_1 first_order_rate_constant;
k_1=0.1;
real k4 second_order_rate_constant;
k4=1.89;
real k_4 first_order_rate_constant;
k_4=11.4;
real Fe3_NO(time) micromolar;
when(time=time.min) Fe3_NO=0.0;
real Fe2_NO(time) micromolar;
when(time=time.min) Fe2_NO=0.0;
real O2 micromolar;
O2=172.0;
real Fe3_NOHA(time) micromolar;
when(time=time.min) Fe3_NOHA=0.0;
real NOHA(time) micromolar;
when(time=time.min) NOHA=0.0;
real k2 first_order_rate_constant;
k2=0.91;
real k13 second_order_rate_constant;
k13=0.033;
real k14 first_order_rate_constant;
k14=53.9;
real k8 first_order_rate_constant;
k8=0.1;
real k_8 second_order_rate_constant;
k_8=0.1;
real k3 first_order_rate_constant;
k3=0.91;
real Fe2_NOHA(time) micromolar;
when(time=time.min) Fe2_NOHA=0.0;
real k9 first_order_rate_constant;
k9=11.4;
real k_9 second_order_rate_constant;
k_9=1.89;
real Fe3_O2_Arg(time) micromolar;
when(time=time.min) Fe3_O2_Arg=0.0;
real k5 second_order_rate_constant;
k5=2.58;
real k_5 first_order_rate_constant;
k_5=98.0;
real k6 first_order_rate_constant;
k6=12.6;
real k7 first_order_rate_constant;
k7=0.91;
real Fe3_O2_NOHA(time) micromolar;
when(time=time.min) Fe3_O2_NOHA=0.0;
real k_10 first_order_rate_constant;
k_10=89.9;
real k10 second_order_rate_constant;
k10=3.33;
real k11 first_order_rate_constant;
k11=29.4;
real k12 first_order_rate_constant;
k12=0.91;
real NO(time) micromolar;
when(time=time.min) NO=0.0;
real dNOdt(time) flux;
real citrulline(time) micromolar;
when(time=time.min) citrulline=0.0;
real NO3(time) micromolar;
when(time=time.min) NO3=0.0;
//
//
Arg:time=(k_1*Fe3_Arg+k_4*Fe2_Arg+S-(k1*Arg*Fe3+k4*Arg*Fe2));
S=(k1*Arg*Fe3+k4*Arg*Fe2-(k_1*Fe3_Arg+k_4*Fe2_Arg));
//
Fe3:time=(k_1*Fe3_Arg+k14*Fe3_NO+k13*Fe2_NO*O2+k8*Fe3_NOHA-(k1*Arg*Fe3+k2*Fe3+k_8*NOHA*Fe3));
//
Fe3_Arg:time=(k1*Fe3*Arg-(k_1*Fe3_Arg+k3*Fe3_Arg));
//
Fe2:time=(k2*Fe3+k_4*Fe2_Arg+k9*Fe2_NOHA-(k4*Fe2*Arg+k_9*Fe2*NOHA));
//
Fe2_Arg:time=(k3*Fe3_Arg+k_5*Fe3_O2_Arg+k4*Fe2*Arg-(k5*Fe2_Arg*O2+k_4*Fe2_Arg));
//
Fe3_O2_Arg:time=(k5*Fe2_Arg*O2-(k6*Fe3_O2_Arg+k_5*Fe3_O2_Arg));
//
Fe3_NOHA:time=(k6*Fe3_O2_Arg+k_8*Fe3*NOHA-(k7*Fe3_NOHA+k8*Fe3_NOHA));
//
Fe2_NOHA:time=(k7*Fe3_NOHA+k_10*Fe3_O2_NOHA+k_9*Fe2*NOHA-(k9*Fe2_NOHA+k10*Fe2_NOHA*O2));
//
Fe3_O2_NOHA:time=(k10*Fe2_NOHA*O2-(k11*Fe3_O2_NOHA+k_10*Fe3_O2_NOHA));
//
Fe3_NO:time=(k11*Fe3_O2_NOHA-(k14*Fe3_NO+k12*Fe3_NO));
//
Fe2_NO:time=(k12*Fe3_NO-k13*Fe2_NO*O2);
//
NO:time=(k14*Fe3_NO);
dNOdt=(k14*Fe3_NO);
//
citrulline:time=(k11*Fe3_O2_NOHA);
//
NO3:time=(k13*Fe2_NO*O2);
//
NOHA:time=(k8*Fe3_NOHA+k9*Fe2_NOHA-(k_8*Fe3*NOHA+k_9*Fe2*NOHA));
//
}