⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 coli.m

📁 粒子群算法的详细实现以及在大肠杆菌代谢过程中参数优化的应用。
💻 M
字号:
function J = coli(in)

TSPAN = [0 10 20 30 40 50 60 70 80 90 100];

K_PTS_a1=in(:,1);
K_PTS_a2=in(:,2);
K_PTS_a3=in(:,3);
K_PTS_g6p=in(:,4);
n_PTS_g6p=in(:,5);
K_PGI_g6p=in(:,6);
K_PGI_f6p=in(:,7);
K_PGI_eq=in(:,8);
K_PGI_g6p_6pginh=in(:,9);
K_PGI_f6p_6pginh=in(:,10);
K_PFK_f6p_s=in(:,11);
K_PFK_atp_s=in(:,12);
K_PFK_pep=in(:,13);
K_PFK_adp_a=in(:,14);
K_PFK_adp_b=in(:,15);
K_PFK_adp_c=in(:,16);
K_PFK_amp_a=in(:,17);
K_PFK_amp_b=in(:,18);
L_PFK=in(:,19);
n_PFK=in(:,20);
K_ALDO_fdp=in(:,21);
K_ALDO_dhap=in(:,22);
K_ALDO_gap=in(:,23);
K_ALDO_gap_inh=in(:,24);
V_ALDO_blf=in(:,25);
K_ALDO_eq=in(:,26);
K_TIS_dhap=in(:,27);
K_TIS_gap=in(:,28);
K_TIS_eq=in(:,29);
K_GAPDH_gap=in(:,30);
K_GAPDH_pgp=in(:,31);
K_GAPDH_nad=in(:,32);
K_GAPDH_nadh=in(:,33);
K_GAPDH_eq=in(:,34);
K_PGK_pgp=in(:,35);
K_PGK_3pg=in(:,36);
K_PGK_adp=in(:,37);
K_PGK_atp=in(:,38);
K_PGK_eq=in(:,39);
K_PGM_3pg=in(:,40);
K_PGM_2pg=in(:,41);
K_PGM_eq=in(:,42);
K_ENO_2pg=in(:,43);
K_ENO_pep=in(:,44);
K_ENO_eq=in(:,45);
K_PK_pep=in(:,46);
K_PK_adp=in(:,47);
K_PK_atp=in(:,48);
K_PK_fdp=in(:,49);
K_PK_amp=in(:,50);
L_PK=in(:,51);
n_PK=in(:,52);
K_PDH_pyr=in(:,53);
n_PDH=in(:,54);
K_PEPCK_pep=in(:,55);
K_PEPCK_fdp=in(:,56);
n_PEPCK_fdp=in(:,57);
K_PGlucoM_g6p=in(:,58);
K_PGlucoM_g1p=in(:,59);
K_PGlucoM_eq=in(:,60);
K_G1PAT_g1p=in(:,61);
K_G1PAT_atp=in(:,62);
K_G1PAT_fdp=in(:,63);
n_G1PAT_fdp=in(:,64);
K_RPPK_rib5p=in(:,65);
K_G3PDH_dhap=in(:,66);
K_Synth1_3pg=in(:,67);
K_Synth2_pyr=in(:,68);
K_Synth3_pep=in(:,69);
K_DAHPS_e4p=in(:,70);
K_DAHPS_pep=in(:,71);
n_DAHPS_e4p=in(:,72);
n_DAHPS_pep=in(:,73);
K_G6PDH_g6p=in(:,74);
K_G6PDH_nadp=in(:,75);
K_G6PDH_nadph_nadpinh=in(:,76);
K_G6PDH_nadph_g6pinh=in(:,77);
K_6PGDH_6pg=in(:,78);
K_6PGDH_nadp=in(:,79);
K_6PGDH_nadph_inh=in(:,80);
K_6PGDH_atp_inh=in(:,81);
K_RPE_eq=in(:,82);
K_RPI_eq=in(:,83);
K_TKa_eq=in(:,84);
K_TKb_eq=in(:,85);
K_TA_eq=in(:,86);

