diff --git a/N803_model_2.m b/N803_model_2.m index 0d9edd9..c38d1e6 100644 --- a/N803_model_2.m +++ b/N803_model_2.m @@ -1,23 +1,30 @@ -% N803_model_2.m - solves host-level model for SIV virions, CD8+ T cells, -% and NK cells during a subcutaneously administered regimen of N803 +% N803_model_2.m - solves host-level model for SIV virions and CD8+ T cells +% during a subcutaneously administered regimen of N803 % /--------------------------------------------------------------\ -% | Date: 07/13/2021 | +% | Date: 10/26/2021 | % | Author: Jonathan Cody | % | Affiliation: Pienaar Computational Systems Pharmacology Lab | % | Weldon School of Biomedical Engineering | % | Purdue University | % \--------------------------------------------------------------/ -% Version 2B +% Version 2C % -% Nomenclature: V = SIV virions [#/無] -% K = NK cells [#/無] -% E = CD8+ T cells [#/無] (E0 resting, EA active) -% X = N803 at absorption site [pmol/kg] -% C = N803 plasma concentration [pM] -% R = regulation [] (dimensionless quantity) -% T = tolerance [] (dimensionless quantity) +% TOODOO +% -> reconsider p1 calculation +% -> remove regulation feedback +% -> add death to all activated cells + +% Nomenclature: V = SIV virions [#/無] +% E0 = resting SIV-specific CD8+ T cells [#/無] +% Ea = active SIV-specific CD8+ T cells [#/無] +% B0 = resting bystander CD8+ T cells [#/無] +% Ba = active bystander CD8+ T cells [#/無] +% X = N803 at absorption site [pmol/kg] +% C = N803 plasma concentration [pM] +% R = regulation [] (dimensionless quantity) +% T = tolerance [] (dimensionless quantity) %% ======================================================================== % INPUTS @@ -47,7 +54,6 @@ % Y_OUT(:,1) = V at points in 'SoluTimes' [log fold change] % Y_OUT(:,2) = E at points in 'SoluTimes' [fold change] -% Y_OUT(:,3) = K at points in 'SoluTimes' [fold change] % If 'fullOut' is non-empty, more columns are included (see end of code) @@ -71,72 +77,76 @@ %% ------------------------------------------------------------------------ % Rename inputed parameters ----------------------------------------------- -Vi = 10^(Pars(01)-3) ;% V initial condition [#/無] -Ki = Pars(02) ;% K initial condition [#/無] -Ei = Pars(03) ;% E initial condition [#/無] -E0i = Ei*(1-Pars(04)) ;% E0 initial condition [#/無] -EAi = Ei*( Pars(04)) ;% EA initial condition [#/無] (sum of E1 to E8) - -gK_Ki = Pars(05)*Pars(06) ;% K initial killing rate [/d] -gE_EAi = Pars(06) ;% E initial killing rate [/d] -Km = Pars(07) ;% K max proliferating concentration [#/無] -Em = Pars(08) ;% E max proliferating concentration [#/無] -V50 = Pars(09) ;% V half-sat concentration for E activation [#/uL] -p = Pars(10) ;% EA proliferation rate [/d] -fm = Pars(11) ;% fraction of EA that revert to memory -dK = Pars(12) ;% K death rate constant [/d] -d0 = Pars(13) ;% E0 death rate constant [/d] -dA = Pars(14) ;% EA death rate constant [/d] - -Xi = Pars(15) ;% X initial condition [pmol/kg] -ka = Pars(16) ;% N803 absorption rate constant [/d] -ke = Pars(17) ;% N803 elimination rate constant [/d] -vd = Pars(18) ;% N803 'volume of distribution'/'bioavailability' [L/kg] - -C50 = Pars(19) ;% N803 half-saturation concentration [pM] -rK1_dK = Pars(20) ;% K maximum growth rate [/d] -rE1_d0 = Pars(21) ;% E0 maximum growth rate [/d] -a1 = Pars(22) ;% E activation stimulation factor [] - -A50 = Pars(23)*EAi ;% EA half-saturation for R activation [#/uL] -dR = Pars(24) ;% regulation decay rate constant [/d] -rK2 = Pars(25) ;% K proliferation regulation factor [] -rE2 = Pars(26) ;% E0 proliferation regulation factor [] -a2 = Pars(27) ;% E activation regulation factor [] - -N = Pars(28) ;% # of tolerance variables (delays + acting) -del = Pars(29) ;% tolerance rate constant [/d] -tau = Pars(30) ;% tolerance recovery [] -eta = Pars(31) ;% tolerance effect factor [] +Vi = Pars(01) ;% V initial value [log(#/mL)] +EBi = Pars(02) ;% E+B initial value [#/無] +fE = Pars(03) ;% initial frequency: E/(E+B) +mu = Pars(04) ;% initial E+B turnover relative to healthy NHP +q = Pars(05) ;% V growth rate (if E+B were absent) [/d] +psi = Pars(06) ;% Ba/Ea killing rate ratio [gB0/gE0] +EB50 = Pars(07) ;% 50% E+B proliferation saturation [#/無] +V50E = Pars(08) ;% 50% viral stimulation saturation for E [#/mL] +V50B = Pars(09) ;% 50% viral stimulation saturation for B [#/mL] +pE = Pars(10) ;% Ea proliferation rate constant [/d] +pB = Pars(11) ;% Ba proliferation rate constant [/d] +d = Pars(12) ;% E0/B0 death rate constant [/d] +dA = Pars(13) ;% Ea/Ba death rate constant [/d] +mE = Pars(14) ;% Ea reversion to memory rate constant [/d] +mB = Pars(15) ;% Ba reversion to memory rate constant [/d] +Xi = Pars(16) ;% X initial condition [pmol/kg] +ka = Pars(17) ;% N803 absorption rate constant [/d] +ke = Pars(18) ;% N803 elimination rate constant [/d] +vd = Pars(19) ;% N803 'volume of distribution'/'bioavailability' [L/kg] +C50 = Pars(20) ;% 50% N803 stimulation concentration [pM] +pm = Pars(21) ;% E0/B0 maximum proliferation rate [] +aE1 = Pars(22) ;% E activation stimulation factor [] +aB1 = Pars(23) ;% B activation stimulation factor [] +sE = 1e3 ;% R generation due to E activation [/d] +sB = Pars(24) ;% R generation due to B activation [/d] +dR = Pars(25) ;% R decay rate constant [/d] +p2R = Pars(26) ;% initial E0/B0 proliferation regulation [] +aE2R = Pars(27) ;% initial E activation regulation [] +aB2R = Pars(28) ;% initial B activation regulation [] +gE2R = Pars(29) ;% initial E killing regulation [] +gB2R = Pars(30) ;% initial B killing regulation [] +N = Pars(31) ;% # of tolerance variables (delays + acting) +del = Pars(32) ;% tolerance rate constant [/d] +tau = Pars(33) ;% tolerance recovery [] +eta = Pars(34) ;% tolerance effect factor [] %% ------------------------------------------------------------------------ % Declare initial conditions & calculated parameters ---------------------- -% some parameters are solved for by assuming an initially steady state - -F5i = Vi/(Vi+V50) / (1+a2) ;% initial E activation rate modifiers [] - -% solve for activation rate a [/d] and E1 to E8 initial conditions [#/無] -MAT = diag( [0 -p*ones(1,7) -dA] ) ; -MAT(1,2:9) = ones(1,8) ; -MAT(2,1) = F5i * E0i ; -MAT(3:9,2:8) = MAT(3:9,2:8) + diag( 2*p*ones(1,7) ) ; -vec = [ EAi ; zeros(8,1) ] ; -sol = MAT\vec ; - -a = sol(1) ;% E activation rate constant [/d] -pV = gE_EAi + gK_Ki ;% V proliferation rate constant [/d] -gE = gE_EAi/EAi ;% E killing rate constant [] -gK = gK_Ki/Ki ;% K killing rate constant [] -rK = (1+rK2) * (Km+Ki)/Km * dK ;% K proliferation rate constant [/d] -rE = (1+rE2) * (Em+Ei)/Em * ( d0 + a*F5i - fm*dA*sol(9)/E0i ) ;% E0 prolif -rK1 = rK1_dK/dK ;% K proliferation stimulation factor [] -rE1 = rE1_d0/d0 ;% E0 proliferation stimulation factor [] -psi = dR*(A50+EAi)/EAi ;% R generation rate constant [/d] +Vi = 10^(Vi-3) ;% V initial value [#/無] +V50E = V50E/1000 ;% 50% viral stimulation saturation for E [#/無] +V50B = V50B/1000 ;% 50% viral stimulation saturation for B [#/無] + +% ratio between initial activation rate of E and of B +phi = (2*mB/(mB+dA) - 1) / (2^7*mE/(mE+dA) - 1) ; + +% ratio between initial activation rate of E and initial regulation +ome = dR / (sE + sB/phi) ; + +% solve for aE,aB initial values and initial values (HVL cohort) +% options = optimset('TolX',1e-30) ; +x = fzero(@(x)icFun(x),[-6 6]) ;%,options) ; +[~,aEi,aBi,Ei,Bi,Ri] = icFun(x) ; + +% Ea/Ba killing rate constants gE0/gB0 +gE0 = q / ( sum(Ei(2:9))/(1+gE2R) + psi*sum(Bi(2:3))/(1+gB2R) ) ; +gB0 = psi*gE0 ; +p0 = (d+aEi-mE*Ei(9)/Ei(1)) * (1+p2R) * (EB50+EBi)/EB50 ;% E0/B0 prolif +aE0 = aEi * (V50E+Vi)/Vi * (1+aE2R) ;% E activation rate constant [/d] +aB0 = aBi * (V50B+Vi)/Vi * (1+aB2R) ;% B activation rate constant [/d] +p1 = pm/p0 - 1 ;% E0/B0 proliferation stimulation factor +p2 = p2R/Ri ;% E0/B0 proliferation regulation factor +aE2 = aE2R/Ri ;% E activation regulation factor [] +aB2 = aB2R/Ri ;% B activation regulation factor [] +gE2 = gE2R/Ri ;% E killing regulation factor [] +gB2 = gB2R/Ri ;% B killing regulation factor [] % declare initial conditions for Y (see 'system' function) -% V K E0 E1-8 X C R tolerance -Yic = [ Vi Ki E0i sol(2:9)' 0 0 1 zeros(1,N) ] ; +% V E0-8 B0-2 X C R tolerance +Yic = [ Vi Ei' Bi' 0 0 Ri zeros(1,N) ] ; %% ------------------------------------------------------------------------ % Solve for each solution period ------------------------------------------ @@ -158,128 +168,181 @@ Y(Piece,:) = Y_TEMP ; % add 'Y_TEMP' to full solution 'Y' Yic = Y_TEMP(end,:) ;% update ICs for next solution piece - Yic(12) = Xi ; + Yic(14) = Xi ; end %% ------------------------------------------------------------------------ -% 'system' function ------------------------------------------------------- +% Prepare main outputs 'Y_OUT' ------------------------------------------- -function dY = system(~,Y) +Y = abs(Y) ;% removing negatives resulting from numerical error + +% V,E,K [fold change] +Y_OUT = [ log10(Y(:,1)/Vi) ... V [log fold change] + , sum(Y(:,2:13),2)/EBi ];% E [fold change] + +%% ------------------------------------------------------------------------ +% Add columns to 'Y_OUT' (if requested) ----------------------------------- + +if isempty(fullOut) ; return ; end + +Y_OUT = [ Y_OUT zeros(Pieces(end),32) ] ; + +E0 = Y(:,02) ;% resting specific CD8+ T cells [#/無] +B0 = Y(:,11) ;% resting bystander CD8+ T cells [#/無] +Ea = sum( Y(:,03:10) ,2) ;% active specific CD8+ T cells [#/無] +Ba = sum( Y(:,12:13) ,2) ;% active bystander T cells [#/無] +R = Y(:,16) ;% immune regulation [] +F = terms(Y) ;% modifiers for 'gE0','gB0','p0','aE0','aB0' + +Y_OUT(:,03) = (E0+Ea) / (E0(1)+Ea(1)) ;% E [fold change] +Y_OUT(:,04) = (B0+Ba) / (B0(1)+Ba(1)) ;% B [fold change] +Y_OUT(:,05) = E0 / E0(1) ;% E0 [fold change] +Y_OUT(:,06) = B0 / B0(1) ;% B0 [fold change] +Y_OUT(:,07) = Ea / Ea(1) ;% Ea [fold change] +Y_OUT(:,08) = Ba / Ba(1) ;% Ba [fold change] +Y_OUT(:,09) = (E0+Ea)./(E0+B0+Ea+Ba) ;% E frequency in (E+B) +Y_OUT(:,10) = (Ea+Ba)./(E0+B0+Ea+Ba) ;% activated frequency in (E+B) +Y_OUT(:,11) = (Ea)./(E0+Ea) ;% activated frequency in E +Y_OUT(:,12) = (Ba)./(B0+Ba) ;% activated frequency in B +Y_OUT(:,13) = Y(:,14) ;% X [pmol/kg] +Y_OUT(:,14) = Y(:,15) ;% C [pM] +Y_OUT(:,15) = R / R(1) ;% R [fold change] +Y_OUT(:,16) = (Y(:,15+N)+Y(:,16+N)) * (N~=0) ;% T [] + +Y_OUT(:,17) = F(:,01) ;% N803 effect [] +Y_OUT(:,18) = F(:,02) ;% tolerance effect [] +Y_OUT(:,19) = F(:,03) ;% N803 effect (with tolerance) [] +Y_OUT(:,20) = log10( F(:,04) ) ;% C-lfc in p +Y_OUT(:,21) = log10( F(:,05) ) ;% C-lfc in aE +Y_OUT(:,22) = log10( ( F(:,06) + F(:,14) )./F(:,14) ) ;% C-lfc in aB +Y_OUT(:,23) = log10( F(:,07)/F(1,07) ) ;% R-lfc in p +Y_OUT(:,24) = log10( F(:,08)/F(1,08) ) ;% R-lfc in aE +Y_OUT(:,25) = log10( F(:,09)/F(1,09) ) ;% R-lfc in aB +Y_OUT(:,26) = log10( F(:,10)/F(1,10) ) ;% R-lfc in gE +Y_OUT(:,27) = log10( F(:,11)/F(1,11) ) ;% R-lfc in gB +Y_OUT(:,28) = log10( F(:,12)/F(1,12) ) ;% EB-lfc in p +Y_OUT(:,29) = log10( F(:,13)/F(1,13) ) ;% V-lfc in aE +Y_OUT(:,30) = log10( F(:,14)/F(1,14) ) ;% V-lfc in aB +Y_OUT(:,31) = log10( F(:,15)/F(1,15) ) ;% lfc in p +Y_OUT(:,32) = log10( F(:,16)/F(1,16) ) ;% lfc in aE +Y_OUT(:,33) = log10( F(:,17)/F(1,17) ) ;% lfc in aB +Y_OUT(:,34) = log10( F(:,18)/F(1,18) ) ;% lfc in regulation generation + +% Ba regulation stimulation proportion +Y_OUT(:,35) = sB*aB0*F(:,17) ./ F(:,18) ; + +% lfc in killing +Kill = gB0*Ba./(1+gB2*R) + gE0*Ea./(1+gE2*R) ; +Y_OUT(:,36) = log10( Kill / Kill(1) ) ; + +% Ba killing proportion +Y_OUT(:,37) = gB0*Ba./(1+gB2*R) ./ Kill ; + +%% ======================================================================== +% NESTED FUNCTIONS +% ======================================================================== +function [targ,aEi,aBi,Ei,Bi,Ri] = icFun(x) + + % declare initial activation rates aE and aB + Ri = 10^x ; + aEi = ome*Ri ; + aBi = aEi/phi ; + + % solve for E0-E8 and B0-B2 initial conditions + MAT = zeros(12) ; + MAT( 1:13: 92) = [ aEi,2*pE*ones(1,7) ] ; + MAT( 13:13:130) = [ -pE*ones(1,7),-(dA+mE),aBi,2*pB ] ; + MAT(129:13:142) = [ -pB,-(dA+mB) ] ; + MAT(11:12,:) = [ ones(1,12) ; [ ones(1,9) 0 0 0 ] ] ; + Sol = MAT \ [ zeros(10,1) ; EBi ; fE*EBi ] ; + Ei = Sol(1:9) ; + Bi = Sol(10:12) ; + % ensure initial conditions satisfy mu + targ = d*(Ei(1)+Bi(1)) + dA*(Ei(9)+Bi(3)) - mu*d*EBi ; +end + +function dY = system(~,Y) + if toc(solvertime) >= 10 error('ODE solver stalled.') end - - V = Y(01) ;% SIV virions [#/無] - K = Y(02) ;% NK cells [#/無] - E0 = Y(03) ;% resting CD8+ T cells [#/無] - EA = Y(04:11) ;% active CD8+ T cells [#/無] - X = Y(12) ;% N803 at absorption site [pmol/kg] - C = Y(13) ;% N803 plasma concentration [pM] - R = Y(14) ;% immune regulation [] - F = terms(Y') ;% modifiers for 'rK','rE','a' - - dY = Y ;% dY/dt - - % calculate rates of change for V,K,E,X,C,R - dY(01) = pV*V - gK*K*V - gE*sum(EA)*V ;% dV/dt - dY(02) = rK*K *F(13) - dK*K ;% dK/dt - dY(03) = rE*E0*F(14) - d0*E0 + fm*dA*EA(8) - a*E0*F(15) ;% dE0/dt - dY(04) = - p*EA(1) + a*E0*F(15) ;% dE1/dt - dY(05:10) = 2*p*EA(1:6) - p*EA(2:7) ;% dE2/dt to dE7/dt - dY(11) = 2*p*EA(7) - dA*EA(8) ;% dE8/dt - dY(12) = - ka*X ;% dX/dt - dY(13) = ka*X/vd - ke*C ;% dC/dt - dY(14) = psi*F(16) - dR*R ;% dR/dt - + + V = Y(01) ;% SIV virions [#/無] + E0 = Y(02) ;% resting specific CD8+ T cells [#/無] + Ea = Y(03:10) ;% active specific CD8+ T cells [#/無] + B0 = Y(11) ;% resting bystander CD8+ T cells [#/無] + Ba = Y(12:13) ;% active bystander T cells [#/無] + X = Y(14) ;% N803 at absorption site [pmol/kg] + C = Y(15) ;% N803 plasma concentration [pM] + R = Y(16) ;% immune regulation [] + T = Y(17:16+N) ;% drug tolerance [] + F = terms(Y') ;% modifiers for 'gE0','gB0','p0','aE0','aB0' + + gE = gE0*F(10) ;% specific killing rate [/d] + gB = gB0*F(11) ;% bystander killing rate [/d] + p = p0*F(15) ;% E0/B0 proliferation rate [/d] + aE = aE0*F(16) ;% specific activation rate [/d] + aB = aB0*F(17) ;% bystander activation rate [/d] + + dY = Y ;% dY/dt + + % calculate rates of change for V,E,B,X,C,R + dY(01) = q*V - gE*sum(Ea)*V - gB*sum(Ba)*V ;% dV/dt + dY(02) = p*E0 - aE*E0 - d*E0 + mE*Ea(8) ;% dE0/dt + dY(03) = + aE*E0 - pE*Ea(1) ;% dE1/dt + dY(4:9)= 2*pE*Ea(1:6) - pE*Ea(2:7) ;% dE2-7/dt + dY(10) = 2*pE*Ea(7) - dA*Ea(8) - mE*Ea(8) ;% dE8/dt + dY(11) = p*B0 - aB*B0 - d*B0 + mB*Ba(2) ;% dB0/dt + dY(12) = + aB*B0 - pB*Ba(1) ;% dB1/dt + dY(13) = 2*pB*Ba(1) - dA*Ba(2) - mB*Ba(2) ;% dB2/dt + dY(14) = - ka*X ;% dX/dt + dY(15) = ka*X/vd - ke*C ;% dC/dt + dY(16) = F(18) - dR*R ;% dR/dt + % calculate rates of change for tolerance if N ~= 0 - dY(15) = del * ( F(1) - Y(15) ) ; - dY(16:end-2) = del * ( Y(15:end-3) - Y(16:end-2) ) ; - dY(end-1) = del * ( Y( end-2) - (1+tau)*Y( end-1) ) ; - dY(end) = del * ( tau*Y( end-1) - tau *Y( end ) ) ; + dY(17) = del*( F(1) - T(1) ) ;% T1/dt + dY(18:end-2) = del*( T(1:N-3) - T(2:N-2) ) ; + dY(end-1) = del*( T( N-2) - (1+tau)*T( N-1) ) ;% TN-1/dt + dY(end) = del*( tau*T( N-1) - tau *T( N ) ) ;% TN/dt end end -%% ------------------------------------------------------------------------ -% 'terms' function -------------------------------------------------------- - function F = terms(Y) - V = Y(:,01) ;% SIV virions [#/無] - K = Y(:,02) ;% NK cells [#/無] - E = sum(Y(:,03:11),2) ;% CD8+ T cells [#/無] - EA = sum(Y(:,04:11),2) ;% active CD8+ T cells [#/無] - C = Y(:,13) ;% N803 plasma concentration [pM] - R = Y(:,14) ;% immune regulation [] - T = Y(:,13+N)+Y(:,14+N) ;% drug tolerance [] + V = Y(:,01) ;% SIV virions [#/無] + EB = sum(Y(:,02:13),2) ;% CD8+ T cells [#/無] + C = Y(:,15) ;% N803 plasma concentration [pM] + R = Y(:,16) ;% immune regulation [] + T = Y(:,15+N)+Y(:,16+N) ;% drug tolerance [] % percolate vector for storing terms - F = zeros(size(Y,1),13) ; + F = zeros(size(Y,1),18) ; - F(:,01) = C ./ (C50+C) ;% N803 effect [] - F(:,02) = 1 ./ (1+eta*T) ;% tolerance effect [] - F(:,03) = F(:,1) .* F(:,2) ;% N803 effect (with tolerance) [] - F(:,04) = 1 + rK1*F(:,3) ;% K proliferation stimulation [] - F(:,05) = 1 + rE1*F(:,3) ;% E proliferation stimulation [] - F(:,06) = 1 + a1*F(:,3) ;% E activation stimulation [] - F(:,07) = 1 ./ (1+rK2*R) ;% K proliferation regulation [] - F(:,08) = 1 ./ (1+rE2*R) ;% E proliferation regulation [] - F(:,09) = 1 ./ (1+ a2*R) ;% E activation regulation [] - F(:,10) = Km./ (Km +K) ;% K proliferation density dependence [] - F(:,11) = Em./ (Em +E) ;% E proliferation density dependence [] - F(:,12) = V ./ (V50+V) ;% activation antigen dependence [] - F(:,13) = F(:,4) .* F(:,7) .* F(:,10) ;% K proliferation modifier [] - F(:,14) = F(:,5) .* F(:,8) .* F(:,11) ;% E proliferation modifier [] - F(:,15) = F(:,6) .* F(:,9) .* F(:,12) ;% E activation modifier [] - F(:,16) = EA./ (A50+EA) ;% R activation modifier [] - + F(:,01) = C./ (C50+C) ;% N803 effect [] + F(:,02) = 1./ (1+eta*T) ;% tolerance effect [] + F(:,03) = F(:,1).* F(:,2) ;% N803 effect (with tolerance) [] + + F(:,04) = 1 + p1*F(:,3) ;% E0/B0 proliferation stimulation [] + F(:,05) = 1 + aE1*F(:,3) ;% E activation stimulation [] + F(:,06) = aB1*F(:,3) ;% N803-induced B activation [] + + F(:,07) = 1./ (1+ p2*R) ;% E0/B0 proliferation regulation [] + F(:,08) = 1./ (1+aE2*R) ;% Ea activation regulation [] + F(:,09) = 1./ (1+aB2*R) ;% Ba activation regulation [] + F(:,10) = 1./ (1+gE2*R) ;% Ea killing regulation [] + F(:,11) = 1./ (1+gB2*R) ;% Ba killing regulation [] + + F(:,12) = EB50./(EB50+EB) ;% E0/B0 proliferation density dependence [] + F(:,13) = V./ (V50E+V) ;% Ea activation antigen dependence [] + F(:,14) = V./ (V50B+V) ;% Ba activation antigen dependence [] + + F(:,15) = F(:,12).* F(:,04).* F(:,07) ;% E0/B0 prolif modifier [] + F(:,16) = F(:,13).* F(:,05).* F(:,08) ;% Ea activation modifier [] + F(:,17) = (F(:,14)+F(:,06)).* F(:,09) ;% Ba activation modifier [] + + F(:,18) = sE*aE0*F(:,16) + sB*aB0*F(:,17) ;% regulation gen [/d] end -%% ------------------------------------------------------------------------ -% Prepare main outputs 'Y_OUT' ------------------------------------------- - -Y = abs(Y) ;% removing negatives resulting from numerical error - -% V,E,K [fold change] -Y_OUT = [ log10(Y(:,1)/Vi) ... V [log fold change] - , sum(Y(:,3:11),2)/Ei ... E [fold change] - , Y(:,2)/Ki ];% K [fold change] - -%% ------------------------------------------------------------------------ -% Add columns to 'Y_OUT' (if requested) ----------------------------------- - -if isempty(fullOut) ; return ; end - -Y_OUT = [ Y_OUT zeros(Pieces(end),20-3) ] ; - -Y_OUT(:,4) = Y(:,03)/E0i ;% E0 [fold change] -Y_OUT(:,5) = sum(Y(:,04:11),2)/EAi ;% EA [fold change] -Y_OUT(:,6) = Y(:,12) ;% X [pmol/kg] -Y_OUT(:,7) = Y(:,13) ;% C [pM] -Y_OUT(:,8) = Y(:,14) ;% R [] -Y_OUT(:,9) = (Y(:,13+N)+Y(:,14+N)) * (N~=0) ;% T [] - -F = terms(Y) ;% modifiers for 'rK','rE','a' - -Y_OUT(:,10) = F(:,01) ;% N803 effect [] -Y_OUT(:,11) = F(:,02) ;% tolerance effect [] -Y_OUT(:,12) = F(:,03) ;% N803 effect (with tolerance) [] -Y_OUT(:,13) = F(:,04) ;% K proliferation stimulation [] -Y_OUT(:,14) = F(:,05) ;% E proliferation stimulation [] -Y_OUT(:,15) = F(:,06) ;% E activation stimulation [] -Y_OUT(:,16) = F(:,07)/F(1,07) ;% K proliferation regulation [fold change] -Y_OUT(:,17) = F(:,08)/F(1,08) ;% E proliferation regulation [fold change] -Y_OUT(:,18) = F(:,09)/F(1,09) ;% E activation regulation [fold change] -Y_OUT(:,19) = F(:,10)/F(1,10) ;% K prolif density dependence [fold change] -Y_OUT(:,20) = F(:,11)/F(1,11) ;% E prolif density dependence [fold change] -Y_OUT(:,21) = F(:,12)/F(1,12) ;% E activ antigen dependence [fold change] -Y_OUT(:,22) = F(:,13)/F(1,13) ;% K proliferation modifier [fold change] -Y_OUT(:,23) = F(:,14)/F(1,14) ;% E proliferation modifier [fold change] -Y_OUT(:,24) = F(:,15)/F(1,15) ;% E activation modifier [fold change] -Y_OUT(:,25) = F(:,16)/F(1,16) ;% R activation modifier [fold change] - -% NK killing proportion -Y_OUT(:,26) = gK*Y(:,2) ./ ( gK*Y(:,2) + gE*sum(Y(:,04:11),2) ) ; - end \ No newline at end of file