-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy patheuromix.ant
169 lines (136 loc) · 3.98 KB
/
euromix.ant
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
function conc(q,vol)
piecewise(q/vol, vol > 1e-5, 0)
end
function metab_MM(Vmax, Km, PC, q, vol)
vol*Vmax*conc(q, vol) / (PC*Km+conc(q, vol))
end
function metab_MA(CLH, PC, q, vol)
CLH*conc(q, vol)/PC
end
model euromix()
# Parameters
## Physiology
### Body size
BM = 70
BSA = 190
Height_sc = 0.0001
Height_vs = 0.0122
scVFat = 0.209
scVRich = 0.105
scVLiver = 0.024
scVBlood = 0.068
### Flow rates
scFBlood = 4.8
scFFat = 0.085
scFPoor = 0.12
scFLiver = 0.27
scFSkin = 0.05
Falv = 2220
## Biochemical parameters
### Partition coefficients
PCFat = 2.53
PCLiver = 0.923
PCRich = 0.875
PCPoor = 0.647
PCSkin_sc = 0.889
PCSkin = 0.889
PCAir = 1e+99
### Metabolism
Km = 0
Michaelis = 0
Vmax = 0
### Others
fub = 0.51
fSA_exposed = 0.1
Kp_sc_vs = 0.01
### Excretion
kGut = 1
CLH = 132
Ke = 7.5
# Assignments
## Physiology
### Body size
const f_su := Kp_sc_vs * BSA * (1 - fSA_exposed)
const f_se := Kp_sc_vs * BSA * fSA_exposed
const VBlood := BM * scVBlood
### Flow rates
const FBlood := scFBlood * BM
const FFat := FBlood * scFFat
const FPoor := FBlood * scFPoor
const FLiver := FBlood * scFLiver
const FSkin := FBlood * scFSkin
const FRich := FBlood - FFat - FPoor - FLiver - FSkin
const FSkin_e := FSkin * fSA_exposed
const FSkin_u := FSkin - FSkin_e
# Compartments and Species
compartment Air
compartment Urine
compartment Fat := BM * scVFat
compartment Rich := BM * scVRich
compartment Liver := BM * scVLiver
compartment Art := VBlood / 3.0
compartment Ven := VBlood - Art
compartment Skin_e := BSA * Height_vs * fSA_exposed
compartment Skin_u := BSA * Height_vs * (1 - fSA_exposed)
compartment Skin_sc_e := BSA * Height_sc * fSA_exposed
compartment Skin_sc_u := BSA * Height_sc * (1 - fSA_exposed)
compartment Poor := BM * (1 - scVFat-scVRich - scVLiver - scVBlood - 0.1) - Skin_e - Skin_u - Skin_sc_e - Skin_sc_u
compartment Gut
# Species
substanceOnly species QFat in Fat
substanceOnly species QRich in Rich
substanceOnly species QPoor in Poor
substanceOnly species QLiver in Liver
substanceOnly species QMetab in Liver
substanceOnly species QGut in Gut
substanceOnly species QSkin_u in Skin_u
substanceOnly species QSkin_e in Skin_e
substanceOnly species QSkin_sc_u in Skin_sc_u
substanceOnly species QSkin_sc_e in Skin_sc_e
substanceOnly species QArt in Art
substanceOnly species QVen in Ven
substanceOnly species QExcret in Urine
substanceOnly species QAir in Air
QFat = 0
QPoor = 0
QRich = 0
QGut = 0
QMetab = 0
QLiver = 0
QSkin_u = 0
QSkin_e = 0
QSkin_sc_u = 0
QSkin_sc_e = 0
QArt = 0
QVen = 0
# Model
## Absorption
# Should either be done by events
# or by adding boundary species
## Distribution
QArt -> QFat; FFat * conc(QArt, Art)
QFat -> QVen; FFat * conc(QFat, Fat) / PCFat
QArt -> QRich; FRich * conc(QArt, Art)
QRich -> QVen; FRich * conc(QRich, Rich) / PCRich
QArt -> QPoor; FPoor * conc(QArt, Art)
QPoor -> QVen; FPoor * conc(QPoor, Poor) / PCPoor
QArt -> QLiver; FLiver * conc(QArt, Art)
QLiver -> QVen; FLiver * conc(QLiver, Liver) / PCLiver
QGut -> QLiver; kGut * QGut
QArt -> QSkin_u; FSkin_u * conc(QArt, Art)
QSkin_u -> QVen; FSkin_u * conc(QSkin_u, Skin_u) / PCSkin
QSkin_u -> QSkin_sc_u; f_su * conc(QSkin_u, Skin_u) / PCSkin_sc
QSkin_sc_u -> QSkin_u; f_su * conc(QSkin_sc_u, Skin_sc_u)
QArt -> QSkin_e; FSkin_e * conc(QArt, Art)
QSkin_e -> QVen; FSkin_e * conc(QSkin_e, Skin_e) / PCSkin
QSkin_e -> QSkin_sc_e; f_se * conc(QSkin_e, Skin_e) / PCSkin_sc
QSkin_sc_e -> QSkin_e; f_se * conc(QSkin_sc_e, Skin_sc_e)
QVen -> QArt; FBlood * conc(QVen, Ven)
## Metabolism
QLiver -> QMetab; fub * piecewise(metab_MM(Vmax, Km, PCLiver, QLiver, Liver), Michaelis > 0.5, metab_MA(CLH, PCLiver, QLiver, Liver))
## Excretion
QArt -> QExcret; Ke * fub * conc(QArt, Art)
# Air exchange
QArt -> QAir; Falv * conc(QArt, Art) / PCAir
QAir -> QArt; FBlood * conc(QAir, Air)
end