r_max_GAPDH=920.7573;
r_max_PTS=5.083*10^5;
r_max_PGI=651.2479;
r_max_ALDO=17.4074;
r_max_PFK=6.0326*10^6;
r_max_PGM=100.6667;
r_max_PGK=2.9035*10^3;
r_max_TIS=69.5;
r_max_ENO=329.6619;
r_max_PK=0.0611;

r_max_PEPCK=0.1058;
r_max_PDH=6.0645;
r_max_PGlucoM=0.863;
r_max_G1PAT=0.0075;
r_max_G3PDH=0.0148;
r_max_Synth1=0.0257;
r_max_MurSynth=4.37*10^(-4);
r_max_DAHPS=0.108;
r_max_TrpSynth=0.00104;
r_max_MetSynth=0.00226;

r_max_Synth2=0.0737;
r_max_Synth3=0.0195;
r_max_G6PDH=2.5836;
r_max_6PGDH=1.4787;
r_max_RPE=6.7581;
r_max_RPI=4.8348;
r_max_TKa=9.4375;
r_max_TKb=86.4865;
r_max_TA=10.7857;
r_max_RPPK=0.0196;

C_amp=0.955;
C_adp=0.595;
C_atp=4.27;
C_nadp=0.195;
C_nadph=0.062;
C_nad=1.47;
C_nadh=0.1;

mu=0.278e-4;


