-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMainCode.m
More file actions
277 lines (245 loc) · 11.9 KB
/
MainCode.m
File metadata and controls
277 lines (245 loc) · 11.9 KB
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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
clear all;clc;close all;
%% experimental data
expTime = 0:0.05:199.95;
figure
% data=xlsread('AP-Zaman.xlsx');
% figure('Name','AP','NumberTitle','off')
% plot(expTime, data(:,2));
% hold on
%% Variables Declaration
z0=[-72, 0.0041, 0.67, 0.67, 0.0000021, 0.99, 0.99, 0.99...
0.0021, 0.98, 0.64, 0.0029, 0.314, 0.0035, 0.634, 0.0004327...
0.000000000606, 0.634, 0.139, 0.00516, 10.73519, 139.275, 0.000079...
0.00008737212, 0.06607948, 0.06600742, 0.3657,0.089,0.081,30.03,0.1776,0.1];
c0=[0.12, 45, -6.5, 76, 6, 1.36, 0.32, 47.13, -0.1, 47.13, ...
0.08, 11, 0.4537, 10.66, -11.1, 3.49, 0.135, 80, -6.8, 3.56, ...
0.079, 3.1*10^5, 0.35, 11.63, -0.1, 32, -2.535*(10^(-7)), 3.49, 37.78, 0.311, ...
79.23, -127140, 0.2444, 3.474*10^(-5), -0.04391, 0.1212, -0.01052, -0.1378, 40.14, 0.011 ...
15, -4, 26, 5, 3.05, -0.0045, 7.02, 1.05, -0.002, 18 ...
0.25, 105, 45, 12, 40, 25, 25, 15, 75, 25 ...
17, 41, 47, 12, 80, 55, -5, 15, 75, 25 ...
17, 9, 0.025 0.5 10.6 -11.42 45.3 6.8841 4000 45.16 ...
0.03577 50, 98.9 -0.1 38 350 70 15 35 3700 ...
70, 30, 35, 0.02 11.5 -11.82 87.5 10.3 50000 5100];
%dinf %f11inf %f12inf %Cainactinf %taud %tauf11 %tauf12 %tauf11>-24 %tauf12>-24 %tauCainact %rinf %sinf %sslowinf %taur %taus %taus>-40 %tausslow %y1inf_r %tauy1_r %y2inf_r %tauy2_r %y3inf_r %tauy3_r %xsinf %tauxs %y1inf %tauy1 %y2_inf %tauy2 %minf %hinf %jinf %taum %tauh %tauj
bestc = [ 702.693062846, 6.28936390322743577, 16.47184329774172795, 7.72820764892593548, 5, 5.70169429655, 6.49159859980375664 1.585380098276939087, 1.52777978270491110, 417.67456372875471970];
%Global Constants
global WTF; WTF = [2.04647510899866125, 11.92794719909794310, 6.58648897632262731, 1.48129916047758270, 1.04883200971882040 , 1.50833999524741880*0.8 , 0.00126255060921924*150, 1.92496636643373242*0.55 , 0.96599901568628443, 0.41959961556506770, 2.93143814587899509, 5.65058517109974456, 7.73239899024922828, 1.39620774164753403, 3.34782337287740361, 5.00434006135031684, 0.10227571298196084, 0.06947435150569056, 0.00192241669329621, 0.18655223855990699, 1.34845297577182488, 1.99059379632945599, 0.57601265706540539, 2.02939950754197973, 0.95911921034929937, 0.22290441432117622*0.7, 5.82311629722667856, 1, 1, 1, 0.9*11.42643131771780318/11.42, 1.12536642299172884*1.2 , 4.46773718715095303/4, 1004.43664100245177906];
global Kr_Par; Kr_Par = [1.81733402361720464, -0.55417183629459443, 23.10316235137340968, 31.67604665654175733, 0.00837535305879988, 0.15513986797766749, 1.27989993154076487, 0.00517326546477969, 0.01850795777776976, 0.13531156893646071, 0.11640216351986897, 10.68980816609267848, -2.22936686878534918, 32.77405541417513035];
% 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
global OPT; OPT =[3758.50463468118778110, 10.06137254002946690, 9.19702613262256463, 1.71240428948949575, 21.96350355855883763, 0.44858898515164525, 10.80526515433044210, 0.00806423802070195, 0.25953354048617150, 0.39996686338037496, 0.29838480695170388, 0.07272196526382858, 18.40477436828069813, 978.58565231755494551, 0.09421467801523954, 0.03519130668911597, 0.11158579167042615, 0.02364961306258060, 0.00681091623359616, 528.75240434248689780, 0.81134296915697490, 0.16481481784377597, 0.65561279464116595, 5789911.89205291867256165, 0.51277740678558625, 21586039.34559330716729164, 3.44723660136627030, 0.05126330455206942, 0.00615003374897892, 10.59212474596603037, 0.00096176347799506, 28.14665416369973627, 2.39739846365710285, 0.92576564972413644, 0.52343949911321874, 43.12863982383754546, 0.00071032946273072, 0.09691028113978299, 0.00128808158965711, 0.80035732019709482];
global Cm; Cm =100;
global minfshift; minfshift=0.153846;
global tauh_coef; tauh_coef =1;
global tauj_coef; tauj_coef =1;
global ISOOPT;ISOOPT=[1, 1, 1];
global kbk; kbk = 3;
global KS; KS = 18;
global VBKo; VBKo = 0.1;
global kCaBK; kCaBK = 6;
global Clo; Clo = 140;
global zCl; zCl = -1;
global zCa; zCa = 2;
global Fara; Fara=96487;
global Temp; Temp=295.0;
global RR; RR=8314;
global Nao; Nao=140;
global ECaL; ECaL = 65;
global Ko; Ko=5.4;
global a; a=c0(74);
global b; b=1-a;
global tausss; tausss=c0(100);
global fNa; fNa=0.3;
global fK; fK=1-fNa;
global INaKbar; INaKbar=2.77430000589328563; %8
global kmk; kmk=1.5;
global ICaPbar; ICaPbar= 41.96269987854774541;
global kNaCa; kNaCa=3.30909185645075077; %0.000009984*10000;
global dNaCa; dNaCa=0.0001;
global gamma; gamma=0.5;
global Cao; Cao=1.2;
global kmNai; kmNai=10;
global sigmaNa; sigmaNa = 1.5;
global sigmaK; sigmaK = 1;
global kmCaP; kmCaP = 0.5;
global kmNa; kmNa = 87.5; %mmol;
global kmCa; kmCa = 1.38; % mmol/L
global ksat; ksat = 0.1;
global kappa; kappa = 0.35;
%Conducdances
global gNa; gNa=bestc(1);
global gNa; gNa=WTF(34);
global gCaL; gCaL=bestc(2);
global gt; gt=bestc(3);
global gss; gss=0;
global gf; gf=bestc(4);
global gK1; gK1=bestc(5);
global gKr; gKr=bestc(6);
global gKs; gKs=bestc(7);
global gCaT; gCaT = bestc(8);
global gClb; gClb = bestc(9);
global gSCaK; gSCaK = 0;
global gBCaK; gBCaK = 0;
global gBNa; gBNa= 0.03263438;
global gBK; gBK=0.05;
global gBCa; gBCa=0.0024962559;
%% Call updatestates function
[t,dSVb] = ode15s(@(t,p)updateStates(t,p,c0,bestc,0,0,0,1), expTime, z0); % Run the ODE
bestY = dSVb(:,1);
% format shortG
% cost = sum((dSVb(:,1) - data(:,2)).^2);
% disp('cost: ' + cost)
%% Global Variables
global ENa;
global EK;
global ak1;
global bk1;
global k1inf;
global sigma;
global minf;
global hinf;
global jinf;
global taum;
global tauh;
global tauj;
global dinf;
global f11inf;
global f12inf;
global Cainactinf;
global taud;
global tauf11;
global tauf12;
global rinf;
global sinf;
global sslowinf;
global taur;
global taus;
global tausslow;
global rssinf;
global sssinf;
global taurss;
global tauCainact;
global ECl;
%% plotting part
plot(expTime, bestY, '-g')
title('AP')
xlabel('Zaman (ms)')
ylabel('Voltaj (mv)')
% legend('Deney','Similasyon')
% hold off
%xlswrite('KONTROL_AP.xlsx',bestY)
% format shortG
% cost = sum((dSVb(:,1) - data(:,2)).^2);
% disp('cost: ' + cost)
%%%%% plotting AP results %%%%%%%
% INa_AP(expTime,c0,z0,bestc)
% ICaL_AP(expTime,c0,z0,bestc)
% It_AP(expTime,c0,z0,bestc)
% IK1_AP(expTime,c0,z0,bestc)
% Ibackground(expTime,c0,z0,bestc)
% Ipump(expTime,c0,z0,bestc)
% Ihf_AP(expTime,c0,z0,bestc)
% IKr_AP(expTime,c0,z0,bestc)
% IKs_AP(expTime,c0,z0,bestc)
% ICaT_AP(expTime,c0,z0,bestc)
% IClb_AP(expTime,c0,z0,bestc)
%%%%% plotting voltage clamp results %%%%%%
% INa_vClamp_LAST(expTime,c0,z0,bestc);
% ICal_vClamp_LAST(expTime,c0,z0,bestc)
% IKr_vClamp_LAST(expTime,c0,z0,bestc)
% IKs_vClamp_LAST(expTime,c0,z0,bestc)
% It_vClamp_LAST(expTime,c0,z0,bestc)
% ICaT_vClamp_LAST(expTime,c0,z0,bestc)
% IK1_vClamp_LAST(expTime,c0,z0,bestc)
% INaCa_vClamp_LAST(expTime,c0,z0,bestc)
% IClCaclamp =IClCa_vClamp_LAST(expTime,c0,z0,bestc)
%%%%PLOTTING STATE-VARIABLES%%%%%%
% %to plot V choose 1
% %to plot m choose 2
% %to plot h choose 3
% %to plot j choose 4
% %to plot d choose 5
% %to plot f11 choose 6
% %to plot f12 choose 7
% %to plot Cainact choose 8
% %to plot r choose 9
% %to plot s choose 10
% %to plot sslow choose 11
% %to plot rss choose 12
% %to plot sss choose 13
% %to plot y choose 14
% % to plot PC1 choose 15
% % to plot Po1 choose 16
% % to plot Po2 choose 17
% % to plot PC2 choose 18
% % to plot HTRPNCa choose 19
% %to plot LTRPNCa choose 20
% %to plot Nai choose 21
% %to plot Ki choose 22
% %to plot Cai choose 23
% %to plot Cass choose 24
% %to plot CaJSR choose 25
% %to plot CaNSR choose 26
% stateVariables(expTime,c0,z0,bestc,2)
% stateVariables(expTime,c0,z0,bestc,3)
% stateVariables(expTime,c0,z0,bestc,4)
%%% Lead Potantial Analysis %%%
%Lead_Pot_Analysis(expTime,c0,z0,bestc);
%%%% PLOTTING TIME-CONSTANTS %%%%%%%
%% to plot taum choose 2
%% to plot tauh choose 3
%% to plot tauj choose 4
%% to plot taud choose 5
%% to plot tauf11 choose 6
%% to plot tauf12 choose 7
%% to plot tauCainact choose 8
%% to plot taur choose 9
%% to plot taus choose 10
%% to plot tausslow choose 11
%% to plot taurss choose 12
%% to plot tausss choose 13
%% to plot tauy choose 14
%% to plot tauy1_r choose 15
%% to plot tauy2_r choose 16
%% to plot tauy3_r choose 17
%% to plot tauy1 choose 18
%% to plot tauy2 choose 19
%% to plot tauxs choose 20
%
% StateVariables_tau(c0,2)
% StateVariables_tau(c0,3)
% StateVariables_tau(c0,4)
% StateVariables_tau(c0,5)
% StateVariables_tau(c0,6)
% StateVariables_tau(c0,7)
% StateVariables_tau(c0,8)
% StateVariables_tau(c0,9)
% StateVariables_tau(c0,10)
%%%%% PLOTTING STEADY-STATES %%%%%%%
%% to plot minf choose 2
%% to plot hinf choose 3
%% to plot jinf choose 4
%% to plot dinf choose 5
%% to plot f11inf choose 6
%% to plot f12inf choose 7
%% to plot Cainactinf choose 8
%% to plot rinf choose 9
%% to plot sinf choose 10
%% to plot sslowinf choose 11
%% to plot rssinf choose 12
%% to plot sssinf choose 13
%% to plot yinf choose 14
%% to plot y1inf_r choose 15
%% to plot y2inf_r choose 16
%% to plot y3inf_r choose 17
%% to plot y1inf choose 18
%% to plot y2inf choose 19
%% to plot xsinf choose 20
%% to plot K1inf choose 21
% StateVariables_inf(c0,4)
% StateVariables_inf(c0,5)
% StateVariables_inf(c0,6)
% StateVariables_inf(c0,7)
% StateVariables_inf(c0,8)
% StateVariables_inf(c0,9)
% StateVariables_inf(c0,10)