f = [1.00000000000000e+001	 3.48000000000000e+000	 6.00000000000000e-001	 2.72000000000000e-001	 2.18000000000000e-001	 1.67000000000000e-001	 8.00000000000000e-003	 2.13000000000000e+000	 3.99000000000000e-001	 2.67000000000000e+000	 2.67000000000000e+000	 8.08000000000000e-001	 1.11000000000000e-001	 1.38000000000000e-001	 2.76000000000000e-001	 3.98000000000000e-001	 9.80000000000000e-002	 6.53000000000000e-001
     7.09545214226016e+000	 4.97293975346682e+000	 8.50591275674356e-001	 5.55275666922610e-001	 2.82297633720698e-001	 2.37378601510763e-001	 4.35092503376185e-003	 1.13460087787565e+000	 2.10496810538309e-001	 1.38683100212310e+000	 4.62343206139488e+000	 1.12436501233317e+000	 1.21675882809692e-001	 1.85814678184429e-001	 3.51812737495950e-001	 4.27690680236903e-001	 1.24957863345724e-001	 6.70659849932168e-001
     5.84619796602674e+000	 4.70837250266251e+000	 8.02728337226277e-001	 1.08855254558107e+000	 3.87065547765607e-001	 3.39665758814983e-001	 3.78947743041759e-003	 9.65891511785369e-001	 1.78535886982760e-001	 1.17078948999583e+000	 4.65093106438386e+000	 1.44275220403395e+000	 1.35931063087866e-001	 1.97635692732743e-001	 3.14332878923602e-001	 5.02631277243905e-001	 1.56097812461519e-001	 6.84417314838466e-001
     4.63316182399532e+000	 4.33583763550877e+000	 7.36286044920836e-001	 1.62864291824221e+000	 4.61258239358582e-001	 4.19577077742070e-001	 3.37854301131644e-003	 8.43787817762958e-001	 1.54920952737046e-001	 1.00597278644233e+000	 4.64177483361164e+000	 1.73907650952894e+000	 1.39596002822919e-001	 1.95911110990838e-001	 2.72349658850702e-001	 5.34084079747635e-001	 1.73650972973024e-001	 6.86936920827343e-001
     3.45728020479130e+000	 3.61554662289652e+000	 6.03034008159501e-001	 2.38014074127812e+000	 5.10650020668227e-001	 5.09355901862078e-001	 2.35734689210955e-003	 5.53828720590976e-001	 9.95975180064973e-002	 6.28385991036083e-001	 4.60887179163608e+000	 2.00395637444013e+000	 1.33117339069432e-001	 1.77206719795897e-001	 2.17676968172413e-001	 5.30127175536635e-001	 1.78529965026957e-001	 6.75959420032559e-001
     1.94606723620734e+000	 1.22357914274975e+000	 1.84083572557555e-001	 4.48671708134059e+000	 4.68898889992754e-001	 7.12708294408035e-001	 8.02136984531988e-004	 9.64365588187198e-002	 1.42897716022413e-002	 7.29363215903808e-002	 4.87060523834975e+000	 2.16421616023494e+000	 8.60379567867241e-002	 8.14573817242586e-002	 7.72247214943535e-002	 4.35928138927121e-001	 1.31433728848831e-001	 6.24360933739103e-001
     2.60900700370226e-001	 1.09646012422225e+000	 1.80553540731508e-001	 3.39174516354714e+000	 4.73839355628503e-001	 6.34510049136767e-001	 1.08550885960076e-003	 1.88048966011501e-001	 3.16801808351788e-002	 1.86680287300507e-001	 4.99662651980923e+000	 2.22667183923171e+000	 6.69425319835804e-002	 7.80003118736348e-002	 4.95056884726248e-002	 2.97139569591973e-001	 1.14763946807745e-001	 5.49832712446288e-001
     1.88871235643150e-005	 9.70306942609389e-001	 1.66728449088774e-001	 2.05898978046585e+000	 4.81289548867466e-001	 4.87561371602165e-001	 2.29848994972742e-003	 5.41856166858158e-001	 9.88622893869520e-002	 6.38667595986576e-001	 4.08428238711844e+000	 2.28310077648026e+000	 6.09755841543496e-002	 7.65790814597687e-002	 4.13675757676886e-002	 2.44922897183936e-001	 1.09131873312732e-001	 4.94251863347061e-001
     1.87537774035491e-018	 8.94149601917646e-001	 1.54153464673771e-001	 1.32058248010405e+000	 4.33655446758479e-001	 3.82883231862624e-001	 3.73912089766748e-003	 9.47037656503064e-001	 1.75788297004803e-001	 1.16216104661797e+000	 3.45226476318539e+000	 2.32931871208656e+000	 5.53291470598124e-002	 7.05041570653025e-002	 3.73012537664993e-002	 2.15979072470882e-001	 9.85225937061283e-002	 4.49016425537746e-001
     1.64724391072960e-042	 8.48978041130511e-001	 1.46482650500552e-001	 8.91058580909297e-001	 3.74498291383603e-001	 3.10863131287952e-001	 4.92893125291391e-003	 1.27956710583078e+000	 2.38787246344337e-001	 1.59047398672047e+000	 3.05957798562849e+000	 2.37021910072256e+000	 5.10730495651996e-002	 6.53622100909231e-002	 3.62267024432558e-002	 1.96026484884251e-001	 8.75091752783412e-002	 4.09522541188580e-001
     1.52511160064956e-077	 8.13516144977985e-001	 1.40413850324830e-001	 6.10145362795561e-001	 3.17769158106570e-001	 2.55229862765474e-001	 5.81578695406648e-003	 1.52713991191107e+000	 2.85641028032977e-001	 1.90855358668580e+000	 2.78624329728470e+000	 2.40727591206647e+000	 4.75500153219023e-002	 6.07804483893620e-002	 3.61813499519017e-002	 1.80544653576179e-001	 7.70575519822199e-002	 3.73798003410993e-001];
 
OPTIONS = [];

[t,y] = ode45(@colireact, TSPAN,[10 3.48 0.6 0.272 0.218 0.167 0.008 2.13 0.399 2.67 2.67 0.808 0.111 0.138 0.276 0.398 0.098 0.653])

function dy = colireact(t,y)

dy = zeros(18,1);

rPTS = (r_max_PTS*y(1)*y(10)/y(11)) / ((K_PTS_a1+K_PTS_a2*y(10)/y(11)+K_PTS_a3*y(1)+y(1)*y(10)/y(11))*(1+(y(2)^n_PTS_g6p)/K_PTS_g6p));     % Phosphotransferase system
rPGI = (r_max_PGI*(y(2)-y(3)/K_PGI_eq)) / (K_PGI_g6p*(1+(y(3)/(K_PGI_f6p*(1+y(12)/K_PGI_f6p_6pginh)))+(y(12)/K_PGI_g6p_6pginh))+y(2));     % Phosphoglucoisomerase
A = 1+(y(10)/K_PFK_pep)+(C_adp/K_PFK_adp_b)+(C_amp/K_PFK_amp_b);
B = 1+(C_adp/K_PFK_adp_a)+(C_amp/K_PFK_amp_a);
rPFK = (r_max_PFK*C_atp*y(3)) / ((C_atp+K_PFK_atp_s*(1+C_adp/K_PFK_adp_c))*(y(3)+K_PFK_f6p_s*A/B)*(1+L_PFK/((1+y(3)*B/K_PFK_f6p_s/A)^n_PFK)));     % Phosphofructokinase
rALDO = (r_max_ALDO*(y(4)-y(5)*y(6)/K_ALDO_eq)) / (K_ALDO_fdp+y(4)+(K_ALDO_gap*y(6)/K_ALDO_eq/V_ALDO_blf)+(K_ALDO_dhap*y(5)/K_ALDO_eq/V_ALDO_blf)+(y(4)*y(5)/K_ALDO_gap_inh)+(y(6)*y(5)/K_ALDO_eq/V_ALDO_blf));     % Aldose
rTIS = (r_max_TIS*(y(6)-y(5)/K_TIS_eq)) / (K_TIS_dhap*(1+y(5)/K_TIS_gap)+y(6));     % Triosephosphate isomerase
rGAPDH = (r_max_GAPDH*(y(5)*C_nad-y(7)*C_nadh/K_GAPDH_eq)) / ((K_GAPDH_gap*(1+y(7)/K_GAPDH_pgp)+y(5))*(K_GAPDH_nad*(1+C_nadh/K_GAPDH_nadh)+C_nad));     % Glyceraldehyde 3-phosphate dehydrogenase
rPGK = (r_max_PGK*(C_adp*y(7)-C_atp*y(8)/K_PGK_eq)) / ((K_PGK_adp*(1+C_atp/K_PGK_atp)+C_adp)*(K_PGK_pgp*(1+y(8)/K_PGK_3pg)+y(7)));     % Phosphoglycerate kinase
rPGM = (r_max_PGM*(y(8)-y(9)/K_PGM_eq)) / (K_PGM_3pg*(1+y(9)/K_PGM_2pg)+y(8));     % Phosphoglycerate mutase
rENO = (r_max_ENO*(y(9)-y(10)/K_ENO_eq)) / (K_ENO_2pg*(1+y(10)/K_ENO_pep)+y(9));     % Enolase
rPK = (r_max_PK*y(10)*C_adp*(1+y(10)/K_PK_pep)^(n_PK-1)) / (K_PK_pep*(L_PK*((1+C_atp/K_PK_atp)/(y(4)/K_PK_fdp+C_amp/K_PK_amp+1))^n_PK+(y(10)/K_PK_pep+1)^n_PK)*(C_adp+K_PK_adp));     % Pyruvate kinase
rPDH = (r_max_PDH*y(11)^n_PDH) / (K_PDH_pyr+y(11)^n_PDH);     % Pyruvate dehydrogenase
rPEPCK = (r_max_PEPCK*y(10)*(1+(y(4)/K_PEPCK_fdp)^n_PEPCK_fdp)) / (K_PEPCK_pep+y(10));     % PEP carboxylase
rPGlucoM = (r_max_PGlucoM*(y(2)-y(18)/K_PGlucoM_eq)) / (K_PGlucoM_g6p*(1+y(18)/K_PGlucoM_g1p)+y(2));     % Phosphoglucomutase
rG1PAT = (r_max_G1PAT*y(18)*C_atp*(1+(y(4)/K_G1PAT_fdp)^n_G1PAT_fdp)) / ((K_G1PAT_g1p+y(18))*(K_G1PAT_atp+C_atp));     % Glucose 1-phosphate adenyltransferase
rRPPK = (r_max_RPPK*y(16)) / (K_RPPK_rib5p+y(16));     % Ribose phosphate pyrophosphokinase
rG3PDH = (r_max_G3PDH*y(6)) / (K_G3PDH_dhap+y(6));     % Glycerol 3-phosphate-dehydrogenase
rSynth1 = (r_max_Synth1*y(8)) / (K_Synth1_3pg+y(8));     % Synthesis 1
rMurSynth = r_max_MurSynth;     % Mureine synthesis
rDAHPS = (r_max_DAHPS*(y(17)^n_DAHPS_e4p)*(y(10)^n_DAHPS_pep)) / ((K_DAHPS_e4p+y(17)^n_DAHPS_e4p)*(K_DAHPS_pep+y(10)^n_DAHPS_pep));     % DAHP synthase
rTrpSynth = r_max_TrpSynth;     % Tryptophan synthesis
rMetSynth = r_max_MetSynth;     % Methionine synthesis
rG6PDH = (r_max_G6PDH*y(2)*C_nadp) / ((y(2)+K_G6PDH_g6p)*(1+C_nadph/K_G6PDH_nadph_g6pinh)*(K_G6PDH_nadp*(1+C_nadph/K_G6PDH_nadph_nadpinh)+C_nadp));     % Glucose-6-phosphate dehydrogenase
r6PGDH = (r_max_6PGDH*y(12)*C_nadp) / ((y(12)+K_6PGDH_6pg)*(C_nadp+K_6PGDH_nadp*(1+C_nadph/K_6PGDH_nadph_inh)*(1+C_atp/K_6PGDH_atp_inh)));     % 6-phosphogluconate dehydrogenase
rRPE = r_max_RPE*(y(13)-y(14)/K_RPE_eq);     % Ribulose phosphate eqimerase
rRPI = r_max_RPI*(y(13)-y(16)/K_RPI_eq);     % Ribose phosphate isomerase
rTKa = r_max_TKa*(y(16)*y(14)-y(15)*y(5)/K_TKa_eq);     % Transketolase a
rTKb = r_max_TKb*(y(14)*y(17)-y(3)*y(5)/K_TKb_eq);     % Transketolase b
rTA = r_max_TA*(y(5)*y(15)-y(17)*y(3)/K_TA_eq);     % Transaldolase
rSynth3 = (r_max_Synth3*y(10)) / (K_Synth3_pep+y(10));     % Synthesis 3
rSynth2 = (r_max_Synth2*y(11)) / (K_Synth2_pyr+y(11));     % Synthesis 2

dy(1) = -rPTS;                                % C_glc_external
dy(2) = rPTS-rPGI-rG6PDH-rPGlucoM-mu*y(2);          % C_g6p
dy(3) = rPGI-rPFK+rTKb+rTA-2*rMurSynth-mu*y(3);     % C_f6p
dy(4) = rPFK-rALDO-mu*y(4);                         % C_fdp
dy(5) = rALDO+rTIS-rGAPDH+rTKa+rTKb-rTA+rTrpSynth-mu*y(5);     % C_gap
dy(6) = rALDO-rTIS-rG3PDH-mu*y(6);        % C_dhap
dy(7) = rGAPDH-rPGK-mu*y(7);               % C_pgp
dy(8) = rPGK-rPGM-rSynth1-mu*y(8);         % C_3pg
dy(9) = rPGM-rENO-mu*y(9);                 % C_2pg
dy(10) = rENO-rPK-rPTS-rPEPCK-rDAHPS-rSynth3-mu*y(10);           % C_pep
dy(11) = rPK+rPTS-rPDH-rSynth2+rMetSynth+rTrpSynth-mu*y(11);     % C_pyr
dy(12) = rG6PDH-r6PGDH-mu*y(12);           % C_6pg
dy(13) = r6PGDH-rRPE-rRPI-mu*y(13);     % C_ribu5p
dy(14) = rRPE-rTKa-rTKb-mu*y(14);        % C_xyl5p
dy(15) = rTKa-rTA-mu*y(15);              % C_sed7p
dy(16) = rRPI-rTKa-rRPPK-mu*y(16);       % C_rib5p
dy(17) = rTA-rTKb-rDAHPS-mu*y(17);     % C_e4p
dy(18) = rPGlucoM-rG1PAT-mu*y(18);     % C_g1p

end

J = sum(sum((y-f).^2));

end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -