SUPPLEMENTARY MATERIALS A mechanistic pharmacokinetic model for liver transporter substrates under liver cirrhosis conditions Rui Li, Hugh A. Barton, and Tristan S. Maurer Systems Modeling and Simulation, Department of Pharmacokinetics, Dynamics, and Metabolism, Pfizer Worldwide R&D, Cambridge, MA, and Groton, CT. MATLAB files 1. Save files Please save all codes given below as MATLAB m files with file names the same as function names (shown on the first line of the codes). 2. Descriptions of files a. ¡°pbpk_EC_permeableT_permeableLiver_matlab.m¡± and ¡°pbpk_MM_absorp_matlab.m¡± store equations and solvers for PBPK models with first order absorption and Michaelis¨CMenten absorption, respectively. ¡°pbpk_EC_telmisartan_matlab.m¡± contains equations and solvers for PBPK model with de-conjugation of glucuronide and enterohepatic recirculation of parent. b. ¡°Kp_calculation_new.m¡± calculates Kp values. c. ¡°pbpk_bosentan_CP.m¡±, ¡°pbpk_olmesartan_CP.m¡±, ¡°pbpk_repaglinide_CP.m¡±, ¡°pbpk_telmisartan_CP.m¡±, and ¡°pbpk_valsartan_CP.m¡± pass parameters values of compounds to equations. d. ¡°run_bosentan_CP.m¡±, ¡°run_olmesartan_CP.m¡±, ¡°run_repaglinide_CP.m¡±, ¡°run_telmisartan_CP.m¡±, and ¡°run_valsartan_CP.m¡± plot simulated and observed plasma concentration time profiles. e. Method 1 and 2 share ¡°pbpk_EC_permeableT_permeableLiver_matlab.m¡±, ¡°pbpk_MM_absorp_matlab.m¡±, ¡°pbpk_EC_telmisartan_matlab.m¡±, and ¡°Kp_calculation_new.m¡±, but not other files 3. Run simulations a. To perform simulations for bosentan, put ¡°pbpk_MM_absorp_matlab.m¡±, ¡°Kp_calculation_new.m¡±, ¡°pbpk_bosentan_CP.m¡±, and ¡°run_bosentan_CP.m¡± into the same folder, and run ¡°run_bosentan_CP.m¡± in MATLAB. b. To perform simulations for olmesartan, put ¡°pbpk_EC_permeableT_permeableLiver_matlab.m¡±, ¡°Kp_calculation_new.m¡±, ¡°pbpk_olmesartan_CP.m¡±, and ¡°run_olmesartan_CP.m¡± into the same folder, and run ¡°run_olmesartan_CP.m¡± in MATLAB. c. To perform simulations for valsartan, put ¡°pbpk_MM_absorp_matlab.m¡±, ¡°Kp_calculation_new.m¡±, ¡°pbpk_valsartan _CP.m¡±, and ¡°run_valsartan_CP.m¡± into the same folder, and run ¡°run_valsartan_CP.m¡± in MATLAB. d. To perform simulations for repaglinide, put ¡°pbpk_EC_permeableT_permeableLiver_matlab.m¡±, ¡°Kp_calculation_new.m¡±, ¡°pbpk_repaglinide_CP.m¡±, and ¡°run_repaglinide_CP.m¡± into the same folder, and run ¡°run_repaglinide_CP.m¡± in MATLAB. e. To perform simulations for repaglinide, put ¡°pbpk_EC_telmisartan_matlab.m¡±, ¡°pbpk_telmisartan_CP.m¡±, and ¡°run_telmisartan_CP.m¡± into the same folder, and run ¡°run_telmisartan_CP.m¡± in MATLAB. f. Occasionally the randomly generated parameter values may cause difficulties for ODE solver and lead to warning in MATLAB. If the warning is observed, the user should press ¡°Ctrl+C¡± to stop running, and re-run the simulations. ¡°pbpk_EC_permeableT_permeableLiver_matlab.m¡± code function [T, Y] = pbpk_EC_permeableT_permeableLiver_matlab(TimeSpan,y0,phi,u,tol) RelTol = tol(1); AbsTol = tol(2); options = odeset( 'RelTol', RelTol, 'AbsTol', AbsTol ); [T,Y] = ode15s(@(t,y)pbpk_model_structure(t,y,phi,u),[TimeSpan(1),TimeSpan(end)],y0,options); Y = interp1q(T,Y,TimeSpan'); Y = Y'; T = TimeSpan; function dy = pbpk_model_structure(t,y,phi,u) Kpad=phi(1); Kpbo=phi(2); Kpbr=phi(3); Kpgu=phi(4); Kphe=phi(5); Kpki=phi(6); Kplu=phi(7); Kpmu=phi(8); Kpsk=phi(9); Kpsp=phi(10); Kpte=phi(11); Kpre=phi(12); fup=phi(13); Rbp=phi(14); fuli=phi(15); CLmet=phi(16); CLpassive=phi(17); CLactive=phi(18); CLbile=phi(19); CLrenal=phi(20); CLefflux=phi(21); Vadec=phi(22); Vbo=phi(23); Vbr=phi(24); Vgu=phi(25); Vhe=phi(26); Vki=phi(27); Vlb=phi(28); Vlt=phi(29); Vlu=phi(30); Vmuec=phi(31); Vsk=phi(32); Vsp=phi(33); Vte=phi(34); Vve=phi(35); Var=phi(36); Vre=phi(37); Qad=phi(38); Qbo=phi(39); Qbr=phi(40); Qgu=phi(41); Qhe=phi(42); Qki=phi(43); Qh=phi(44); Qsp=phi(45); Qha=phi(46); Qlu=phi(47); Qmu=phi(48); Qsk=phi(49); Qte=phi(50); Qre=phi(51); ka=phi(52); F=phi(53); Qliverbile=phi(54); Vliverbile=phi(55); Vadic=phi(56); Vmuic=phi(57); CLad=phi(58); CLmu = phi(59); IVRate = u; % total concentrations}; (mg/L or ug/mL) Cvenous =y(1); % venous (VE) total venous blood Carterial = y(2) ; % arterial (AR) total arterial blood Clung = y(3) ; % lung (LU) total lung Cadec = y(4) ; % adipose (AD) total adipose Cheart = y(5) ; % heart (HE) total heart Cmuec = y(6) ; % muscle (MU) total muscle Cskin = y(7) ; % skin (SK) total skin Ckidney = y(8) ; % kidney (KI) total kidney Cspleen = y(9) ; % spleen (SP) total spleen Cgut = y(10) ; % gut (GU) total gut Clb1 = y(11) ; % liver blood1 (LB1) total liver blood Clt1= y(12) ; % liver1 (LT1) total liver tissue Clb2 = y(13) ; % liver blood2 (LB2) total liver blood Clt2= y(14) ; % liver2 (LT2) total liver tissue Clb3 = y(15) ; % liver blood3 (LB3) total liver blood Clt3 = y(16) ;% liver3 (LT3) total liver tissue Clb4 = y(17) ; % liver blood4 (LB4) total liver blood Clt4= y(18) ; % liver4 (LT4) total liver tissue Clb5 = y(19) ; % liver blood5 (LB5) total liver blood Clt5= y(20) ; % liver5 (LT5) total liver tissue Cbone = y(21) ;% bone (BO) total bone Ctestes = y(22) ; % testes (TE) total testes Cbrain = y(23) ;% brain (BR) total brain Cremaining = y(24) ;% remaining tissue (RE) total remaining tissue Cliverbile = y(25); % liver bile Agilumen = y(26); % <> of telmisartan in GI, assuming instant deconjugation Cadic = y(28); % ic adipose Cmuic = y(27); % ic muscle Clbfree1 = Clb1*fup/Rbp ;% free liver blood1 conc Cltfree1 = Clt1*fuli ;% free liver tissue1 conc Clbfree2 = Clb2*fup/Rbp ;% free liver blood2 conc Cltfree2 = Clt2*fuli ;% free liver tissue2 conc Clbfree3 = Clb3*fup/Rbp ;% free liver blood3 conc Cltfree3 = Clt3*fuli ;% free liver tissue3 conc Clbfree4 = Clb4*fup/Rbp ;% free liver blood4 conc Cltfree4 = Clt4*fuli ;% free liver tissue4 conc Clbfree5 = Clb5*fup/Rbp ;% free liver blood5 conc Cltfree5 = Clt5*fuli ;% free liver tissue5 conc Cltfree = (Cltfree1 + Cltfree2 + Cltfree3 + Cltfree4 + Cltfree5)/5 ;% free liver average conc (mg/L or ug/mL) dy(1) = (Qh*(Clb5) + Qad*(Cadec) + Qhe*(Cheart/Kphe*Rbp) + ... Qmu*(Cmuec) + Qsk*(Cskin/Kpsk*Rbp) + Qki*(Ckidney/Kpki*Rbp) + ... Qbo*(Cbone/Kpbo*Rbp) + Qte*(Ctestes/Kpte*Rbp) + Qre*(Cremaining/Kpre*Rbp) + ... Qbr*(Cbrain/Kpbr*Rbp) - Qlu*Cvenous + IVRate )/Vve ; % venous blood dy(2) = (Qlu*(Clung/Kplu*Rbp) - Qlu*Carterial)/Var ; % arterial blood dy(3) = (Qlu*Cvenous - Qlu*(Clung/Kplu*Rbp)) /Vlu ; % lung dy(4) = (Qad*(Carterial -Cadec) -CLad*(Cadec*fup/Rbp -Cadic*fup/Kpad))/Vadec ; % adipose ec dy(5) = (Qhe*(Carterial - Cheart/Kphe*Rbp))/Vhe ; % heart dy(6) = (Qmu*(Carterial -Cmuec) -CLmu*(Cmuec*fup/Rbp -Cmuic*fup/Kpmu))/Vmuec; % muscle ec dy(7) = (Qsk*(Carterial - Cskin/Kpsk*Rbp))/Vsk ; % skin dy(8) = (Qki*(Carterial - Ckidney/Kpki*Rbp) - (CLrenal*Ckidney/Kpki*fup))/Vki ; % kidney dy(9) = (Qsp*(Carterial - Cspleen/Kpsp*Rbp))/Vsp ; % spleen dy(10) = (Qgu*(Carterial - Cgut/Kpgu*Rbp ) + ka*Agilumen)/Vgu ; % gut dy(11) = (Qha*Carterial + Qgu*(Cgut/Kpgu*Rbp) + Qsp*(Cspleen/Kpsp*Rbp) - Qh*Clb1 - ... (CLpassive/5*(Clbfree1-Cltfree1) + CLactive/5*Clbfree1 - CLefflux/5*Cltfree1) )/(Vlb/5) ; %liver blood dy(12) = (CLpassive/5*(Clbfree1 - Cltfree1) + CLactive/5*Clbfree1 - CLefflux/5*Cltfree1 - CLbile/5*Cltfree1 - CLmet/5*Cltfree1+ CLpassive/5.0*(Clt2*fuli -Clt1*fuli))/(Vlt/5) ; % liver tissue 1 dy(13) = (Qh*(Clb1 - Clb2) - (CLpassive/5*(Clbfree2-Cltfree2) + CLactive/5*Clbfree2 - CLefflux/5*Cltfree2) )/(Vlb/5) ; % liver blood 2 dy(14) = (CLpassive/5*(Clbfree2 - Cltfree2) + CLactive/5*Clbfree2 - CLefflux/5*Cltfree2 - CLbile/5*Cltfree2 - CLmet/5*Cltfree2+ CLpassive/5.0*(Clt3*fuli -Clt2*fuli)+ CLpassive/5.0*(Clt1*fuli -Clt2*fuli)) /(Vlt/5) ; % liver tissue 2 dy(15) = (Qh*(Clb2 - Clb3) - (CLpassive/5*(Clbfree3-Cltfree3) + CLactive/5*Clbfree3 - CLefflux/5*Cltfree3)) /(Vlb/5) ; % liver blood 3 dy(16) = (CLpassive/5*(Clbfree3 - Cltfree3) + CLactive/5*Clbfree3 - CLefflux/5*Cltfree3 - CLbile/5*Cltfree3 - CLmet/5*Cltfree3+ CLpassive/5.0*(Clt4*fuli -Clt3*fuli)+ CLpassive/5.0*(Clt2*fuli -Clt3*fuli)) /(Vlt/5) ; % liver tissue 3 dy(17) = (Qh*(Clb3 - Clb4) - (CLpassive/5*(Clbfree4-Cltfree4) + CLactive/5*Clbfree4 - CLefflux/5*Cltfree4) )/(Vlb/5) ; % liver blood 4 dy(18) = (CLpassive/5*(Clbfree4 - Cltfree4) + CLactive/5*Clbfree4 - CLefflux/5*Cltfree4 - CLbile/5*Cltfree4 - CLmet/5*Cltfree4+ CLpassive/5.0*(Clt5*fuli -Clt4*fuli)+ CLpassive/5.0*(Clt3*fuli -Clt4*fuli)) /(Vlt/5) ; % liver tissue 4 dy(19) = (Qh*(Clb4 - Clb5) - (CLpassive/5*(Clbfree5-Cltfree5) + CLactive/5*Clbfree5 - CLefflux/5*Cltfree5))/(Vlb/5) ; % liver blood 5 dy(20) = (CLpassive/5*(Clbfree5 - Cltfree5) + CLactive/5*Clbfree5 - CLefflux/5*Cltfree5 - CLbile/5*Cltfree5 - CLmet/5*Cltfree5+ CLpassive/5.0*(Clt4*fuli -Clt5*fuli)) /(Vlt/5) ; % liver tissue 5 dy(21) = (Qbo*(Carterial - Cbone/Kpbo*Rbp))/Vbo ; % bone dy(22) = (Qte*(Carterial - Ctestes/Kpte*Rbp))/Vte ; % testes dy(23) = (Qbr*(Carterial - Cbrain/Kpbr*Rbp))/Vbr ; % brain dy(24) = (Qre*(Carterial - Cremaining/Kpre*Rbp))/Vre ; % rest of body dy(25) = (CLbile * Cltfree - Qliverbile * Cliverbile)/Vliverbile ; % liver bile dy(26) = Qliverbile*Cliverbile -ka/F*Agilumen ;% GI lumen dy(27) = (CLmu*(Cmuec*fup/Rbp -Cmuic*fup/Kpmu))/Vmuic ;% adipose tissue dy(28) = (CLad*(Cadec*fup/Rbp -Cadic*fup/Kpad))/Vadic ;% muscle tissue dy(29) = Cvenous/Rbp; %AUC dy = dy(:); ¡°pbpk_MM_absorp_matlab.m¡± code function [T, Y] = pbpk_MM_absorp_matlab(TimeSpan,y0,phi,u,tol) RelTol = tol(1); AbsTol = tol(2); options = odeset( 'RelTol', RelTol, 'AbsTol', AbsTol ); [T,Y] = ode15s(@(t,y)pbpk_model_structure(t,y,phi,u),[TimeSpan(1),TimeSpan(end)],y0,options); Y = interp1q(T,Y,TimeSpan'); Y = Y'; T = TimeSpan; function dy = pbpk_model_structure(t,y,phi,u) Kpad=phi(1); Kpbo=phi(2); Kpbr=phi(3); Kpgu=phi(4); Kphe=phi(5); Kpki=phi(6); Kplu=phi(7); Kpmu=phi(8); Kpsk=phi(9); Kpsp=phi(10); Kpte=phi(11); Kpre=phi(12); fup=phi(13); Rbp=phi(14); fuli=phi(15); CLmet=phi(16); CLpassive=phi(17); CLactive=phi(18); CLbile=phi(19); CLrenal=phi(20); CLefflux=phi(21); Vadec=phi(22); Vbo=phi(23); Vbr=phi(24); Vgu=phi(25); Vhe=phi(26); Vki=phi(27); Vlb=phi(28); Vlt=phi(29); Vlu=phi(30); Vmuec=phi(31); Vsk=phi(32); Vsp=phi(33); Vte=phi(34); Vve=phi(35); Var=phi(36); Vre=phi(37); Qad=phi(38); Qbo=phi(39); Qbr=phi(40); Qgu=phi(41); Qhe=phi(42); Qki=phi(43); Qh=phi(44); Qsp=phi(45); Qha=phi(46); Qlu=phi(47); Qmu=phi(48); Qsk=phi(49); Qte=phi(50); Qre=phi(51); ka=phi(52); F=phi(53); Qliverbile=phi(54); Vliverbile=phi(55); Vadic=phi(56); Vmuic=phi(57); CLad=phi(58); CLmu = phi(59); Km = phi(60 ) ; IVRate = u; % total concentrations}; (mg/L or ug/mL) Cvenous =y(1); % venous (VE) total venous blood Carterial = y(2) ; % arterial (AR) total arterial blood Clung = y(3) ; % lung (LU) total lung Cadec = y(4) ; % adipose (AD) total adipose Cheart = y(5) ; % heart (HE) total heart Cmuec = y(6) ; % muscle (MU) total muscle Cskin = y(7) ; % skin (SK) total skin Ckidney = y(8) ; % kidney (KI) total kidney Cspleen = y(9) ; % spleen (SP) total spleen Cgut = y(10) ; % gut (GU) total gut Clb1 = y(11) ; % liver blood1 (LB1) total liver blood Clt1= y(12) ; % liver1 (LT1) total liver tissue Clb2 = y(13) ; % liver blood2 (LB2) total liver blood Clt2= y(14) ; % liver2 (LT2) total liver tissue Clb3 = y(15) ; % liver blood3 (LB3) total liver blood Clt3 = y(16) ;% liver3 (LT3) total liver tissue Clb4 = y(17) ; % liver blood4 (LB4) total liver blood Clt4= y(18) ; % liver4 (LT4) total liver tissue Clb5 = y(19) ; % liver blood5 (LB5) total liver blood Clt5= y(20) ; % liver5 (LT5) total liver tissue Cbone = y(21) ;% bone (BO) total bone Ctestes = y(22) ; % testes (TE) total testes Cbrain = y(23) ;% brain (BR) total brain Cremaining = y(24) ;% remaining tissue (RE) total remaining tissue Cliverbile = y(25); % liver bile Agilumen = y(26); % <> of telmisartan in GI, assuming instant deconjugation Cadic = y(28); % ic adipose Cmuic = y(27); % ic muscle Clbfree1 = Clb1*fup/Rbp ;% free liver blood1 conc Cltfree1 = Clt1*fuli ;% free liver tissue1 conc Clbfree2 = Clb2*fup/Rbp ;% free liver blood2 conc Cltfree2 = Clt2*fuli ;% free liver tissue2 conc Clbfree3 = Clb3*fup/Rbp ;% free liver blood3 conc Cltfree3 = Clt3*fuli ;% free liver tissue3 conc Clbfree4 = Clb4*fup/Rbp ;% free liver blood4 conc Cltfree4 = Clt4*fuli ;% free liver tissue4 conc Clbfree5 = Clb5*fup/Rbp ;% free liver blood5 conc Cltfree5 = Clt5*fuli ;% free liver tissue5 conc Cltfree = (Cltfree1 + Cltfree2 + Cltfree3 + Cltfree4 + Cltfree5)/5 ;% free liver average conc (mg/L or ug/mL) dy(1) = (Qh*(Clb5) + Qad*(Cadec) + Qhe*(Cheart/Kphe*Rbp) + ... Qmu*(Cmuec) + Qsk*(Cskin/Kpsk*Rbp) + Qki*(Ckidney/Kpki*Rbp) + ... Qbo*(Cbone/Kpbo*Rbp) + Qte*(Ctestes/Kpte*Rbp) + Qre*(Cremaining/Kpre*Rbp) + ... Qbr*(Cbrain/Kpbr*Rbp) - Qlu*Cvenous + IVRate )/Vve ; % venous blood dy(2) = (Qlu*(Clung/Kplu*Rbp) - Qlu*Carterial)/Var ; % arterial blood dy(3) = (Qlu*Cvenous - Qlu*(Clung/Kplu*Rbp)) /Vlu ; % lung dy(4) = (Qad*(Carterial -Cadec) -CLad*(Cadec*fup/Rbp -Cadic*fup/Kpad))/Vadec ; % adipose ec dy(5) = (Qhe*(Carterial - Cheart/Kphe*Rbp))/Vhe ; % heart dy(6) = (Qmu*(Carterial -Cmuec) -CLmu*(Cmuec*fup/Rbp -Cmuic*fup/Kpmu))/Vmuec; % muscle ec dy(7) = (Qsk*(Carterial - Cskin/Kpsk*Rbp))/Vsk ; % skin dy(8) = (Qki*(Carterial - Ckidney/Kpki*Rbp) - (CLrenal*Ckidney/Kpki*fup))/Vki ; % kidney dy(9) = (Qsp*(Carterial - Cspleen/Kpsp*Rbp))/Vsp ; % spleen dy(10) = (Qgu*(Carterial - Cgut/Kpgu*Rbp ) + ka*Agilumen/(Km+Agilumen))/Vgu ; % gut dy(11) = (Qha*Carterial + Qgu*(Cgut/Kpgu*Rbp) + Qsp*(Cspleen/Kpsp*Rbp) - Qh*Clb1 - ... (CLpassive/5*(Clbfree1-Cltfree1) + CLactive/5*Clbfree1 - CLefflux/5*Cltfree1) )/(Vlb/5) ; %liver blood dy(12) = (CLpassive/5*(Clbfree1 - Cltfree1) + CLactive/5*Clbfree1 - CLefflux/5*Cltfree1 - CLbile/5*Cltfree1 - CLmet/5*Cltfree1+ CLpassive/5.0*(Clt2*fuli -Clt1*fuli))/(Vlt/5) ; % liver tissue 1 dy(13) = (Qh*(Clb1 - Clb2) - (CLpassive/5*(Clbfree2-Cltfree2) + CLactive/5*Clbfree2 - CLefflux/5*Cltfree2) )/(Vlb/5) ; % liver blood 2 dy(14) = (CLpassive/5*(Clbfree2 - Cltfree2) + CLactive/5*Clbfree2 - CLefflux/5*Cltfree2 - CLbile/5*Cltfree2 - CLmet/5*Cltfree2+ CLpassive/5.0*(Clt3*fuli -Clt2*fuli)+ CLpassive/5.0*(Clt1*fuli -Clt2*fuli)) /(Vlt/5) ; % liver tissue 2 dy(15) = (Qh*(Clb2 - Clb3) - (CLpassive/5*(Clbfree3-Cltfree3) + CLactive/5*Clbfree3 - CLefflux/5*Cltfree3)) /(Vlb/5) ; % liver blood 3 dy(16) = (CLpassive/5*(Clbfree3 - Cltfree3) + CLactive/5*Clbfree3 - CLefflux/5*Cltfree3 - CLbile/5*Cltfree3 - CLmet/5*Cltfree3+ CLpassive/5.0*(Clt4*fuli -Clt3*fuli)+ CLpassive/5.0*(Clt2*fuli -Clt3*fuli)) /(Vlt/5) ; % liver tissue 3 dy(17) = (Qh*(Clb3 - Clb4) - (CLpassive/5*(Clbfree4-Cltfree4) + CLactive/5*Clbfree4 - CLefflux/5*Cltfree4) )/(Vlb/5) ; % liver blood 4 dy(18) = (CLpassive/5*(Clbfree4 - Cltfree4) + CLactive/5*Clbfree4 - CLefflux/5*Cltfree4 - CLbile/5*Cltfree4 - CLmet/5*Cltfree4+ CLpassive/5.0*(Clt5*fuli -Clt4*fuli)+ CLpassive/5.0*(Clt3*fuli -Clt4*fuli)) /(Vlt/5) ; % liver tissue 4 dy(19) = (Qh*(Clb4 - Clb5) - (CLpassive/5*(Clbfree5-Cltfree5) + CLactive/5*Clbfree5 - CLefflux/5*Cltfree5))/(Vlb/5) ; % liver blood 5 dy(20) = (CLpassive/5*(Clbfree5 - Cltfree5) + CLactive/5*Clbfree5 - CLefflux/5*Cltfree5 - CLbile/5*Cltfree5 - CLmet/5*Cltfree5+ CLpassive/5.0*(Clt4*fuli -Clt5*fuli)) /(Vlt/5) ; % liver tissue 5 dy(21) = (Qbo*(Carterial - Cbone/Kpbo*Rbp))/Vbo ; % bone dy(22) = (Qte*(Carterial - Ctestes/Kpte*Rbp))/Vte ; % testes dy(23) = (Qbr*(Carterial - Cbrain/Kpbr*Rbp))/Vbr ; % brain dy(24) = (Qre*(Carterial - Cremaining/Kpre*Rbp))/Vre ; % rest of body dy(25) = (CLbile * Cltfree - Qliverbile * Cliverbile)/Vliverbile ; % liver bile dy(26) = Qliverbile*Cliverbile -ka*Agilumen/(Km+Agilumen)/F ;% GI lumen dy(27) = (CLmu*(Cmuec*fup/Rbp -Cmuic*fup/Kpmu))/Vmuic ;% adipose tissue dy(28) = (CLad*(Cadec*fup/Rbp -Cadic*fup/Kpad))/Vadic ;% muscle tissue dy(29) = Cvenous/Rbp; %AUC dy = dy(:); ¡°pbpk_EC_telmisartan_matlab.m¡± code function [T, Y] = pbpk_EC_telmisartan_matlab(TimeSpan,y0,phi,u,tol) RelTol = tol(1); AbsTol = tol(2); options = odeset( 'RelTol', RelTol, 'AbsTol', AbsTol ); [T,Y] = ode15s(@(t,y)pbpk_model_structure(t,y,phi,u),[TimeSpan(1),TimeSpan(end)],y0,options); Y = interp1q(T,Y,TimeSpan'); Y = Y'; T = TimeSpan; function dy = pbpk_model_structure(t,y,phi,u) Kpad=phi(1); Kpbo=phi(2); Kpbr=phi(3); Kpgu=phi(4); Kphe=phi(5); Kpki=phi(6); Kplu=phi(7); Kpmu=phi(8); Kpsk=phi(9); Kpsp=phi(10); Kpte=phi(11); Kpre=phi(12); fup=phi(13); Rbp=phi(14); fuli=phi(15); CLmet=phi(16); CLpassive=phi(17); CLactive=phi(18); CLbile=phi(19); CLrenal=phi(20); CLefflux=phi(21); Vadec=phi(22); Vbo=phi(23); Vbr=phi(24); Vgu=phi(25); Vhe=phi(26); Vki=phi(27); Vlb=phi(28); Vlt=phi(29); Vlu=phi(30); Vmuec=phi(31); Vsk=phi(32); Vsp=phi(33); Vte=phi(34); Vve=phi(35); Var=phi(36); Vre=phi(37); Qad=phi(38); Qbo=phi(39); Qbr=phi(40); Qgu=phi(41); Qhe=phi(42); Qki=phi(43); Qh=phi(44); Qsp=phi(45); Qha=phi(46); Qlu=phi(47); Qmu=phi(48); Qsk=phi(49); Qte=phi(50); Qre=phi(51); ka=phi(52); Fa=phi(53); Qliverbile=phi(54); Vliverbile=phi(55); Vadic=phi(56); Vmuic=phi(57); CLad=phi(58); CLmu = phi(59); fuli_glu = phi(60); CLbile_glu = phi(61); IVRate = u; % total concentrations}; (mg/L or ug/mL) Cvenous =y(1); % venous (VE) total venous blood Carterial = y(2) ; % arterial (AR) total arterial blood Clung = y(3) ; % lung (LU) total lung Cadec = y(4) ; % adipose (AD) total adipose Cheart = y(5) ; % heart (HE) total heart Cmuec = y(6) ; % muscle (MU) total muscle Cskin = y(7) ; % skin (SK) total skin Ckidney = y(8) ; % kidney (KI) total kidney Cspleen = y(9) ; % spleen (SP) total spleen Cgut = y(10) ; % gut (GU) total gut Clb1 = y(11) ; % liver blood1 (LB1) total liver blood Clt1= y(12) ; % liver1 (LT1) total liver tissue Clb2 = y(13) ; % liver blood2 (LB2) total liver blood Clt2= y(14) ; % liver2 (LT2) total liver tissue Clb3 = y(15) ; % liver blood3 (LB3) total liver blood Clt3 = y(16) ;% liver3 (LT3) total liver tissue Clb4 = y(17) ; % liver blood4 (LB4) total liver blood Clt4= y(18) ; % liver4 (LT4) total liver tissue Clb5 = y(19) ; % liver blood5 (LB5) total liver blood Clt5= y(20) ; % liver5 (LT5) total liver tissue Cbone = y(21) ;% bone (BO) total bone Ctestes = y(22) ; % testes (TE) total testes Cbrain = y(23) ;% brain (BR) total brain Cremaining = y(24) ;% remaining tissue (RE) total remaining tissue Cliverbile = y(25); % liver bile Clt_glu1 = y(26); % glucuronide in tissue 1 Clt_glu2 = y(27); % glucuronide in tissue 2 Clt_glu3 = y(28); % glucuronide in tissue 3 Clt_glu4 = y(29); % glucuronide in tissue 4 Clt_glu5 = y(30); % glucuronide in tissue 5 Cliverbile_glu = y(31); % glucuronide in bile Agilumen = y(32); % <> of telmisartan in GI, assuming instant deconjugation Cadic = y(33); % ic adipose Cmuic = y(34); % ic muscle Clbfree1 = Clb1*fup/Rbp ;% free liver blood1 conc Cltfree1 = Clt1*fuli ;% free liver tissue1 conc Clbfree2 = Clb2*fup/Rbp ;% free liver blood2 conc Cltfree2 = Clt2*fuli ;% free liver tissue2 conc Clbfree3 = Clb3*fup/Rbp ;% free liver blood3 conc Cltfree3 = Clt3*fuli ;% free liver tissue3 conc Clbfree4 = Clb4*fup/Rbp ;% free liver blood4 conc Cltfree4 = Clt4*fuli ;% free liver tissue4 conc Clbfree5 = Clb5*fup/Rbp ;% free liver blood5 conc Cltfree5 = Clt5*fuli ;% free liver tissue5 conc Cltfree = (Cltfree1 + Cltfree2 + Cltfree3 + Cltfree4 + Cltfree5)/5 ;% free liver average conc (mg/L or ug/mL) Clt_glufree1 = Clt_glu1*fuli_glu ;%free glucuronide conc in liver tissue 1 Clt_glufree2 = Clt_glu2*fuli_glu ;%free glucuronide conc in liver tissue 2 Clt_glufree3 = Clt_glu3*fuli_glu ;%free glucuronide conc in liver tissue 3 Clt_glufree4 = Clt_glu4*fuli_glu ;%free glucuronide conc in liver tissue 4 Clt_glufree5 = Clt_glu5*fuli_glu ;%free glucuronide conc in liver tissue 5 Clt_glufree = (Clt_glufree1 + Clt_glufree2 + Clt_glufree3 + Clt_glufree4 + Clt_glufree5)/5 ;% glucuronide, free liver average conc (mg/L or ug/mL) dy(1) = (Qh*(Clb5) + Qad*(Cadec) + Qhe*(Cheart/Kphe*Rbp) + ... Qmu*(Cmuec) + Qsk*(Cskin/Kpsk*Rbp) + Qki*(Ckidney/Kpki*Rbp) + ... Qbo*(Cbone/Kpbo*Rbp) + Qte*(Ctestes/Kpte*Rbp) + Qre*(Cremaining/Kpre*Rbp) + ... Qbr*(Cbrain/Kpbr*Rbp) - Qlu*Cvenous + IVRate )/Vve ; % venous blood dy(2) = (Qlu*(Clung/Kplu*Rbp) - Qlu*Carterial)/Var ; % arterial blood dy(3) = (Qlu*Cvenous - Qlu*(Clung/Kplu*Rbp)) /Vlu ; % lung dy(4) = (Qad*(Carterial -Cadec) -CLad*(Cadec*fup/Rbp -Cadic*fup/Kpad))/Vadec ; % adipose ec dy(5) = (Qhe*(Carterial - Cheart/Kphe*Rbp))/Vhe ; % heart dy(6) = (Qmu*(Carterial -Cmuec) -CLmu*(Cmuec*fup/Rbp -Cmuic*fup/Kpmu))/Vmuec; % muscle ec dy(7) = (Qsk*(Carterial - Cskin/Kpsk*Rbp))/Vsk ; % skin dy(8) = (Qki*(Carterial - Ckidney/Kpki*Rbp) - (CLrenal*Ckidney/Kpki*fup))/Vki ; % kidney dy(9) = (Qsp*(Carterial - Cspleen/Kpsp*Rbp))/Vsp ; % spleen dy(10) = (Qgu*(Carterial - Cgut/Kpgu*Rbp ) + ka*Agilumen)/Vgu ; % gut dy(11) = (Qha*Carterial + Qgu*(Cgut/Kpgu*Rbp) + Qsp*(Cspleen/Kpsp*Rbp) - Qh*Clb1 - ... (CLpassive/5*(Clbfree1-Cltfree1) + CLactive/5*Clbfree1 - CLefflux/5*Cltfree1) )/(Vlb/5) ; %liver blood dy(12) = (CLpassive/5*(Clbfree1 - Cltfree1) + CLactive/5*Clbfree1 - CLefflux/5*Cltfree1 - CLbile/5*Cltfree1 - CLmet/5*Cltfree1+ CLpassive/5.0*(Clt2*fuli -Clt1*fuli))/(Vlt/5) ; % liver tissue 1 dy(13) = (Qh*(Clb1 - Clb2) - (CLpassive/5*(Clbfree2-Cltfree2) + CLactive/5*Clbfree2 - CLefflux/5*Cltfree2) )/(Vlb/5) ; % liver blood 2 dy(14) = (CLpassive/5*(Clbfree2 - Cltfree2) + CLactive/5*Clbfree2 - CLefflux/5*Cltfree2 - CLbile/5*Cltfree2 - CLmet/5*Cltfree2+ CLpassive/5.0*(Clt3*fuli -Clt2*fuli)+ CLpassive/5.0*(Clt1*fuli -Clt2*fuli)) /(Vlt/5) ; % liver tissue 2 dy(15) = (Qh*(Clb2 - Clb3) - (CLpassive/5*(Clbfree3-Cltfree3) + CLactive/5*Clbfree3 - CLefflux/5*Cltfree3)) /(Vlb/5) ; % liver blood 3 dy(16) = (CLpassive/5*(Clbfree3 - Cltfree3) + CLactive/5*Clbfree3 - CLefflux/5*Cltfree3 - CLbile/5*Cltfree3 - CLmet/5*Cltfree3+ CLpassive/5.0*(Clt4*fuli -Clt3*fuli)+ CLpassive/5.0*(Clt2*fuli -Clt3*fuli)) /(Vlt/5) ; % liver tissue 3 dy(17) = (Qh*(Clb3 - Clb4) - (CLpassive/5*(Clbfree4-Cltfree4) + CLactive/5*Clbfree4 - CLefflux/5*Cltfree4) )/(Vlb/5) ; % liver blood 4 dy(18) = (CLpassive/5*(Clbfree4 - Cltfree4) + CLactive/5*Clbfree4 - CLefflux/5*Cltfree4 - CLbile/5*Cltfree4 - CLmet/5*Cltfree4+ CLpassive/5.0*(Clt5*fuli -Clt4*fuli)+ CLpassive/5.0*(Clt3*fuli -Clt4*fuli)) /(Vlt/5) ; % liver tissue 4 dy(19) = (Qh*(Clb4 - Clb5) - (CLpassive/5*(Clbfree5-Cltfree5) + CLactive/5*Clbfree5 - CLefflux/5*Cltfree5))/(Vlb/5) ; % liver blood 5 dy(20) = (CLpassive/5*(Clbfree5 - Cltfree5) + CLactive/5*Clbfree5 - CLefflux/5*Cltfree5 - CLbile/5*Cltfree5 - CLmet/5*Cltfree5+ CLpassive/5.0*(Clt4*fuli -Clt5*fuli)) /(Vlt/5) ; % liver tissue 5 dy(21) = (Qbo*(Carterial - Cbone/Kpbo*Rbp))/Vbo ; % bone dy(22) = (Qte*(Carterial - Ctestes/Kpte*Rbp))/Vte ; % testes dy(23) = (Qbr*(Carterial - Cbrain/Kpbr*Rbp))/Vbr ; % brain dy(24) = (Qre*(Carterial - Cremaining/Kpre*Rbp))/Vre ; % rest of body dy(25) = (CLbile * Cltfree - Qliverbile * Cliverbile)/Vliverbile ; % liver bile dy(26) = (CLmet/5*Cltfree1 - CLbile_glu/5*Clt_glufree1 )/(Vlt/5) ; % glucuronide, liver tissue 1 ;glucuronide in liver tissue dy(27) = (CLmet/5*Cltfree2 - CLbile_glu/5*Clt_glufree2 )/(Vlt/5) ; % glucuronide, liver tissue 2 dy(28) = (CLmet/5*Cltfree3 - CLbile_glu/5*Clt_glufree3 )/(Vlt/5) ; % glucuronide, liver tissue 3 dy(29) = (CLmet/5*Cltfree4 - CLbile_glu/5*Clt_glufree4 )/(Vlt/5) ; % glucuronide, liver tissue 4 dy(30) = (CLmet/5*Cltfree5 - CLbile_glu/5*Clt_glufree5 )/(Vlt/5) ; % glucuronide, liver tissue 5 dy(31) = (CLbile_glu * Clt_glufree - Qliverbile * Cliverbile_glu)/Vliverbile ; % glucuronide in liver bile dy(32) = Qliverbile * Cliverbile + Qliverbile * Cliverbile_glu - ka/Fa*Agilumen ; % <> of telmisartan in GI, glucuronide deconjugation is <> dy(33) = (CLad*(Cadec*fup/Rbp -Cadic*fup/Kpad))/Vadic; %/*adipose tissue*/ dy(34) = (CLmu*(Cmuec*fup/Rbp -Cmuic*fup/Kpmu))/Vmuic; %/*muscle tissue*/ dy = dy(:); ¡°Kp_calculation_new.m¡± code function Kp = Kp_calculation_new(LogD,pKa,fup,RBP,FLG_COMPD,FLG_DISP) % Output: % - Kp: tissue to plasma partition coefficient in all tissues (total / total) % Input: % FLG_COMPD: type of compounds % Acid 1: the acid closest to pH 7 % Base 1: the base closest to pH 7 % - 1: monoprotic acid % - 2: monoprotic base % - 3: diprotic acid (Acid 1, Acid 2) % - 4: diprotic base (Base 1, Base 2) % - 5: zwitterion (Acid 1, Base 2) % - 6: 2 base, 1 acid (Acid 1, Base 1, Base 2) % This function does not handle weak base % tissue parameters tissue = {'Adipose','Bone','Brain','Gut','Heart','Kidney','Liver','Lung','Muscle','Pancreas','Skin','Spleen','Thymus'}; f_EW = [0.135 0.1 0.162 0.282 0.3195 0.273 0.161 0.336 0.1175 0.12 0.382 0.207 0.15]; f_TW = [0.1440422 0.417 0.75255614 0.73790128 0.56750564 0.6724431 0.6424853 0.57350564 0.72630972 0.6407596 0.65788018 0.56159004 0.7521266]; f_IW = f_TW - f_EW; f_NL = [0.852979734 0.017365014 0.039125014 0.037451361 0.013517119 0.01209031 0.013494416 0.021483649 0.009958307 0.040269204 0.060261494 0.00711833 0.016839201]; f_NP = [0.001583805 0.001578744 0.001473244 0.012416771 0.010598257 0.024006911 0.023804122 0.012250474 0.007191608 0.008954356 0.004380969 0.010719897 0.009161451]; AP = [0.360801747 0.6404611 0.359795995 2.34123476 2.16932443 4.959859955 4.521654721 3.822805237 1.495248734 1.640841584 1.22106198 3.126625114 2.290141341]; PR_TP = [0.04925 0.1 0.0475 0.15845 0.157375 0.13025 0.08575 0.212 0.06375 0.06 0.277 0.09675 0.075]; % [PR]_T/[PR]_P in derivation, where [PR]_T = [PR]_EW*f_EW % plasma parameters f_NL_P = 0.002325; f_NP_P = 0.00126643; f_TW_P = 0.96; AP_P = 0.056903333; % blood cell parameters f_NL_BC = 0.0016764; f_NP_BC = 0.002906828; f_TW_BC = 0.602; AP_BC = 0.496772; LogP = DPconvert(LogD,7.4,pKa,FLG_COMPD); LogP_vo_w = 1.115*LogP - 1.35; P_vo_w = 10^LogP_vo_w; P_o_w = 10^LogP; pH_IW = 7; % intracellular water pH_BC = 7.22; % blood cell pH_P = 7.4; % plasma if FLG_COMPD == 1 || FLG_COMPD == 2 F_ion_IW = F_ionized_monoprotic(pKa,pH_IW,FLG_COMPD); F_neutral_IW = F_neutral_monoprotic(pKa,pH_IW,FLG_COMPD); F_ion_BC = F_ionized_monoprotic(pKa,pH_BC,FLG_COMPD); F_neutral_BC = F_neutral_monoprotic(pKa,pH_BC,FLG_COMPD); F_neutral_P = F_neutral_monoprotic(pKa,pH_P,FLG_COMPD); elseif FLG_COMPD == 3 || FLG_COMPD == 4 F_ion_IW = F_ionized_diprotic(pKa,pH_IW,FLG_COMPD); F_neutral_IW = F_neutral_diprotic(pKa,pH_IW,FLG_COMPD); F_ion_BC = F_ionized_diprotic(pKa,pH_BC,FLG_COMPD); F_neutral_BC = F_neutral_diprotic(pKa,pH_BC,FLG_COMPD); F_neutral_P = F_neutral_diprotic(pKa,pH_P,FLG_COMPD) ; elseif FLG_COMPD == 5 F_ion_IW = F_ionized_zwitterion(pKa,pH_IW); F_neutral_IW = F_neutral_zwitterion(pKa,pH_IW); F_ion_BC = F_ionized_zwitterion(pKa,pH_BC); F_neutral_BC = F_neutral_zwitterion(pKa,pH_BC); F_neutral_P = F_neutral_zwitterion(pKa,pH_P); elseif FLG_COMPD == 6 F_ion_IW = F_ionized_monoacid_dibase(pKa,pH_IW); F_neutral_IW = F_neutral_monoacid_dibase(pKa,pH_IW); F_ion_BC = F_ionized_monoacid_dibase(pKa,pH_BC); F_neutral_BC = F_neutral_monoacid_dibase(pKa,pH_BC); F_neutral_P = F_neutral_monoacid_dibase(pKa,pH_P); end if FLG_COMPD == 1 || FLG_COMPD == 3 % Acid Ka = ( (1./fup) - f_TW_P - (P_o_w*f_NL_P + (0.3*P_o_w+0.7)*f_NP_P).* F_neutral_P ) .* (PR_TP); Ka = Ka.*(Ka > 0); % Ka: Ka * PR_EW in derivation % PR_TP: PR_T/PR_P in derivation, where PR_T = PR_EW*f_EW Kpu = f_EW + Ka +... F_neutral_P ./ F_neutral_IW .* f_IW + ... P_o_w .* F_neutral_P .* f_NL +... (0.3*P_o_w+0.7) .* F_neutral_P .* f_NP; % adipose Kpu(1) = f_EW(1) + Ka(1) +... F_neutral_P ./ F_neutral_IW .* f_IW(1) + ... P_vo_w .* F_neutral_P .* f_NL(1) +... (0.3*P_vo_w+0.7) .* F_neutral_P .* f_NP(1); elseif FLG_COMPD == 2 || FLG_COMPD == 4 % Strong base BCA = (0.46 - 1 + RBP)/(0.46 * fup); % blood cell affinity BCA = BCA*(BCA>0); Ka = (BCA - f_TW_BC*F_neutral_P/F_neutral_BC - ... ( (P_o_w*f_NL_BC) + (0.3*P_o_w+0.7)*f_NP_BC) * F_neutral_P).*... 1./(AP_BC.*sum(F_ion_BC)/F_neutral_BC)./F_neutral_P; Kpu = f_EW + Ka.*AP.* sum(F_ion_IW) * F_neutral_P / F_neutral_IW +... F_neutral_P ./ F_neutral_IW .* f_IW + ... P_o_w .* F_neutral_P .* f_NL +... (0.3*P_o_w+0.7) .* F_neutral_P .* f_NP; % adipose Kpu(1) = f_EW(1) + Ka(1).*AP(1).* sum(F_ion_IW) * F_neutral_P / F_neutral_IW +... F_neutral_P ./ F_neutral_IW .* f_IW(1) + ... P_vo_w .* F_neutral_P .* f_NL(1) +... (0.3*P_vo_w+0.7) .* F_neutral_P .* f_NP(1); elseif FLG_COMPD == 5 || FLG_COMPD == 6 if sum(pKa >= 7) ~= 0 % Zwitteron with basic pKa > 7 and acidic pKa < 7 BCA = (0.46 - 1 + RBP)/(0.46 * fup); % blood cell affinity BCA = BCA*(BCA>0); Ka = (BCA - f_TW_BC*F_neutral_P/F_neutral_BC - ... ( (P_o_w*f_NL_BC) + (0.3*P_o_w+0.7)*f_NP_BC) * F_neutral_P).*... 1./(AP_BC.*sum(F_ion_BC)/F_neutral_BC)./F_neutral_P; Kpu = f_EW + Ka.*AP.* sum(F_ion_IW) * F_neutral_P / F_neutral_IW +... F_neutral_P ./ F_neutral_IW .* f_IW + ... P_o_w .* F_neutral_P .* f_NL +... (0.3*P_o_w+0.7) .* F_neutral_P .* f_NP; %adipose Kpu(1) = f_EW(1) + Ka(1).*AP(1).* sum(F_ion_IW) * F_neutral_P / F_neutral_IW +... F_neutral_P ./ F_neutral_IW .* f_IW(1) + ... P_vo_w .* F_neutral_P .* f_NL(1) +... (0.3*P_vo_w+0.7) .* F_neutral_P .* f_NP(1); elseif sum(pKa >= 7) == 0 % Zwitteron with basic pKa < 7 Ka = ( (1./fup) - f_TW_P - (P_o_w*f_NL_P + (0.3*P_o_w+0.7)*f_NP_P).* F_neutral_P ) .* (PR_TP); Ka = Ka.*(Ka > 0); % Ka: Ka * PR_EW in derivation % PR_TP: PR_T/PR_P in derivation, where PR_T = PR_EW*f_EW Kpu = f_EW + Ka +... F_neutral_P ./ F_neutral_IW .* f_IW + ... P_o_w .* F_neutral_P .* f_NL +... (0.3*P_o_w+0.7) .* F_neutral_P .* f_NP; % adipose Kpu(1) = f_EW(1) + Ka(1) +... F_neutral_P ./ F_neutral_IW .* f_IW(1) + ... P_vo_w .* F_neutral_P .* f_NL(1) +... (0.3*P_vo_w+0.7) .* F_neutral_P .* f_NP(1); end end Kp = Kpu*fup; % % display results if FLG_DISP == 1 for i = 1:length(Kp) disp([tissue{i},'=',num2str(Kp(i),3)]) end end function Fn = F_neutral_monoprotic(pKa,pH,flag) if flag == 1 % Monoprotic acid Fn = 1/(1+10^(pH-pKa)); elseif flag == 2 % Monoprotic base Fn = 1/(1+10^(pKa-pH)); end function Fi = F_ionized_monoprotic(pKa,pH,flag) if flag == 1 % Monoprotic acid Fi = 1/(1+10^(pKa-pH)); elseif flag == 2 % Monoprotic base Fi = 1/(1+10^(pH-pKa)); end function Fn = F_neutral_diprotic(pKa,pH,flag) if flag == 3 % Diprotic acid Fn = 1 / ( 1 + 10^(pH-pKa(1)) + 10^(2*pH-pKa(1)-pKa(2)) ); elseif flag == 4 % diprotic base Fn = 1 / ( 1 + 10^(pKa(1)-pH) + 10^(pKa(1)+pKa(2)-2*pH) ); end function Fi = F_ionized_diprotic(pKa,pH,flag) if flag == 3 % Diprotic acid Fi(1) = 1 / ( 1 + 10^(pKa(1)-pH) + 10^(pH-pKa(2)) ); % pi(1), pKa(1), z = -1 Fi(2) = 1 / ( 1 + 10^(pKa(2)-pH) + 10^(pKa(1)+pKa(2)-2*pH) ); % pi(2), pKa(2), z = -2 elseif flag == 4 % diprotic base Fi(1) = 1 / ( 1 + 10^(pH-pKa(1)) + 10^(pKa(2)-pH) ); % pi(1), pKa(1), z = +1 Fi(2) = 1 / ( 1 + 10^(pH-pKa(2)) + 10^(2*pH-pKa(1)-pKa(2)) ); % pi(2), pKa(2), z = +2 end function Fn = F_neutral_zwitterion(pKa,pH) Fn1 = 1 / ( 1 + 10^(pH-pKa(1)) + 10^(pKa(2)-pH) + 10^(pKa(2)-pKa(1)) ); % HAB Fn2 = 1 / ( 1 + 10^(pKa(1)-pH) + 10^(pH-pKa(2)) + 10^(pKa(1)-pKa(2)) ); % A(-1)BH(+1) Fn = Fn1 + Fn2; function Fi = F_ionized_zwitterion(pKa,pH) Fi(1) = 1 / ( 1 + 10^(pKa(1)-pH) + 10^(pKa(2)-pH) + 10^(pKa(1)+pKa(2)-2*pH) ); % A(-1)B Fi(2) = 1 / ( 1 + 10^(pH-pKa(1)) + 10^(pH-pKa(2)) + 10^(2*pH-pKa(1)-pKa(2)) ); % HABH(+1) function Fn = F_neutral_monoacid_dibase(pKa,pH) % pKa(1): acid % pKa(2): base 1, weak, z = +1 % pKa(3): base 2, strong, z = +2 Fn1 = 1/( 1 + 10^(pH-pKa(1)) + 10^(pKa(3)-pH) + 10^(pKa(3)-pKa(1)) + 10^(pKa(3)+pKa(2)-2*pH) + 10^(pKa(2)+pKa(3)-pKa(1)-pH)); % HAB2 Fn2 = 1/( 10^(pKa(1)-pKa(3)) + 10^(pH-pKa(3)) + 10^(pKa(1)-pH) + 1 + 10^(pKa(1)+pKa(2)-2*pH) + 10^(pKa(2)-pH)) ; % A(-)B2H(+) Fn = Fn1 + Fn2; function Fi = F_ionized_monoacid_dibase(pKa,pH) % pKa(1): acid % pKa(2): base 1, weak, z = +1 % pKa(3): base 2, strong, z = +2 Fi(1) = 1/( 10^(pKa(1)-pH) + 1 + 10^(pKa(1)+pKa(3)-2*pH) + 10^(pKa(3)-pH) + 10^(pKa(1)+pKa(2)+pKa(3)-3*pH) + 10^(pKa(2)+pKa(3)-2*pH)); % A(-1)B2 Fi(2) = 1/( 10^(pH-pKa(3)) + 10^(2*pH-pKa(1)-pKa(3)) + 1 + 10^(pH-pKa(1)) + 10^(pKa(2)-pH) +10^(pKa(2)-pKa(1))); % HAB2H(+1) Fi(3) = 1/( 10^(2*pH-pKa(3)-pKa(2)) + 10^(3*pH-pKa(1)-pKa(2)-pKa(3)) + 10^(pH-pKa(2)) + 10^(2*pH-pKa(1)-pKa(2)) + 1 + 10^(pH-pKa(1))); % HAB2H2(+2) Fi(4) = 1/( 10^(pH+pKa(1)-pKa(2)-pKa(3)) + 10^(2*pH-pKa(3)-pKa(2)) + 10^(pKa(1)-pKa(2)) + 10^(pH-pKa(2)) + 10^(pKa(1)-pH) +1); % A(-1)B2H2(+2) function logP = DPconvert(logD,pH,pKa,FLG_COMPD) % R: ratio between inonized and neutral compounds in Aqueous phase if FLG_COMPD == 1 || FLG_COMPD == 2 % monoacid or monobase F_ion = F_ionized_monoprotic(pKa,pH,FLG_COMPD); F_neutral = F_neutral_monoprotic(pKa,pH,FLG_COMPD); R = F_ion/F_neutral; elseif FLG_COMPD == 3 || FLG_COMPD == 4 % diacid or dibase F_ion = F_ionized_diprotic(pKa,pH,FLG_COMPD); F_neutral = F_neutral_diprotic(pKa,pH,FLG_COMPD); R = (F_ion(1)+F_ion(2))/F_neutral; elseif FLG_COMPD == 5 F_ion = F_ionized_zwitterion(pKa,pH); F_neutral = F_neutral_zwitterion(pKa,pH); R = sum(F_ion)/F_neutral; elseif FLG_COMPD == 6 F_ion = F_ionized_monoacid_dibase(pKa,pH); F_neutral = F_neutral_monoacid_dibase(pKa,pH); R = sum(F_ion)/F_neutral; end logP = logD + log10(1 + R); Code for bosentan simulation Method 1 ¡°pbpk_bosentan_CP.m¡± function [time, C_plasma] = pbpk_bosentan_CP(CP,Flg_dose,Dose,InfusionT,EndT) % Disease status specific parameters if CP == 0 % Healthy % {In vitro binding data} fup = 0.0053;% fraction unbound in plasma Rbp = 0.58 ;%blood to plasma ratio fuli = 0.018 ;%fraction unbound in liver % renal CL CLrenal = 0; % plasma clearance (L/h) % blood CO = 108.33 ; % cardiac output (ml/s) % {Tissue fractional blood flows and CO -> Pfizer} FQgu = 0.146462 ; % gut fractional blood flow FQsp = 0.017231 ; % spleen fractional blood flow FQha = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow (venous side) FQki = 0.19 ; % kidney fractional blood flow FQad = 0.05 ; % adipose fractional blood flow FQbo = 0.05 ; % bone fractional blood flow FQbr = 0.12 ; % brain fractional blood flow FQhe = 0.04 ; % heart fractional blood flow FQmu = 0.17 ; % muscle fractional blood flow FQsk = 0.05 ; % skin fractional blood flow FQte = 0.01076 ; % testes fractional blood flow FQre = 0.103855 ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % hepatic clearances CLactive = 4.43e+03 ; % active uptake IVIVE scaling factor CLpassive = 10.67 ; % passive uptake IVIVE scaling factor CLmet = 11.36 ; % metabolism scaling factor CLbile = 1.5 ; % biliary efflux IVIVE scaling factor elseif CP == 1 % CPA % {In vitro binding data} fup_healthy = 0.0053;% fraction unbound in plasma R_albumin_mean = 0.84; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.15; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.38; HCT_std = 0.05; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 1 - HCT; % drug does not penatrate red cell fuli = 0.018 ;%fraction unbound in liver % renal CL CLrenal = 0; % CLint renal (L/hr) % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.1; % ratio between diseased and healthy conditions R_CO_std = 0.39; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.72; % ratio between diseased and healthy conditions R_FQgu_std = 0.57; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % if not devided by R_CO, the portal vein will be furture corrected by R_CO when calculating blood flow. In other words, R_FQgu is used to correct Qgut, once Qgut is corrected by R_FQgu, it should not be corrected by R_CO again FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.20; % ratio between diseased and healthy conditions R_FQsp_std = 0.29; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 1.5; % ratio between diseased and healthy conditions R_FQha_std = 1.1; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.88 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; %pause end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.91; % ratio between diseased and healthy conditions R_LiverSize_std = 0.26; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end random_number = rand(1,3); Fraction_uptake = random_number/sum(random_number); Fraction_uptake(4) = 0; R_active = R_OATP1B1*Fraction_uptake(1) + R_OATP1B3*Fraction_uptake(2) + R_OATP2B1*Fraction_uptake(3) + R_NTCP*Fraction_uptake(4); CLactive_healthy = 4.43e+03 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 10.67 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % Dingemanse, bosentan clin pharmacology review, HLM study: 2C9 40%, 3A4 60%; Fraction_2C9 = 0.4; Fraction_3A4 = 0.6; % ratio from Johnson et al 2010 R_2C9 = 50.4/73; R_3A4 = 80.8/137; R_met = R_2C9*Fraction_2C9 + R_3A4*Fraction_3A4; CLmet_healthy = 11.36 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 1.5 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 2 % CPB % {In vitro binding data} fup_healthy = 0.0053;% fraction unbound in plasma R_albumin_mean = 0.69; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.15; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.34; HCT_std = 0.057; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 1 - HCT; fuli = 0.018 ;%fraction unbound in liver % renal CL CLrenal = 0; % CLint renal (L/hr) % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.2; % ratio between diseased and healthy conditions R_CO_std = 0.34; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.60; % ratio between diseased and healthy conditions R_FQgu_std = 0.61; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.5; % ratio between diseased and healthy conditions R_FQsp_std = 0.52; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 1.7; % ratio between diseased and healthy conditions R_FQha_std = 1.5; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.65 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.81; % ratio between diseased and healthy conditions R_LiverSize_std = 0.26; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end random_number = rand(1,3); Fraction_uptake = random_number/sum(random_number); Fraction_uptake(4) = 0; R_active = R_OATP1B1*Fraction_uptake(1) + R_OATP1B3*Fraction_uptake(2) + R_OATP2B1*Fraction_uptake(3) + R_NTCP*Fraction_uptake(4); CLactive_healthy = 4.43e+03 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 10.67 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % Dingemanse, bosentan clin pharmacology review, HLM study: 2C9 40%, 3A4 60%; Fraction_2C9 = 0.4; Fraction_3A4 = 0.6; % ratio from Johnson et al 2010 R_2C9 = 38.0/73; R_3A4 = 53.2/137; R_met = R_2C9*Fraction_2C9 + R_3A4*Fraction_3A4; CLmet_healthy = 11.36 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 1.5 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 3 % CPC % {In vitro binding data} fup_healthy = 0.0053;% fraction unbound in plasma R_albumin_mean = 0.53; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.150; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.34; HCT_std = 0.055; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 1 - HCT; fuli = 0.018 ;%fraction unbound in liver % renal CL CLrenal = 0; % CLint renal (L/hr) % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.3; % ratio between diseased and healthy conditions R_CO_std = 0.30; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.13; % ratio between diseased and healthy conditions R_FQgu_std = 0.57; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1) ; while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.5; % ratio between diseased and healthy conditions R_FQsp_std = 0.54; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 2.1; % ratio between diseased and healthy conditions R_FQha_std = 1.9; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.48 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; end FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.64; % ratio between diseased and healthy conditions R_LiverSize_std = 0.22; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end random_number = rand(1,3); Fraction_uptake = random_number/sum(random_number); Fraction_uptake(4) = 0; R_active = R_OATP1B1*Fraction_uptake(1) + R_OATP1B3*Fraction_uptake(2) + R_OATP2B1*Fraction_uptake(3) + R_NTCP*Fraction_uptake(4); CLactive_healthy = 4.43e+03 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 10.67 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % Dingemanse, bosentan clin pharmacology review, HLM study: 2C9 40%, 3A4 60%; Fraction_2C9 = 0.4; Fraction_3A4 = 0.6; % ratio from Johnson et al 2010 R_2C9 = 24.1/73; R_3A4 = 34.2/137; R_met = R_2C9*Fraction_2C9 + R_3A4*Fraction_3A4; CLmet_healthy = 11.36 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 1.5 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level end % SPECIES SPECIFIC PARAMETERS % Fractional Tissue volumes and BW FVadec = 0.0415 ; % Fractional Volume adipose, blood FVadic = 0.1715 ; % Tissue FVbo = 0.085629 ; % Fractional Volume bone FVbr = 0.02 ; % Fractional Volume brain FVgu = 0.0171 ; % Fractional Volume gut FVhe = 0.0047 ; % Fractional Volume heart FVki = 0.0044 ; % Fractional Volume kidney FVlu = 0.0076 ; % Fractional Volume lung FVmuec = 0.07 ; % Fractional Volume muscle tissue FVmuic = 0.33 ;% Fractional Volume muscle blood FVsk = 0.0371 ; % Fractional Volume skin FVsp = 0.0026 ; % Fractional Volume spleen FVte = 0.01 ; % Fractional Volume testes FVve = 0.0514 ; % Fractional Volume venous FVar = 0.0257 ; % Fractional Volume arterial FVre = 0.099771 ; % Fractional Volume rest of body FVlb = 0.004568 ; % Fractional Volume liver blood (Watanabe et al 2009) FVlt = 0.016432 ; % Fractional Volume liver tissue (Watanabe et al 2009) % Tissue volumes and BW BW = 70 ; % BW (kg) Vadec = BW*FVadec ; % Volume adipose blood (L) Vadic = BW*FVadic ; % Volume adipose Tissue (L) Vbo = BW*FVbo ; % Volume bone (L) Vbr = BW*FVbr ; % Volume brain (L) Vgu = BW*FVgu ; % Volume gut (L) Vhe = BW*FVhe ; % Volume heart (L) Vki = BW*FVki ; % Volume kidney (L) Vlb = BW*FVlb ; % Volume liver blood (L) Vlt = BW*FVlt ; % Volume liver tissue (L) Vlu = BW*FVlu ; % Volume lung (L) Vmuec = BW*FVmuec ; % Volume muscle (L), blood Vmuic = BW*FVmuic ; % Volume muscle (L), tissue Vsk = BW*FVsk ; % Volume skin (L) Vsp = BW*FVsp ; % Volume spleen (L) Vte = BW*FVte ; % Volume testes (L) Vve = BW*FVve ; % Volume venous (L) Var = BW*FVar ; % Volume arterial blood (L) Vre = BW*FVre ; % Volume rest of body (L) Vliverbile = 0.318/100 * (Vlt+Vlb) ; %Volume of bile duct in liver (L) % {Tissue blood flows (L/h)-> Pfizer} QC = CO/1000*60*60 ; % total blood flow (L/hr) Qad = QC*FQad ; % adipose blood flow (L/hr) Qbo = QC*FQbo ; % bone blood flow (L/hr) Qbr = QC*FQbr ; % brain blood flow (L/hr) Qgu = QC*FQgu ; % gut blood flow (L/hr) Qhe = QC*FQhe ; % heart blood flow (L/hr) Qki = QC*FQki ; % kidney blood flow (L/hr) Qsp = QC*FQsp ; % spleen blood flow (L/hr) Qha = QC*FQha ; % blood flow hepatic artery (L/hr) Qlu = QC*FQlu ; % lung blood flow (L/hr) Qmu = QC*FQmu ; % muscle blood flow (L/hr) Qsk = QC*FQsk ; % skin blood flow (L/hr) Qte = QC*FQte ; % testes blood flow (L/hr) Qre = QC*FQre ; % remaining tissue blood flow (L/hr) Qh = Qha + Qgu + Qsp ; % hepatic blood flow (venous side) (L/hr) % Liver bile flow %Qliverbile = 0.43/1000*60; % liver bile flow (L/hr), Boyer and Bloomer 1974 %Qliverbile = 350/1000/24 ; % liver bile flow (L/hr), Davies and Morris 1993 %Qliverbile = 1/24; % liver bile flow (L/hr), Insights in Physiology by Sudha Vinayak Khanorkar Qliverbile = 0; % ;###################################################################################### % COMPOUND SPECIFIC PARAMETERS % {Tissue plasma-partition coefficients} logD = 1.3 ; % Jones, et al. pKa = 5.2; % Jones et al, FLG_COMPD = 1; % monoprotic acid FLG_DISP = 0; % Do NOT display Kp values Kp = Kp_calculation_new(logD,pKa,fup,Rbp,FLG_COMPD,FLG_DISP); Kpad = Kp(1) ;%adipose Kpbo = Kp(2) ;%bone Kpbr = Kp(3) ;%brain Kpgu = Kp(4) ;%gut Kphe = Kp(5) ;%heart Kpki = Kp(6) ;%kidney Kplu = Kp(8) ;%lung Kpmu = Kp(9) ;%muscle Kpsk = Kp(11) ;%skin Kpsp = Kp(12) ;%spleen Kpte = Kp(9) ;%testes Kpre = Kp(9) ;%rest of body % Absorption parameter ka = 4.1e4; % absorption rate F = 0.95; % Fa*Fg Km = 1.6e4; % hepatic efflux CLefflux = 0; % Efflux back to blood (L/hr) % tissue clearance HPPGL = 120; % million cells per g liver CLpassiveHep = CLpassive/(HPPGL*(Vlt+Vlb)*60/1000); % hepatocyte (ul/min/Mcells) unbound passive CL, SA_hepatocyte = 15*15*6*1e-8; % cm^2, hepatocyte 15 um side cubic Papp = CLpassiveHep*60/1000/1e6/SA_hepatocyte; % cm/hour V_musclecell = (1.5/2)^2*pi*50*1e-12; %cm^3, 1.5 um diameter, 50 um length, cylindrical number_musclecell = Vmuic*1000/V_musclecell; % number of muscle cells in muscle SA_musclecell = 1.5*pi*50*1e-8; % cm^2, 1.5 um diameter, 50 um length, cylindrical SAmu = number_musclecell*SA_musclecell ; % cm^2 V_fatcell = 4/3*(100/2)^3*pi*1e-12; %cm^3, fat cell, 100 um diameter number_fatcell = Vadic*1000/V_fatcell; SA_fatcell = 4*pi*(100/2)^2*1e-8; % cm^2, fat cell, 100 um diameter SAad = number_fatcell*SA_fatcell; % cm^2 CLad = Papp * SAad/1000; % L/h CLmu = Papp * SAmu/1000; % L/h % convert renal clearance into unbound renal clearance, assuming well stirred CLrenal_unbound = CLrenal/Rbp / (fup/Rbp* (1-CLrenal/Rbp/Qki) ); % CLint renal (L/hr) p = [Kpad, Kpbo, Kpbr, Kpgu, Kphe, Kpki, Kplu, Kpmu, Kpsk, Kpsp, Kpte, Kpre,... fup, Rbp, fuli, CLmet, CLpassive, CLactive, CLbile, CLrenal_unbound, CLefflux,... Vadec, Vbo, Vbr, Vgu, Vhe, Vki, Vlb, Vlt, Vlu, Vmuec, Vsk, Vsp, Vte, Vve, Var, Vre,... Qad, Qbo, Qbr, Qgu, Qhe, Qki, Qh, Qsp, Qha, Qlu, Qmu, Qsk, Qte, Qre,... ka, F, Qliverbile, Vliverbile, Vadic, Vmuic, CLad, CLmu, Km ]; % Dosing t0 = 0; % starting time y0 = zeros(1, 29); if Flg_dose == 1 IVRate1 = Dose/InfusionT; % ug/h IVRate2 = 0; % during infuion u1 = IVRate1; [t1, y1] = pbpk_MM_absorp_matlab( linspace(t0,InfusionT,25), y0, p, u1, [1e-3,1e-6,10] ); % after infusion u2 = IVRate2; [t2, y2] = pbpk_MM_absorp_matlab( linspace(0,EndT-InfusionT,450), y1(:,end), p, u2, [1e-3,1e-6,10] ); C_plasma = [y1(1,:) y2(1,2:end)]/Rbp; time = [t1 t2(2:end)+InfusionT]; elseif Flg_dose == 2 y0(26) = Dose; IVRate1 = 0; % after oral dosing u1 = IVRate1; [t1, y1] = pbpk_MM_absorp_matlab( linspace(t0,EndT,500), y0, p, u1, [1e-3,1e-6,10] ); C_plasma = y1(1,:) /Rbp; time = t1 ; end ¡°run_bosentan_CP.m¡± function run_bosentan_CP subplot(3,2,1) % iv data (ug/L) % Valsarta 160 mg oral dosing, CPA oral_time_bosentan = [0.51 1.01 1.52 2.53 3.02 4.03 5.01 6.04 8.02 10.01 12.02]; % CPA oral_obs_bosentan_CPA =[459.03 1050.83 1627.47 1801.97 1714.72 1426.40 667.68 284.52 208.65 121.40 68.29]; % CPH oral_obs_bosentan_CPH = [667.68 1035.66 1657.81 1589.53 1657.81 1593.32 1517.45 474.20 269.35 163.13 102.43] ; % Simulation Flg_dose = 2; Dose = 125000; % ug InfusionT = 0; % no infusion EndT = oral_time_bosentan(end); number_simulation = 1000; C_plasma_CPA = zeros(500,number_simulation); ke_terminal = zeros(1,number_simulation); AUC = zeros(1,number_simulation); AUC_inf = zeros(1,number_simulation); Plasma_CL = zeros(1,number_simulation); AUMC = zeros(1,number_simulation); AUMC_inf = zeros(1,number_simulation); MRT = zeros(1,number_simulation); Vdss = zeros(1,number_simulation); Cmax = zeros(1,number_simulation); Tmax = zeros(1,number_simulation); for i = 1:number_simulation CP = 1; % CPA [time_CPA, C_plasma_CPA(:,i)] = pbpk_bosentan_CP(CP,Flg_dose,Dose,InfusionT,EndT); time_CPA = transpose(time_CPA); terminal_time = time_CPA(end-14:end)-time_CPA(end-14); terminal_C_plasma = C_plasma_CPA(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal(i) = -curve_fit(1); AUC(i) = trapz(time_CPA,C_plasma_CPA(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPA(end,i)/ke_terminal(i); Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPA,C_plasma_CPA(:,i).*time_CPA); AUMC_inf(i) = AUMC(i) + C_plasma_CPA(end,i)*time_CPA(end)/ke_terminal(i) + C_plasma_CPA(end,i)/ke_terminal(i)^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPA(:,i)); Tmax(i) = time_CPA(ind); end index = find(ke_terminal<=0); AUC(index) = []; AUC_inf(index) = []; Plasma_CL(index) = []; Vdss(index) = []; Cmax(index) = []; Tmax(index) = []; C_plasma_CPA(:,index) = []; C_plasma_CPA_average = zeros(500,1); C_plasma_CPA_UB = zeros(500,1); C_plasma_CPA_LB = zeros(500,1); for i = 1:500 C_plasma_CPA_average(i) = mean(C_plasma_CPA(i,:)); C_plasma_CPA_UB(i) = prctile(C_plasma_CPA(i,:),97.5); C_plasma_CPA_LB(i) = prctile(C_plasma_CPA(i,:),2.5); end display('================================================================') display('Liver Cirrhosis CP-A') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(geomean(AUC)) ' || 95% Prediction interval [ ' num2str(prctile(AUC,[2.5,97.5])) ' ] ng*hour/mL']) display(['AUC 0-inf = ' num2str(geomean(AUC_inf)) ' || 95% Prediction interval [ ' num2str(prctile(AUC_inf,[2.5,97.5])) ' ] ng*hour/mL']) display(['Plasma CL = ' num2str(geomean(Plasma_CL)) ' || 95% Prediction interval [ ' num2str(prctile(Plasma_CL,[2.5,97.5])) ' ] L/hour']) display(['Vdss = ' num2str(geomean(Vdss)) ' || 95% Prediction interval [ ' num2str(prctile(Vdss,[2.5,97.5])) ' ] L']) display(['Cmax = ' num2str(geomean(Cmax)) ' || 95% Prediction interval [ ' num2str(prctile(Cmax,[2.5,97.5])) ' ] ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' || range: [ ' num2str([min(Tmax) max(Tmax)]) ' ] ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(ke_terminal<=0))) ' of them lead to terminal elimination rate negative or zero, and are rejected' ]) display('================================================================') CP = 0; % CPH [time_CPH, C_plasma_CPH] = pbpk_bosentan_CP(CP,Flg_dose,Dose,InfusionT,EndT); terminal_time = time_CPH(end-14:end)-time_CPH(end-14); terminal_C_plasma = C_plasma_CPH(end-14:end); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC = trapz(time_CPH,C_plasma_CPH); AUC_inf = AUC + C_plasma_CPH(end)/ke_terminal; Plasma_CL = Dose/AUC_inf; AUMC = trapz(time_CPH,C_plasma_CPH.*time_CPH); AUMC_inf = AUMC + C_plasma_CPH(end)*time_CPH(end)/ke_terminal + C_plasma_CPH(end)/ke_terminal^2; MRT = AUMC_inf / AUC_inf; Vdss = MRT*Plasma_CL; [Cmax,ind] = max(C_plasma_CPH); Tmax = time_CPH(ind); display('================================================================') display('Healthy') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(AUC) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(AUC_inf) ' ng*hour/mL']) display(['Plasma CL = ' num2str(Plasma_CL) ' L/hour']) display(['Vdss = ' num2str(Vdss) ' L']) display(['Cmax = ' num2str(Cmax) ' ng/mL']) display(['Tmax = ' num2str(Tmax) ' ng/mL']) display('================================================================') hold on plot(oral_time_bosentan,oral_obs_bosentan_CPA,'ro',time_CPA,C_plasma_CPA_average,'r', ... time_CPA,C_plasma_CPA_LB,'r--',time_CPA,C_plasma_CPA_UB,'r--',... oral_time_bosentan,oral_obs_bosentan_CPH,'bsq',time_CPH,C_plasma_CPH,'b') hold off title({'(A) Bosentan';'125 mg oral dosing'},'FontSize',10) ylabel('Concentration (ng/mL)','FontSize',10) xlabel('Time (hours)','FontSize',10) xlim([0,oral_time_bosentan(end)]) C_plasma_CPA_average(1) = []; C_plasma_CPH(1) = []; miny1 = min([C_plasma_CPA_average; oral_obs_bosentan_CPA']); miny2 = min([C_plasma_CPH oral_obs_bosentan_CPH]); maxy1 = max([C_plasma_CPA_average; oral_obs_bosentan_CPA']); maxy2 = max([C_plasma_CPH oral_obs_bosentan_CPH]); miny = min([miny1,miny2]); maxy = max([maxy1,maxy2]); ylim(10.^[floor(log10(miny)),ceil(log10(maxy))]) set(gca,'YTick',10.^(floor(log10(miny)):ceil(log10(maxy))),'YScale','log') Code for bosentan simulation Method 2 ¡°pbpk_bosentan_CP.m¡± function [time, C_plasma] = pbpk_bosentan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi) % Disease status specific parameters if CP == 0 % Healthy % {In vitro binding data} fup = 0.0053;% fraction unbound in plasma Rbp = 0.58 ;%blood to plasma ratio fuli = 0.018 ;%fraction unbound in liver % renal CL CLrenal = 0; % plasma clearance (L/h) % blood CO = 108.33 ; % cardiac output (ml/s) % {Tissue fractional blood flows and CO -> Pfizer} FQgu = 0.146462 ; % gut fractional blood flow FQsp = 0.017231 ; % spleen fractional blood flow FQha = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow (venous side) FQki = 0.19 ; % kidney fractional blood flow FQad = 0.05 ; % adipose fractional blood flow FQbo = 0.05 ; % bone fractional blood flow FQbr = 0.12 ; % brain fractional blood flow FQhe = 0.04 ; % heart fractional blood flow FQmu = 0.17 ; % muscle fractional blood flow FQsk = 0.05 ; % skin fractional blood flow FQte = 0.01076 ; % testes fractional blood flow FQre = 0.103855 ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % hepatic clearances CLactive = 4.43e+03 ; % active uptake IVIVE scaling factor CLpassive = 10.67 ; % passive uptake IVIVE scaling factor CLmet = 11.36 ; % metabolism scaling factor CLbile = 1.5 ; % biliary efflux IVIVE scaling factor elseif CP == 1 % CPA % {In vitro binding data} fup_healthy = 0.0053;% fraction unbound in plasma R_albumin = 0.84; % Mean, albumin ratio between disease and healthy individuals fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT = 0.38; Rbp = 1 - HCT; % drug does not penatrate red cell fuli = 0.018 ;%fraction unbound in liver % renal CL CLrenal = 0; % CLint renal (L/hr) % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO = 1.1; % ratio between diseased and healthy conditions CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu = 0.72; % ratio between diseased and healthy conditions FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp = 1.20; % ratio between diseased and healthy conditions FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha = 1.49; % ratio between diseased and healthy conditions FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.88 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize = 0.91; % ratio between diseased and healthy conditions % hepatic clearance % Active uptake Fraction_1 = phi(1); Fraction_2 = (1-Fraction_1)*phi(2); Fraction_3 = 1 - Fraction_1 - Fraction_2; R_transporter_1 = phi(3); R_transporter_2 = phi(4); R_transporter_3 = phi(5); R_active = R_transporter_1 * Fraction_1 + R_transporter_2 * Fraction_2 + R_transporter_3 * Fraction_3; CLactive_healthy = 4.43e+03 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 10.67 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % Dingemanse, bosentan clin pharmacology review, HLM study: 2C9 40%, 3A4 60%; Fraction_2C9 = 0.4; Fraction_3A4 = 0.6; % ratio from Johnson et al 2010 R_2C9 = 50.4/73; R_3A4 = 80.8/137; R_met = R_2C9*Fraction_2C9 + R_3A4*Fraction_3A4; CLmet_healthy = 11.36 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_efflux = phi(6); CLbile_healthy = 1.5 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level end % SPECIES SPECIFIC PARAMETERS % Fractional Tissue volumes and BW FVadec = 0.0415 ; % Fractional Volume adipose, blood FVadic = 0.1715 ; % Tissue FVbo = 0.085629 ; % Fractional Volume bone FVbr = 0.02 ; % Fractional Volume brain FVgu = 0.0171 ; % Fractional Volume gut FVhe = 0.0047 ; % Fractional Volume heart FVki = 0.0044 ; % Fractional Volume kidney FVlu = 0.0076 ; % Fractional Volume lung FVmuec = 0.07 ; % Fractional Volume muscle tissue FVmuic = 0.33 ;% Fractional Volume muscle blood FVsk = 0.0371 ; % Fractional Volume skin FVsp = 0.0026 ; % Fractional Volume spleen FVte = 0.01 ; % Fractional Volume testes FVve = 0.0514 ; % Fractional Volume venous FVar = 0.0257 ; % Fractional Volume arterial FVre = 0.099771 ; % Fractional Volume rest of body FVlb = 0.004568 ; % Fractional Volume liver blood (Watanabe et al 2009) FVlt = 0.016432 ; % Fractional Volume liver tissue (Watanabe et al 2009) % Tissue volumes and BW BW = 70 ; % BW (kg) Vadec = BW*FVadec ; % Volume adipose blood (L) Vadic = BW*FVadic ; % Volume adipose Tissue (L) Vbo = BW*FVbo ; % Volume bone (L) Vbr = BW*FVbr ; % Volume brain (L) Vgu = BW*FVgu ; % Volume gut (L) Vhe = BW*FVhe ; % Volume heart (L) Vki = BW*FVki ; % Volume kidney (L) Vlb = BW*FVlb ; % Volume liver blood (L) Vlt = BW*FVlt ; % Volume liver tissue (L) Vlu = BW*FVlu ; % Volume lung (L) Vmuec = BW*FVmuec ; % Volume muscle (L), blood Vmuic = BW*FVmuic ; % Volume muscle (L), tissue Vsk = BW*FVsk ; % Volume skin (L) Vsp = BW*FVsp ; % Volume spleen (L) Vte = BW*FVte ; % Volume testes (L) Vve = BW*FVve ; % Volume venous (L) Var = BW*FVar ; % Volume arterial blood (L) Vre = BW*FVre ; % Volume rest of body (L) Vliverbile = 0.318/100 * (Vlt+Vlb) ; %Volume of bile duct in liver (L) % {Tissue blood flows (L/h)-> Pfizer} QC = CO/1000*60*60 ; % total blood flow (L/hr) Qad = QC*FQad ; % adipose blood flow (L/hr) Qbo = QC*FQbo ; % bone blood flow (L/hr) Qbr = QC*FQbr ; % brain blood flow (L/hr) Qgu = QC*FQgu ; % gut blood flow (L/hr) Qhe = QC*FQhe ; % heart blood flow (L/hr) Qki = QC*FQki ; % kidney blood flow (L/hr) Qsp = QC*FQsp ; % spleen blood flow (L/hr) Qha = QC*FQha ; % blood flow hepatic artery (L/hr) Qlu = QC*FQlu ; % lung blood flow (L/hr) Qmu = QC*FQmu ; % muscle blood flow (L/hr) Qsk = QC*FQsk ; % skin blood flow (L/hr) Qte = QC*FQte ; % testes blood flow (L/hr) Qre = QC*FQre ; % remaining tissue blood flow (L/hr) Qh = Qha + Qgu + Qsp ; % hepatic blood flow (venous side) (L/hr) % Liver bile flow %Qliverbile = 0.43/1000*60; % liver bile flow (L/hr), Boyer and Bloomer 1974 %Qliverbile = 350/1000/24 ; % liver bile flow (L/hr), Davies and Morris 1993 %Qliverbile = 1/24; % liver bile flow (L/hr), Insights in Physiology by Sudha Vinayak Khanorkar Qliverbile = 0; % ;###################################################################################### % COMPOUND SPECIFIC PARAMETERS % {Tissue plasma-partition coefficients} logD = 1.3 ; % Jones, et al. pKa = 5.2; % Jones et al, FLG_COMPD = 1; % monoprotic acid FLG_DISP = 0; % Do NOT display Kp values Kp = Kp_calculation_new(logD,pKa,fup,Rbp,FLG_COMPD,FLG_DISP); Kpad = Kp(1) ;%adipose Kpbo = Kp(2) ;%bone Kpbr = Kp(3) ;%brain Kpgu = Kp(4) ;%gut Kphe = Kp(5) ;%heart Kpki = Kp(6) ;%kidney Kplu = Kp(8) ;%lung Kpmu = Kp(9) ;%muscle Kpsk = Kp(11) ;%skin Kpsp = Kp(12) ;%spleen Kpte = Kp(9) ;%testes Kpre = Kp(9) ;%rest of body % Absorption parameter ka = 4.1e4; % absorption rate F = 0.95; % Fa*Fg Km = 1.6e4; % hepatic efflux CLefflux = 0; % Efflux back to blood (L/hr) % tissue clearance HPPGL = 120; % million cells per g liver CLpassiveHep = CLpassive/(HPPGL*(Vlt+Vlb)*60/1000); % hepatocyte (ul/min/Mcells) unbound passive CL, SA_hepatocyte = 15*15*6*1e-8; % cm^2, hepatocyte 15 um side cubic Papp = CLpassiveHep*60/1000/1e6/SA_hepatocyte; % cm/hour V_musclecell = (1.5/2)^2*pi*50*1e-12; %cm^3, 1.5 um diameter, 50 um length, cylindrical number_musclecell = Vmuic*1000/V_musclecell; % number of muscle cells in muscle SA_musclecell = 1.5*pi*50*1e-8; % cm^2, 1.5 um diameter, 50 um length, cylindrical SAmu = number_musclecell*SA_musclecell ; % cm^2 V_fatcell = 4/3*(100/2)^3*pi*1e-12; %cm^3, fat cell, 100 um diameter number_fatcell = Vadic*1000/V_fatcell; SA_fatcell = 4*pi*(100/2)^2*1e-8; % cm^2, fat cell, 100 um diameter SAad = number_fatcell*SA_fatcell; % cm^2 CLad = Papp * SAad/1000; % L/h CLmu = Papp * SAmu/1000; % L/h % convert renal clearance into unbound renal clearance, assuming well stirred CLrenal_unbound = CLrenal/Rbp / (fup/Rbp* (1-CLrenal/Rbp/Qki) ); % CLint renal (L/hr) p = [Kpad, Kpbo, Kpbr, Kpgu, Kphe, Kpki, Kplu, Kpmu, Kpsk, Kpsp, Kpte, Kpre,... fup, Rbp, fuli, CLmet, CLpassive, CLactive, CLbile, CLrenal_unbound, CLefflux,... Vadec, Vbo, Vbr, Vgu, Vhe, Vki, Vlb, Vlt, Vlu, Vmuec, Vsk, Vsp, Vte, Vve, Var, Vre,... Qad, Qbo, Qbr, Qgu, Qhe, Qki, Qh, Qsp, Qha, Qlu, Qmu, Qsk, Qte, Qre,... ka, F, Qliverbile, Vliverbile, Vadic, Vmuic, CLad, CLmu, Km ]; % Dosing t0 = 0; % starting time y0 = zeros(1, 29); if Flg_dose == 1 IVRate1 = Dose/InfusionT; % ug/h IVRate2 = 0; % during infuion u1 = IVRate1; [t1, y1] = pbpk_MM_absorp_matlab( linspace(t0,InfusionT,25), y0, p, u1, [1e-3,1e-6,10] ); % after infusion u2 = IVRate2; [t2, y2] = pbpk_MM_absorp_matlab( linspace(0,EndT-InfusionT,450), y1(:,end), p, u2, [1e-3,1e-6,10] ); C_plasma = [y1(1,:) y2(1,2:end)]/Rbp; time = [t1 t2(2:end)+InfusionT]; elseif Flg_dose == 2 y0(26) = Dose; IVRate1 = 0; % after oral dosing u1 = IVRate1; [t1, y1] = pbpk_MM_absorp_matlab( linspace(t0,EndT,500), y0, p, u1, [1e-3,1e-6,10] ); C_plasma = y1(1,:) /Rbp; time = t1 ; end ¡°run_bosentan_CP.m¡± function SSE = run_bosentan_CP(phi) subplot(3,2,1) % iv data (ug/L) % Valsarta 160 mg oral dosing, CPA oral_time_bosentan = [0.51 1.01 1.52 2.53 3.02 4.03 5.01 6.04 8.02 10.01 12.02]; % CPA oral_obs_bosentan_CPA =[459.03 1050.83 1627.47 1801.97 1714.72 1426.40 667.68 284.52 208.65 121.40 68.29]; % CPH oral_obs_bosentan_CPH = [667.68 1035.66 1657.81 1589.53 1657.81 1593.32 1517.45 474.20 269.35 163.13 102.43] ; % Simulation Flg_dose = 2; Dose = 125000; % ug InfusionT = 0; % no infusion EndT = oral_time_bosentan(end); number_simulation = 1; C_plasma_CPA = zeros(500,number_simulation); AUC = zeros(1,number_simulation); AUC_inf = zeros(1,number_simulation); Plasma_CL = zeros(1,number_simulation); AUMC = zeros(1,number_simulation); AUMC_inf = zeros(1,number_simulation); MRT = zeros(1,number_simulation); Vdss = zeros(1,number_simulation); Cmax = zeros(1,number_simulation); Tmax = zeros(1,number_simulation); for i = 1:number_simulation CP = 1; % CPA [time_CPA, C_plasma_CPA(:,i)] = pbpk_bosentan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); time_CPA = transpose(time_CPA); terminal_time = time_CPA(end-14:end)-time_CPA(end-14); terminal_C_plasma = C_plasma_CPA(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC(i) = trapz(time_CPA,C_plasma_CPA(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPA(end,i)/ke_terminal; Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPA,C_plasma_CPA(:,i).*time_CPA); AUMC_inf(i) = AUMC(i) + C_plasma_CPA(end,i)*time_CPA(end)/ke_terminal + C_plasma_CPA(end,i)/ke_terminal^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPA(:,i)); Tmax(i) = time_CPA(ind); end C_plasma_CPA_average = zeros(500,1); C_plasma_CPA_UB = zeros(500,1); C_plasma_CPA_LB = zeros(500,1); for i = 1:500 C_plasma_CPA_average(i) = mean(C_plasma_CPA(i,:)); C_plasma_CPA_UB(i) = prctile(C_plasma_CPA(i,:),97.5); C_plasma_CPA_LB(i) = prctile(C_plasma_CPA(i,:),2.5); end oral_pred_bosentan = interp1q(time_CPA,C_plasma_CPA_average,oral_time_bosentan'); display('================================================================') display('Liver Cirrhosis CP-A') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(geomean(AUC)) ' +/-SD ' num2str(std(AUC)) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(geomean(AUC_inf)) ' +/-SD ' num2str(std(AUC_inf)) ' ng*hour/mL']) display(['Plasma CL = ' num2str(geomean(Plasma_CL)) ' +/-SD ' num2str(std(Plasma_CL)) ' L/hour']) display(['Vdss = ' num2str(geomean(Vdss)) ' +/-SD ' num2str(std(Vdss)) ' L']) display(['Cmax = ' num2str(geomean(Cmax)) ' +/-SD ' num2str(std(Cmax)) ' ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' range: ( ' num2str([min(Tmax) max(Tmax)]) ' ) ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(AUC < 1))) ' of them lead to AUC negative or zero' ]) display('================================================================') CP = 0; % CPH [time_CPH, C_plasma_CPH] = pbpk_bosentan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); terminal_time = time_CPH(end-14:end)-time_CPH(end-14); terminal_C_plasma = C_plasma_CPH(end-14:end); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC = trapz(time_CPH,C_plasma_CPH); AUC_inf = AUC + C_plasma_CPH(end)/ke_terminal; Plasma_CL = Dose/AUC_inf; AUMC = trapz(time_CPH,C_plasma_CPH.*time_CPH); AUMC_inf = AUMC + C_plasma_CPH(end)*time_CPH(end)/ke_terminal + C_plasma_CPH(end)/ke_terminal^2; MRT = AUMC_inf / AUC_inf; Vdss = MRT*Plasma_CL; [Cmax,ind] = max(C_plasma_CPH); Tmax = time_CPH(ind); display('================================================================') display('Healthy') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(AUC) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(AUC_inf) ' ng*hour/mL']) display(['Plasma CL = ' num2str(Plasma_CL) ' L/hour']) display(['Vdss = ' num2str(Vdss) ' L']) display(['Cmax = ' num2str(Cmax) ' ng/mL']) display(['Tmax = ' num2str(Tmax) ' ng/mL']) display('================================================================') hold on plot(oral_time_bosentan,oral_obs_bosentan_CPA,'ro',time_CPA,C_plasma_CPA_average,'r', ... ... time_CPA,C_plasma_CPA_LB,'r--',time_CPA,C_plasma_CPA_UB,'r--',... oral_time_bosentan,oral_obs_bosentan_CPH,'bsq',time_CPH,C_plasma_CPH,'b') hold off title({'(A) Bosentan';'125 mg oral dosing'},'FontSize',10) ylabel('Concentration (ng/mL)','FontSize',10) xlabel('Time (hours)','FontSize',10) xlim([0,oral_time_bosentan(end)]) C_plasma_CPA_average(1) = []; C_plasma_CPH(1) = []; miny1 = min([C_plasma_CPA_average; oral_obs_bosentan_CPA']); miny2 = min([C_plasma_CPH oral_obs_bosentan_CPH]); maxy1 = max([C_plasma_CPA_average; oral_obs_bosentan_CPA']); maxy2 = max([C_plasma_CPH oral_obs_bosentan_CPH]); miny = min([miny1,miny2]); maxy = max([maxy1,maxy2]); ylim(10.^[floor(log10(miny)),ceil(log10(maxy))]) set(gca,'YTick',10.^(floor(log10(miny)):ceil(log10(maxy))),'YScale','log') % Processing ydata oral_obs_bosentan_CPA = log10(oral_obs_bosentan_CPA); oral_pred_bosentan = log10(oral_pred_bosentan); % log likelihood function SSE = (norm(oral_obs_bosentan_CPA' - oral_pred_bosentan))^2/length(oral_time_bosentan); Code for olmesartan simulation Method 1 ¡°pbpk_olmesartan_CP.m¡± function [time, C_plasma] = pbpk_olmesartan_CP(CP,Flg_dose,Dose,InfusionT,EndT) % Disease status specific parameters if CP == 0 % Healthy % {In vitro binding data} fup = 0.0045;%0.004 ;%fraction unbound in plasma Rbp = 0.58 ;%blood to plasma ratio fuli = 0.009 ;%fraction unbound in liver % renal CL CLrenal = 0.6; % CLint renal (L/hr), NDA review % blood CO = 108.33 ; % cardiac output (ml/s) % {Tissue fractional blood flows and CO -> Pfizer} FQgu = 0.146462 ; % gut fractional blood flow FQsp = 0.017231 ; % spleen fractional blood flow FQha = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow (venous side) FQki = 0.19 ; % kidney fractional blood flow FQad = 0.05 ; % adipose fractional blood flow FQbo = 0.05 ; % bone fractional blood flow FQbr = 0.12 ; % brain fractional blood flow FQhe = 0.04 ; % heart fractional blood flow FQmu = 0.17 ; % muscle fractional blood flow FQsk = 0.05 ; % skin fractional blood flow FQte = 0.01076 ; % testes fractional blood flow FQre = 0.103855 ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % hepatic clearances CLactive = 291.1 ; % active uptake IVIVE scaling factor CLpassive = 1.35 ; % passive uptake IVIVE scaling factor CLmet = 0 ; % metabolism scaling factor CLbile = 8.2 ; % biliary efflux IVIVE scaling factor elseif CP == 1 % CPA % {In vitro binding data} fup_healthy = 0.0045; %fraction unbound in plasma R_albumin_mean = 0.84; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.15; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.38; HCT_std = 0.05; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 1 - HCT; % drug does not penatrate red cell fuli = 0.009 ;%fraction unbound in liver % renal CL CLrenal_healthy = 0.6; % CLint renal (L/hr), NDA review R_renal_mean = 1.1; %ratio between disease and healthy individuals R_renal_sd = 0.62; R_renal = R_renal_mean + R_renal_sd*randn(1); while R_renal <=0; R_renal = R_renal_mean + R_renal_sd*randn(1); end CLrenal = CLrenal_healthy * R_renal; % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.1; % ratio between diseased and healthy conditions R_CO_std = 0.39; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.72; % ratio between diseased and healthy conditions R_FQgu_std = 0.57; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % if not devided by R_CO, the portal vein will be furture corrected by R_CO when calculating blood flow. In other words, R_FQgu is used to correct Qgut, once Qgut is corrected by R_FQgu, it should not be corrected by R_CO again FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.20; % ratio between diseased and healthy conditions R_FQsp_std = 0.29; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 1.5; % ratio between diseased and healthy conditions R_FQha_std = 1.1; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.88 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; %pause end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.91; % ratio between diseased and healthy conditions R_LiverSize_std = 0.26; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end Fraction_OATP1B1 = 0.53; % Yamada et al, 2007 DMD Fraction_OATP1B3 = 0.47; % Yamada et al, 2007 DMD Fraction_OATP2B1 = 0; Fraction_NTCP = 0; % Nakagomi-Hagihara et al, 2006 DMD R_active = R_OATP1B1*Fraction_OATP1B1 + R_OATP1B3*Fraction_OATP1B3 + R_OATP2B1*Fraction_OATP2B1 + R_NTCP*Fraction_NTCP; CLactive_healthy = 291.1 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 1.35 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism CLmet_healthy = 0 ; % metabolism CLmet = CLmet_healthy * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 8.2 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 2 % CPB % {In vitro binding data} fup_healthy = 0.0045; %fraction unbound in plasma R_albumin_mean = 0.69; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.15; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.34; HCT_std = 0.057; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 1 - HCT; fuli = 0.009 ;%fraction unbound in liver % renal CL CLrenal_healthy = 0.6; % CLint renal (L/hr), NDA review R_renal_mean = 1.07; %ratio between disease and healthy individuals R_renal_sd = 0.89; R_renal = R_renal_mean + R_renal_sd*randn(1); while R_renal <=0; R_renal = R_renal_mean + R_renal_sd*randn(1); end CLrenal = CLrenal_healthy * R_renal; % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.2; % ratio between diseased and healthy conditions R_CO_std = 0.34; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.60; % ratio between diseased and healthy conditions R_FQgu_std = 0.61; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.5; % ratio between diseased and healthy conditions R_FQsp_std = 0.52; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 1.7; % ratio between diseased and healthy conditions R_FQha_std = 1.5; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.65 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.81; % ratio between diseased and healthy conditions R_LiverSize_std = 0.26; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end Fraction_OATP1B1 = 0.53; % Yamada et al, 2007 DMD Fraction_OATP1B3 = 0.47; % Yamada et al, 2007 DMD Fraction_OATP2B1 = 0; Fraction_NTCP = 0; % Nakagomi-Hagihara et al, 2006 DMD R_active = R_OATP1B1*Fraction_OATP1B1 + R_OATP1B3*Fraction_OATP1B3 + R_OATP2B1*Fraction_OATP2B1 + R_NTCP*Fraction_NTCP; CLactive_healthy = 291.1 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 1.35 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism CLmet_healthy = 0 ; % metabolism CLmet = CLmet_healthy * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 8.2 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 3 % CPC % {In vitro binding data} fup_healthy = 0.0045;% fraction unbound in plasma R_albumin_mean = 0.53; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.150; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.34; HCT_std = 0.055; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 1 - HCT; fuli = 0.009 ;%fraction unbound in liver % renal CL CLrenal_healthy = 0.6; % CLint renal (L/hr), ASSUMING THE SAME AS CP-B R_renal_mean = 1.07; %ratio between disease and healthy individuals R_renal_sd = 0.89; R_renal = R_renal_mean + R_renal_sd*randn(1); while R_renal <=0; R_renal = R_renal_mean + R_renal_sd*randn(1); end CLrenal = CLrenal_healthy * R_renal; % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.3; % ratio between diseased and healthy conditions R_CO_std = 0.30; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.13; % ratio between diseased and healthy conditions R_FQgu_std = 0.57; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1) ; while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.5; % ratio between diseased and healthy conditions R_FQsp_std = 0.54; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 2.1; % ratio between diseased and healthy conditions R_FQha_std = 1.9; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.48 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.64; % ratio between diseased and healthy conditions R_LiverSize_std = 0.22; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end Fraction_OATP1B1 = 0.53; % Yamada et al, 2007 DMD Fraction_OATP1B3 = 0.47; % Yamada et al, 2007 DMD Fraction_OATP2B1 = 0; Fraction_NTCP = 0; % Nakagomi-Hagihara et al, 2006 DMD R_active = R_OATP1B1*Fraction_OATP1B1 + R_OATP1B3*Fraction_OATP1B3 + R_OATP2B1*Fraction_OATP2B1 + R_NTCP*Fraction_NTCP; CLactive_healthy = 291.1 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 1.35; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism CLmet_healthy = 0 ; % metabolism CLmet = CLmet_healthy * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 8.2 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level end % SPECIES SPECIFIC PARAMETERS % Fractional Tissue volumes and BW FVadec = 0.0415 ; % Fractional Volume adipose, blood FVadic = 0.1715 ; % Tissue FVbo = 0.085629 ; % Fractional Volume bone FVbr = 0.02 ; % Fractional Volume brain FVgu = 0.0171 ; % Fractional Volume gut FVhe = 0.0047 ; % Fractional Volume heart FVki = 0.0044 ; % Fractional Volume kidney FVlu = 0.0076 ; % Fractional Volume lung FVmuec = 0.07 ; % Fractional Volume muscle tissue FVmuic = 0.33 ;% Fractional Volume muscle blood FVsk = 0.0371 ; % Fractional Volume skin FVsp = 0.0026 ; % Fractional Volume spleen FVte = 0.01 ; % Fractional Volume testes FVve = 0.0514 ; % Fractional Volume venous FVar = 0.0257 ; % Fractional Volume arterial FVre = 0.099771 ; % Fractional Volume rest of body FVlb = 0.004568 ; % Fractional Volume liver blood (Watanabe et al 2009) FVlt = 0.016432 ; % Fractional Volume liver tissue (Watanabe et al 2009) % Tissue volumes and BW BW = 70 ; % BW (kg) Vadec = BW*FVadec ; % Volume adipose blood (L) Vadic = BW*FVadic ; % Volume adipose Tissue (L) Vbo = BW*FVbo ; % Volume bone (L) Vbr = BW*FVbr ; % Volume brain (L) Vgu = BW*FVgu ; % Volume gut (L) Vhe = BW*FVhe ; % Volume heart (L) Vki = BW*FVki ; % Volume kidney (L) Vlb = BW*FVlb ; % Volume liver blood (L) Vlt = BW*FVlt ; % Volume liver tissue (L) Vlu = BW*FVlu ; % Volume lung (L) Vmuec = BW*FVmuec ; % Volume muscle (L), blood Vmuic = BW*FVmuic ; % Volume muscle (L), tissue Vsk = BW*FVsk ; % Volume skin (L) Vsp = BW*FVsp ; % Volume spleen (L) Vte = BW*FVte ; % Volume testes (L) Vve = BW*FVve ; % Volume venous (L) Var = BW*FVar ; % Volume arterial blood (L) Vre = BW*FVre ; % Volume rest of body (L) Vliverbile = 0.318/100 * (Vlt+Vlb) ; %Volume of bile duct in liver (L) % {Tissue blood flows (L/h)-> Pfizer} QC = CO/1000*60*60 ; % total blood flow (L/hr) Qad = QC*FQad ; % adipose blood flow (L/hr) Qbo = QC*FQbo ; % bone blood flow (L/hr) Qbr = QC*FQbr ; % brain blood flow (L/hr) Qgu = QC*FQgu ; % gut blood flow (L/hr) Qhe = QC*FQhe ; % heart blood flow (L/hr) Qki = QC*FQki ; % kidney blood flow (L/hr) Qsp = QC*FQsp ; % spleen blood flow (L/hr) Qha = QC*FQha ; % blood flow hepatic artery (L/hr) Qlu = QC*FQlu ; % lung blood flow (L/hr) Qmu = QC*FQmu ; % muscle blood flow (L/hr) Qsk = QC*FQsk ; % skin blood flow (L/hr) Qte = QC*FQte ; % testes blood flow (L/hr) Qre = QC*FQre ; % remaining tissue blood flow (L/hr) Qh = Qha + Qgu + Qsp ; % hepatic blood flow (venous side) (L/hr) % Liver bile flow %Qliverbile = 0.43/1000*60; % liver bile flow (L/hr), Boyer and Bloomer 1974 % Qliverbile = 350/1000/24 ; % liver bile flow (L/hr), Davies and Morris 1993 %Qliverbile = 1/24; % liver bile flow (L/hr), Insights in Physiology by Sudha Vinayak Khanorkar Qliverbile = 0; % ;###################################################################################### % COMPOUND SPECIFIC PARAMETERS % {Tissue plasma-partition coefficients} logD = 0.513 ; % in house pKa = 4.3; % Nakagomi-Hagihara et al, 2006 DMD FLG_COMPD = 1; % monoprotic acid FLG_DISP = 0; % Do NOT display Kp values Kp = Kp_calculation_new(logD,pKa,fup,Rbp,FLG_COMPD,FLG_DISP); % Rodger and Rowland Kp prediction Kpad = Kp(1) ;%adipose Kpbo = Kp(2) ;%bone Kpbr = Kp(3) ;%brain Kpgu = Kp(4) ;%gut Kphe = Kp(5) ;%heart Kpki = Kp(6) ;%kidney Kplu = Kp(8) ;%lung Kpmu = Kp(9) ;%muscle Kpsk = Kp(11) ;%skin Kpsp = Kp(12) ;%spleen Kpte = Kp(9) ;%testes Kpre = Kp(9) ;%rest of body % Absorption parameter ka = 0 ; % absorption rate F = 1; % Fa*Fg % hepatic efflux CLefflux = 0; % Efflux back to blood (L/hr) % tissue clearance HPPGL = 120; % million cells per g liver CLpassiveHep = CLpassive/(HPPGL*(Vlt+Vlb)*60/1000); % hepatocyte (ul/min/Mcells) unbound passive CL, SA_hepatocyte = 15*15*6*1e-8; % cm^2, hepatocyte 15 um side cubic Papp = CLpassiveHep*60/1000/1e6/SA_hepatocyte; % cm/hour V_musclecell = (1.5/2)^2*pi*50*1e-12; %cm^3, 1.5 um diameter, 50 um length, cylindrical number_musclecell = Vmuic*1000/V_musclecell; % number of muscle cells in muscle SA_musclecell = 1.5*pi*50*1e-8; % cm^2, 1.5 um diameter, 50 um length, cylindrical SAmu = number_musclecell*SA_musclecell ; % cm^2 V_fatcell = 4/3*(100/2)^3*pi*1e-12; %cm^3, fat cell, 100 um diameter number_fatcell = Vadic*1000/V_fatcell; SA_fatcell = 4*pi*(100/2)^2*1e-8; % cm^2, fat cell, 100 um diameter SAad = number_fatcell*SA_fatcell; % cm^2 CLad = Papp * SAad/1000; % L/h CLmu = Papp * SAmu/1000; % L/h % convert renal clearance into unbound renal clearance, assuming well stirred CLrenal_unbound = CLrenal/Rbp / (fup/Rbp* (1-CLrenal/Rbp/Qki) ); % CLint renal (L/hr) p = [Kpad, Kpbo, Kpbr, Kpgu, Kphe, Kpki, Kplu, Kpmu, Kpsk, Kpsp, Kpte, Kpre,... fup, Rbp, fuli, CLmet, CLpassive, CLactive, CLbile, CLrenal_unbound, CLefflux,... Vadec, Vbo, Vbr, Vgu, Vhe, Vki, Vlb, Vlt, Vlu, Vmuec, Vsk, Vsp, Vte, Vve, Var, Vre,... Qad, Qbo, Qbr, Qgu, Qhe, Qki, Qh, Qsp, Qha, Qlu, Qmu, Qsk, Qte, Qre,... ka, F, Qliverbile, Vliverbile, Vadic, Vmuic, CLad, CLmu]; % Dosing t0 = 0; % starting time y0 = zeros(1, 29); if Flg_dose == 1 IVRate1 = Dose/InfusionT; % ug/h IVRate2 = 0; % during infuion u1 = IVRate1; [t1, y1] = pbpk_EC_permeableT_permeableLiver_matlab( linspace(t0,InfusionT,25), y0, p, u1, [1e-3,1e-6,10] ); % after infusion u2 = IVRate2; [t2, y2] = pbpk_EC_permeableT_permeableLiver_matlab( linspace(0,EndT-InfusionT,476), y1(:,end), p, u2, [1e-3,1e-6,10] ); C_plasma = [y1(1,:) y2(1,2:end)]/Rbp; time = [t1 t2(2:end)+InfusionT]; elseif Flg_dose == 2 y0(26) = Dose; IVRate1 = 0; % after oral dosing u1 = IVRate1; [t1, y1] = pbpk_EC_permeableT_permeableLiver_matlab( linspace(t0,EndT,500), y0, p, u1, [1e-3,1e-6,10] ); C_plasma = y1(1,:) /Rbp; time = t1 ; end ¡°run_olmesartan_CP.m¡± function run_olmesartan_CP subplot(3,2,2) % iv data (ug/L) % olmesartan 160 mg IV dosing, CPA IV_time_olmesartan = [2 4 6 8 12 24 36 48 72 96]; % CPA IV_obs_olmesartan_CPA = [692.66 380.99 238.65 165.93 98.76 36.00 14.95 7.84 2.66 1.14]; % CPB IV_obs_olmesartan_CPB = [668.34 406.08 293.38 221.32 149.78 52.86 17.86 7.02 1.75 0.64]; % CPH IV_obs_olmesartan_CPH = [657.40 391.02 232.53 165.93 101.37 27.75 9.35 3.88 1.13 0.31]; % Simulation Flg_dose = 1; Dose = 8000; % ug InfusionT = 0.5/60; % no infusion EndT = IV_time_olmesartan(end); number_simulation = 1000; C_plasma_CPA = zeros(500,number_simulation); ke_terminal = zeros(1,number_simulation); AUC = zeros(1,number_simulation); AUC_inf = zeros(1,number_simulation); Plasma_CL = zeros(1,number_simulation); AUMC = zeros(1,number_simulation); AUMC_inf = zeros(1,number_simulation); MRT = zeros(1,number_simulation); Vdss = zeros(1,number_simulation); Cmax = zeros(1,number_simulation); Tmax = zeros(1,number_simulation); for i = 1:number_simulation CP = 1; % CPA [time_CPA, C_plasma_CPA(:,i)] = pbpk_olmesartan_CP(CP,Flg_dose,Dose,InfusionT,EndT); time_CPA = transpose(time_CPA); terminal_time = time_CPA(end-14:end)-time_CPA(end-14); terminal_C_plasma = C_plasma_CPA(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal(i) = -curve_fit(1); AUC(i) = trapz(time_CPA,C_plasma_CPA(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPA(end,i)/ke_terminal(i); Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPA,C_plasma_CPA(:,i).*time_CPA); AUMC_inf(i) = AUMC(i) + C_plasma_CPA(end,i)*time_CPA(end)/ke_terminal(i) + C_plasma_CPA(end,i)/ke_terminal(i)^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPA(:,i)); Tmax(i) = time_CPA(ind); end index = find(ke_terminal<=0); AUC(index) = []; AUC_inf(index) = []; Plasma_CL(index) = []; Vdss(index) = []; Cmax(index) = []; Tmax(index) = []; C_plasma_CPA(:,index) = []; C_plasma_CPA_average = zeros(500,1); C_plasma_CPA_UB = zeros(500,1); C_plasma_CPA_LB = zeros(500,1); for i = 1:500 C_plasma_CPA_average(i) = mean(C_plasma_CPA(i,:)); C_plasma_CPA_UB(i) = prctile(C_plasma_CPA(i,:),97.5); C_plasma_CPA_LB(i) = prctile(C_plasma_CPA(i,:),2.5); end display('================================================================') display('Liver Cirrhosis CP-A') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(mean(AUC)) ' || 95% Prediction interval [ ' num2str(prctile(AUC,[2.5,97.5])) ' ] ng*hour/mL']) display(['AUC 0-inf = ' num2str(mean(AUC_inf)) ' || 95% Prediction interval [ ' num2str(prctile(AUC_inf,[2.5,97.5])) ' ] ng*hour/mL']) display(['Plasma CL = ' num2str(mean(Plasma_CL)) ' || 95% Prediction interval [ ' num2str(prctile(Plasma_CL,[2.5,97.5])) ' ] L/hour']) display(['Vdss = ' num2str(mean(Vdss)) ' || 95% Prediction interval [ ' num2str(prctile(Vdss,[2.5,97.5])) ' ] L']) display(['Cmax = ' num2str(mean(Cmax)) ' || 95% Prediction interval [ ' num2str(prctile(Cmax,[2.5,97.5])) ' ] ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' || range: [ ' num2str([min(Tmax) max(Tmax)]) ' ] ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(ke_terminal<=0))) ' of them lead to terminal elimination rate negative or zero, and are rejected' ]) display('================================================================') number_simulation = 1000; C_plasma_CPB = zeros(500,number_simulation); for i = 1:number_simulation CP = 2; % CPB [time_CPB, C_plasma_CPB(:,i)] = pbpk_olmesartan_CP(CP,Flg_dose,Dose,InfusionT,EndT); time_CPB = transpose(time_CPB); terminal_time = time_CPB(end-14:end)-time_CPB(end-14); terminal_C_plasma = C_plasma_CPB(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal(i) = -curve_fit(1); AUC(i) = trapz(time_CPB,C_plasma_CPB(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPB(end,i)/ke_terminal(i); Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPB,C_plasma_CPB(:,i).*time_CPB); AUMC_inf(i) = AUMC(i) + C_plasma_CPB(end,i)*time_CPB(end)/ke_terminal(i) + C_plasma_CPB(end,i)/ke_terminal(i)^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPB(:,i)); Tmax(i) = time_CPB(ind); end index = find(ke_terminal<=0); AUC(index) = []; AUC_inf(index) = []; Plasma_CL(index) = []; Vdss(index) = []; Cmax(index) = []; Tmax(index) = []; C_plasma_CPB(:,index) = []; C_plasma_CPB_average = zeros(500,1); C_plasma_CPB_UB = zeros(500,1); C_plasma_CPB_LB = zeros(500,1); for i = 1:500 C_plasma_CPB_average(i) = mean(C_plasma_CPB(i,:)); C_plasma_CPB_UB(i) = prctile(C_plasma_CPB(i,:),97.5); C_plasma_CPB_LB(i) = prctile(C_plasma_CPB(i,:),2.5); end display('================================================================') display('Liver Cirrhosis CP-B') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(geomean(AUC)) ' || 95% Prediction interval [ ' num2str(prctile(AUC,[2.5,97.5])) ' ] ng*hour/mL']) display(['AUC 0-inf = ' num2str(geomean(AUC_inf)) ' || 95% Prediction interval [ ' num2str(prctile(AUC_inf,[2.5,97.5])) ' ] ng*hour/mL']) display(['Plasma CL = ' num2str(geomean(Plasma_CL)) ' || 95% Prediction interval [ ' num2str(prctile(Plasma_CL,[2.5,97.5])) ' ] L/hour']) display(['Vdss = ' num2str(geomean(Vdss)) ' || 95% Prediction interval [ ' num2str(prctile(Vdss,[2.5,97.5])) ' ] L']) display(['Cmax = ' num2str(geomean(Cmax)) ' || 95% Prediction interval [ ' num2str(prctile(Cmax,[2.5,97.5])) ' ] ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' || range: [ ' num2str([min(Tmax) max(Tmax)]) ' ] ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(ke_terminal<=0))) ' of them lead to terminal elimination rate negative or zero, and are rejected' ]) display('================================================================') CP = 0; % CPH [time_CPH, C_plasma_CPH] = pbpk_olmesartan_CP(CP,Flg_dose,Dose,InfusionT,EndT); terminal_time = time_CPH(end-14:end)-time_CPH(end-14); terminal_C_plasma = C_plasma_CPH(end-14:end); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC = trapz(time_CPH,C_plasma_CPH); AUC_inf = AUC + C_plasma_CPH(end)/ke_terminal; Plasma_CL = Dose/AUC_inf; AUMC = trapz(time_CPH,C_plasma_CPH.*time_CPH); AUMC_inf = AUMC + C_plasma_CPH(end)*time_CPH(end)/ke_terminal + C_plasma_CPH(end)/ke_terminal^2; MRT = AUMC_inf / AUC_inf; Vdss = MRT*Plasma_CL; [Cmax,ind] = max(C_plasma_CPH); Tmax = time_CPH(ind); display('================================================================') display('Healthy') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(AUC) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(AUC_inf) ' ng*hour/mL']) display(['Plasma CL = ' num2str(Plasma_CL) ' L/hour']) display(['Vdss = ' num2str(Vdss) ' L']) display(['Cmax = ' num2str(Cmax) ' ng/mL']) display(['Tmax = ' num2str(Tmax) ' ng/mL']) display('================================================================') hold on plot(time_CPA,C_plasma_CPA_average,'r',time_CPH,C_plasma_CPH,'b-',time_CPB,C_plasma_CPB_average,'k-') plot(time_CPA,C_plasma_CPA_LB,'r--',time_CPA,C_plasma_CPA_UB,'r--') plot(time_CPA,C_plasma_CPB_LB,'k--',time_CPB,C_plasma_CPB_UB,'k--') plot(IV_time_olmesartan,IV_obs_olmesartan_CPA,'ro') plot(IV_time_olmesartan,IV_obs_olmesartan_CPH,'bsq') plot(IV_time_olmesartan,IV_obs_olmesartan_CPB,'kv') hold off title({'(B) Olmesartann';'8 mg IV bolus dosing'},'FontSize',10) ylabel('Concentration (ng/mL)','FontSize',10) xlabel('Time (hours)','FontSize',10) xlim([0,EndT]) C_plasma_CPA_average(1) = []; C_plasma_CPB_average(1) = []; C_plasma_CPH(1) = []; miny1 = min([C_plasma_CPA_average; IV_obs_olmesartan_CPA']); miny2 = min([C_plasma_CPH IV_obs_olmesartan_CPH]); miny3 = min([C_plasma_CPB_average; IV_obs_olmesartan_CPB']); maxy1 = max([C_plasma_CPA_average; IV_obs_olmesartan_CPA']); maxy2 = max([C_plasma_CPH IV_obs_olmesartan_CPH]); maxy3 = max([C_plasma_CPB_average; IV_obs_olmesartan_CPB']); miny = min([miny1,miny2,miny3]); if miny < 1e-2 miny = 1e-2; end maxy = max([maxy1,maxy2,maxy3]); ylim(10.^[floor(log10(miny)),ceil(log10(maxy))]) set(gca,'YTick',10.^(floor(log10(miny)):ceil(log10(maxy))),'YScale','log') Code for olmesartan simulation Method 2 ¡°pbpk_olmesartan_CP.m¡± function [time, C_plasma] = pbpk_olmesartan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi) % Disease status specific parameters if CP == 0 % Healthy % {In vitro binding data} fup = 0.0045;%0.004 ;%fraction unbound in plasma Rbp = 0.58 ;%blood to plasma ratio fuli = 0.009 ;%fraction unbound in liver % renal CL CLrenal = 0.6; % CLint renal (L/hr), NDA review % blood CO = 108.33 ; % cardiac output (ml/s) % {Tissue fractional blood flows and CO -> Pfizer} FQgu = 0.146462 ; % gut fractional blood flow FQsp = 0.017231 ; % spleen fractional blood flow FQha = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow (venous side) FQki = 0.19 ; % kidney fractional blood flow FQad = 0.05 ; % adipose fractional blood flow FQbo = 0.05 ; % bone fractional blood flow FQbr = 0.12 ; % brain fractional blood flow FQhe = 0.04 ; % heart fractional blood flow FQmu = 0.17 ; % muscle fractional blood flow FQsk = 0.05 ; % skin fractional blood flow FQte = 0.01076 ; % testes fractional blood flow FQre = 0.103855 ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % hepatic clearances CLactive = 291.1 ; % active uptake IVIVE scaling factor CLpassive = 1.35 ; % passive uptake IVIVE scaling factor CLmet = 0 ; % metabolism scaling factor CLbile = 8.2 ; % biliary efflux IVIVE scaling factor elseif CP == 1 % CPA % {In vitro binding data} fup_healthy = 0.0045; %fraction unbound in plasma R_albumin = 0.84; % Mean, albumin ratio between disease and healthy individuals fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT = 0.38; Rbp = 1 - HCT; % drug does not penatrate red cell fuli = 0.009 ;%fraction unbound in liver % renal CL CLrenal_healthy = 0.6; % CLint renal (L/hr), NDA review R_renal = 1.1; %ratio between disease and healthy individuals CLrenal = CLrenal_healthy * R_renal; % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO = 1.08; % ratio between diseased and healthy conditions CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu = 0.72; % ratio between diseased and healthy conditions FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp = 1.20; % ratio between diseased and healthy conditions FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha = 1.49; % ratio between diseased and healthy conditions FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.88 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize = 0.91; % ratio between diseased and healthy conditions % hepatic clearance % Active uptake Fraction_1 = phi(1); Fraction_2 = (1-Fraction_1)*phi(2); Fraction_3 = 1 - Fraction_1 - Fraction_2; R_transporter_1 = phi(3); R_transporter_2 = phi(4); R_transporter_3 = phi(5); R_active = R_transporter_1 * Fraction_1 + R_transporter_2 * Fraction_2 + R_transporter_3 * Fraction_3; CLactive_healthy = 291.1 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 1.35 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism CLmet_healthy = 0 ; % metabolism CLmet = CLmet_healthy * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_efflux = phi(6); CLbile_healthy = 8.2 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 2 % CPB % {In vitro binding data} fup_healthy = 0.0045; %fraction unbound in plasma R_albumin = 0.69; % Mean, albumin ratio between disease and healthy individuals fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT = 0.34; Rbp = 1 - HCT; fuli = 0.009 ;%fraction unbound in liver % renal CL CLrenal_healthy = 0.6; % CLint renal (L/hr), NDA review R_renal = 1.07; %ratio between disease and healthy individuals CLrenal = CLrenal_healthy * R_renal; % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO = 1.17; % ratio between diseased and healthy conditions CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu = 0.60; % ratio between diseased and healthy conditions FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp = 1.46; % ratio between diseased and healthy conditions FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha = 1.7; % ratio between diseased and healthy conditions FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.65 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize = 0.81; % ratio between diseased and healthy conditions % hepatic clearance % Active uptake Fraction_1 = phi(1); Fraction_2 = (1-Fraction_1)*phi(2); Fraction_3 = 1 - Fraction_1 - Fraction_2; R_transporter_1 = phi(7); R_transporter_2 = phi(8); R_transporter_3 = phi(9); R_active = R_transporter_1 * Fraction_1 + R_transporter_2 * Fraction_2 + R_transporter_3 * Fraction_3; CLactive_healthy = 291.1 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 1.35 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism CLmet_healthy = 0 ; % metabolism CLmet = CLmet_healthy * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_efflux = phi(10); CLbile_healthy = 8.2 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level end % SPECIES SPECIFIC PARAMETERS % Fractional Tissue volumes and BW FVadec = 0.0415 ; % Fractional Volume adipose, blood FVadic = 0.1715 ; % Tissue FVbo = 0.085629 ; % Fractional Volume bone FVbr = 0.02 ; % Fractional Volume brain FVgu = 0.0171 ; % Fractional Volume gut FVhe = 0.0047 ; % Fractional Volume heart FVki = 0.0044 ; % Fractional Volume kidney FVlu = 0.0076 ; % Fractional Volume lung FVmuec = 0.07 ; % Fractional Volume muscle tissue FVmuic = 0.33 ;% Fractional Volume muscle blood FVsk = 0.0371 ; % Fractional Volume skin FVsp = 0.0026 ; % Fractional Volume spleen FVte = 0.01 ; % Fractional Volume testes FVve = 0.0514 ; % Fractional Volume venous FVar = 0.0257 ; % Fractional Volume arterial FVre = 0.099771 ; % Fractional Volume rest of body FVlb = 0.004568 ; % Fractional Volume liver blood (Watanabe et al 2009) FVlt = 0.016432 ; % Fractional Volume liver tissue (Watanabe et al 2009) % Tissue volumes and BW BW = 70 ; % BW (kg) Vadec = BW*FVadec ; % Volume adipose blood (L) Vadic = BW*FVadic ; % Volume adipose Tissue (L) Vbo = BW*FVbo ; % Volume bone (L) Vbr = BW*FVbr ; % Volume brain (L) Vgu = BW*FVgu ; % Volume gut (L) Vhe = BW*FVhe ; % Volume heart (L) Vki = BW*FVki ; % Volume kidney (L) Vlb = BW*FVlb ; % Volume liver blood (L) Vlt = BW*FVlt ; % Volume liver tissue (L) Vlu = BW*FVlu ; % Volume lung (L) Vmuec = BW*FVmuec ; % Volume muscle (L), blood Vmuic = BW*FVmuic ; % Volume muscle (L), tissue Vsk = BW*FVsk ; % Volume skin (L) Vsp = BW*FVsp ; % Volume spleen (L) Vte = BW*FVte ; % Volume testes (L) Vve = BW*FVve ; % Volume venous (L) Var = BW*FVar ; % Volume arterial blood (L) Vre = BW*FVre ; % Volume rest of body (L) Vliverbile = 0.318/100 * (Vlt+Vlb) ; %Volume of bile duct in liver (L) % {Tissue blood flows (L/h)-> Pfizer} QC = CO/1000*60*60 ; % total blood flow (L/hr) Qad = QC*FQad ; % adipose blood flow (L/hr) Qbo = QC*FQbo ; % bone blood flow (L/hr) Qbr = QC*FQbr ; % brain blood flow (L/hr) Qgu = QC*FQgu ; % gut blood flow (L/hr) Qhe = QC*FQhe ; % heart blood flow (L/hr) Qki = QC*FQki ; % kidney blood flow (L/hr) Qsp = QC*FQsp ; % spleen blood flow (L/hr) Qha = QC*FQha ; % blood flow hepatic artery (L/hr) Qlu = QC*FQlu ; % lung blood flow (L/hr) Qmu = QC*FQmu ; % muscle blood flow (L/hr) Qsk = QC*FQsk ; % skin blood flow (L/hr) Qte = QC*FQte ; % testes blood flow (L/hr) Qre = QC*FQre ; % remaining tissue blood flow (L/hr) Qh = Qha + Qgu + Qsp ; % hepatic blood flow (venous side) (L/hr) % Liver bile flow %Qliverbile = 0.43/1000*60; % liver bile flow (L/hr), Boyer and Bloomer 1974 % Qliverbile = 350/1000/24 ; % liver bile flow (L/hr), Davies and Morris 1993 %Qliverbile = 1/24; % liver bile flow (L/hr), Insights in Physiology by Sudha Vinayak Khanorkar Qliverbile = 0; % ;###################################################################################### % COMPOUND SPECIFIC PARAMETERS % {Tissue plasma-partition coefficients} logD = 0.513 ; % in house pKa = 4.3; % Nakagomi-Hagihara et al, 2006 DMD FLG_COMPD = 1; % monoprotic acid FLG_DISP = 0; % Do NOT display Kp values Kp = Kp_calculation_new(logD,pKa,fup,Rbp,FLG_COMPD,FLG_DISP); % Rodger and Rowland Kp prediction Kpad = Kp(1) ;%adipose Kpbo = Kp(2) ;%bone Kpbr = Kp(3) ;%brain Kpgu = Kp(4) ;%gut Kphe = Kp(5) ;%heart Kpki = Kp(6) ;%kidney Kplu = Kp(8) ;%lung Kpmu = Kp(9) ;%muscle Kpsk = Kp(11) ;%skin Kpsp = Kp(12) ;%spleen Kpte = Kp(9) ;%testes Kpre = Kp(9) ;%rest of body % Absorption parameter ka = 0 ; % absorption rate F = 1; % Fa*Fg % hepatic efflux CLefflux = 0; % Efflux back to blood (L/hr) % tissue clearance HPPGL = 120; % million cells per g liver CLpassiveHep = CLpassive/(HPPGL*(Vlt+Vlb)*60/1000); % hepatocyte (ul/min/Mcells) unbound passive CL, SA_hepatocyte = 15*15*6*1e-8; % cm^2, hepatocyte 15 um side cubic Papp = CLpassiveHep*60/1000/1e6/SA_hepatocyte; % cm/hour V_musclecell = (1.5/2)^2*pi*50*1e-12; %cm^3, 1.5 um diameter, 50 um length, cylindrical number_musclecell = Vmuic*1000/V_musclecell; % number of muscle cells in muscle SA_musclecell = 1.5*pi*50*1e-8; % cm^2, 1.5 um diameter, 50 um length, cylindrical SAmu = number_musclecell*SA_musclecell ; % cm^2 V_fatcell = 4/3*(100/2)^3*pi*1e-12; %cm^3, fat cell, 100 um diameter number_fatcell = Vadic*1000/V_fatcell; SA_fatcell = 4*pi*(100/2)^2*1e-8; % cm^2, fat cell, 100 um diameter SAad = number_fatcell*SA_fatcell; % cm^2 CLad = Papp * SAad/1000; % L/h CLmu = Papp * SAmu/1000; % L/h % convert renal clearance into unbound renal clearance, assuming well stirred CLrenal_unbound = CLrenal/Rbp / (fup/Rbp* (1-CLrenal/Rbp/Qki) ); % CLint renal (L/hr) p = [Kpad, Kpbo, Kpbr, Kpgu, Kphe, Kpki, Kplu, Kpmu, Kpsk, Kpsp, Kpte, Kpre,... fup, Rbp, fuli, CLmet, CLpassive, CLactive, CLbile, CLrenal_unbound, CLefflux,... Vadec, Vbo, Vbr, Vgu, Vhe, Vki, Vlb, Vlt, Vlu, Vmuec, Vsk, Vsp, Vte, Vve, Var, Vre,... Qad, Qbo, Qbr, Qgu, Qhe, Qki, Qh, Qsp, Qha, Qlu, Qmu, Qsk, Qte, Qre,... ka, F, Qliverbile, Vliverbile, Vadic, Vmuic, CLad, CLmu]; % Dosing t0 = 0; % starting time y0 = zeros(1, 29); if Flg_dose == 1 IVRate1 = Dose/InfusionT; % ug/h IVRate2 = 0; % during infuion u1 = IVRate1; [t1, y1] = pbpk_EC_permeableT_permeableLiver_matlab( linspace(t0,InfusionT,25), y0, p, u1, [1e-3,1e-6,10] ); % after infusion u2 = IVRate2; [t2, y2] = pbpk_EC_permeableT_permeableLiver_matlab( linspace(0,EndT-InfusionT,476), y1(:,end), p, u2, [1e-3,1e-6,10] ); C_plasma = [y1(1,:) y2(1,2:end)]/Rbp; time = [t1 t2(2:end)+InfusionT]; elseif Flg_dose == 2 y0(26) = Dose; IVRate1 = 0; % after oral dosing u1 = IVRate1; [t1, y1] = pbpk_EC_permeableT_permeableLiver_matlab( linspace(t0,EndT,500), y0, p, u1, [1e-3,1e-6,10] ); C_plasma = y1(1,:) /Rbp; time = t1 ; end ¡°run_olmesartan_CP.m¡± function SSE = run_olmesartan_CP(phi) subplot(3,2,2) % iv data (ug/L) % olmesartan 160 mg IV dosing, CPA IV_time_olmesartan = [2 4 6 8 12 24 36 48 72 96]; % CPA IV_obs_olmesartan_CPA = [692.66 380.99 238.65 165.93 98.76 36.00 14.95 7.84 2.66 1.14]; % CPB IV_obs_olmesartan_CPB = [668.34 406.08 293.38 221.32 149.78 52.86 17.86 7.02 1.75 0.64]; % CPH IV_obs_olmesartan_CPH = [657.40 391.02 232.53 165.93 101.37 27.75 9.35 3.88 1.13 0.31]; % Simulation Flg_dose = 1; Dose = 8000; % ug InfusionT = 0.5/60; % no infusion EndT = IV_time_olmesartan(end); number_simulation = 1; C_plasma_CPA = zeros(500,number_simulation); AUC = zeros(1,number_simulation); AUC_inf = zeros(1,number_simulation); Plasma_CL = zeros(1,number_simulation); AUMC = zeros(1,number_simulation); AUMC_inf = zeros(1,number_simulation); MRT = zeros(1,number_simulation); Vdss = zeros(1,number_simulation); Cmax = zeros(1,number_simulation); Tmax = zeros(1,number_simulation); for i = 1:number_simulation CP = 1; % CPA [time_CPA, C_plasma_CPA(:,i)] = pbpk_olmesartan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); time_CPA = transpose(time_CPA); terminal_time = time_CPA(end-14:end)-time_CPA(end-14); terminal_C_plasma = C_plasma_CPA(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC(i) = trapz(time_CPA,C_plasma_CPA(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPA(end,i)/ke_terminal; Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPA,C_plasma_CPA(:,i).*time_CPA); AUMC_inf(i) = AUMC(i) + C_plasma_CPA(end,i)*time_CPA(end)/ke_terminal + C_plasma_CPA(end,i)/ke_terminal^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPA(:,i)); Tmax(i) = time_CPA(ind); end C_plasma_CPA_average = zeros(500,1); C_plasma_CPA_UB = zeros(500,1); C_plasma_CPA_LB = zeros(500,1); for i = 1:500 C_plasma_CPA_average(i) = mean(C_plasma_CPA(i,:)); C_plasma_CPA_UB(i) = prctile(C_plasma_CPA(i,:),97.5); C_plasma_CPA_LB(i) = prctile(C_plasma_CPA(i,:),2.5); end IV_pred_olmesartan_CPA = interp1q(time_CPA,C_plasma_CPA_average,IV_time_olmesartan'); display('================================================================') display('Liver Cirrhosis CP-A') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(geomean(AUC)) ' +/-SD ' num2str(std(AUC)) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(geomean(AUC_inf)) ' +/-SD ' num2str(std(AUC_inf)) ' ng*hour/mL']) display(['Plasma CL = ' num2str(geomean(Plasma_CL)) ' +/-SD ' num2str(std(Plasma_CL)) ' L/hour']) display(['Vdss = ' num2str(geomean(Vdss)) ' +/-SD ' num2str(std(Vdss)) ' L']) display(['Cmax = ' num2str(geomean(Cmax)) ' +/-SD ' num2str(std(Cmax)) ' ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' range: ( ' num2str([min(Tmax) max(Tmax)]) ' ) ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(AUC < 1))) ' of them lead to AUC negative or zero' ]) display('================================================================') number_simulation = 1000; C_plasma_CPB = zeros(500,number_simulation); for i = 1:number_simulation CP = 2; % CPB [time_CPB, C_plasma_CPB(:,i)] = pbpk_olmesartan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); time_CPB = transpose(time_CPB); terminal_time = time_CPB(end-14:end)-time_CPB(end-14); terminal_C_plasma = C_plasma_CPB(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC(i) = trapz(time_CPB,C_plasma_CPB(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPB(end,i)/ke_terminal; Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPB,C_plasma_CPB(:,i).*time_CPB); AUMC_inf(i) = AUMC(i) + C_plasma_CPB(end,i)*time_CPB(end)/ke_terminal + C_plasma_CPB(end,i)/ke_terminal^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPB(:,i)); Tmax(i) = time_CPB(ind); end C_plasma_CPB_average = zeros(500,1); C_plasma_CPB_UB = zeros(500,1); C_plasma_CPB_LB = zeros(500,1); for i = 1:500 C_plasma_CPB_average(i) = mean(C_plasma_CPB(i,:)); C_plasma_CPB_UB(i) = prctile(C_plasma_CPB(i,:),97.5); C_plasma_CPB_LB(i) = prctile(C_plasma_CPB(i,:),2.5); end IV_pred_olmesartan_CPB = interp1q(time_CPB,C_plasma_CPB_average,IV_time_olmesartan'); display('================================================================') display('Liver Cirrhosis CP-B') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(geomean(AUC)) ' +/-SD ' num2str(std(AUC)) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(geomean(AUC_inf)) ' +/-SD ' num2str(std(AUC_inf)) ' ng*hour/mL']) display(['Plasma CL = ' num2str(geomean(Plasma_CL)) ' +/-SD ' num2str(std(Plasma_CL)) ' L/hour']) display(['Vdss = ' num2str(geomean(Vdss)) ' +/-SD ' num2str(std(Vdss)) ' L']) display(['Cmax = ' num2str(geomean(Cmax)) ' +/-SD ' num2str(std(Cmax)) ' ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' range: ( ' num2str([min(Tmax) max(Tmax)]) ' ) ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(AUC < 1))) ' of them lead to AUC negative or zero' ]) display('================================================================') CP = 0; % CPH [time_CPH, C_plasma_CPH] = pbpk_olmesartan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); terminal_time = time_CPH(end-14:end)-time_CPH(end-14); terminal_C_plasma = C_plasma_CPH(end-14:end); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC = trapz(time_CPH,C_plasma_CPH); AUC_inf = AUC + C_plasma_CPH(end)/ke_terminal; Plasma_CL = Dose/AUC_inf; AUMC = trapz(time_CPH,C_plasma_CPH.*time_CPH); AUMC_inf = AUMC + C_plasma_CPH(end)*time_CPH(end)/ke_terminal + C_plasma_CPH(end)/ke_terminal^2; MRT = AUMC_inf / AUC_inf; Vdss = MRT*Plasma_CL; [Cmax,ind] = max(C_plasma_CPH); Tmax = time_CPH(ind); display('================================================================') display('Healthy') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(AUC) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(AUC_inf) ' ng*hour/mL']) display(['Plasma CL = ' num2str(Plasma_CL) ' L/hour']) display(['Vdss = ' num2str(Vdss) ' L']) display(['Cmax = ' num2str(Cmax) ' ng/mL']) display(['Tmax = ' num2str(Tmax) ' ng/mL']) display('================================================================') hold on plot(time_CPA,C_plasma_CPA_average,'r',time_CPH,C_plasma_CPH,'b-',time_CPB,C_plasma_CPB_average,'k-') %plot(time_CPA,C_plasma_CPA_LB,'r--',time_CPA,C_plasma_CPA_UB,'r--') %plot(time_CPA,C_plasma_CPB_LB,'k--',time_CPB,C_plasma_CPB_UB,'k--') plot(IV_time_olmesartan,IV_obs_olmesartan_CPA,'ro') plot(IV_time_olmesartan,IV_obs_olmesartan_CPH,'bsq') plot(IV_time_olmesartan,IV_obs_olmesartan_CPB,'kv') hold off title({'(B) Olmesartann';'8 mg IV bolus dosing'},'FontSize',10) ylabel('Concentration (ng/mL)','FontSize',10) xlabel('Time (hours)','FontSize',10) xlim([0,EndT]) C_plasma_CPA_average(1) = []; C_plasma_CPB_average(1) = []; C_plasma_CPH(1) = []; miny1 = min([C_plasma_CPA_average; IV_obs_olmesartan_CPA']); miny2 = min([C_plasma_CPH IV_obs_olmesartan_CPH]); miny3 = min([C_plasma_CPB_average; IV_obs_olmesartan_CPB']); maxy1 = max([C_plasma_CPA_average; IV_obs_olmesartan_CPA']); maxy2 = max([C_plasma_CPH IV_obs_olmesartan_CPH]); maxy3 = max([C_plasma_CPB_average; IV_obs_olmesartan_CPB']); miny = min([miny1,miny2,miny3]); if miny < 1e-2 miny = 1e-2; end maxy = max([maxy1,maxy2,maxy3]); ylim(10.^[floor(log10(miny)),ceil(log10(maxy))]) set(gca,'YTick',10.^(floor(log10(miny)):ceil(log10(maxy))),'YScale','log') % Processing ydata IV_obs_olmesartan_CPA = log10(IV_obs_olmesartan_CPA); IV_pred_olmesartan_CPA = log10(IV_pred_olmesartan_CPA); IV_obs_olmesartan_CPB = log10(IV_obs_olmesartan_CPB); IV_pred_olmesartan_CPB = log10(IV_pred_olmesartan_CPB); % log likelihood function SSE = (norm(IV_obs_olmesartan_CPA' - IV_pred_olmesartan_CPA))^2/length(IV_time_olmesartan) + (norm(IV_obs_olmesartan_CPB' - IV_pred_olmesartan_CPB))^2/length(IV_time_olmesartan); Code for repaglinide simulation Method 1 ¡°pbpk_repaglinide_CP.m¡± function [time, C_plasma] = pbpk_repaglinide_CP(CP,Flg_dose,Dose,InfusionT,EndT) % Disease status specific parameters if CP == 0 % Healthy % {In vitro binding data} fup = 0.0074;% fraction unbound in plasma Rbp = 0.58 ;%blood to plasma ratio fuli = 0.015 ;%fraction unbound in liver % renal CL CLrenal = 0; % plasma clearance (L/h) % blood CO = 108.33 ; % cardiac output (ml/s) % {Tissue fractional blood flows and CO -> Pfizer} FQgu = 0.146462 ; % gut fractional blood flow FQsp = 0.017231 ; % spleen fractional blood flow FQha = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow (venous side) FQki = 0.19 ; % kidney fractional blood flow FQad = 0.05 ; % adipose fractional blood flow FQbo = 0.05 ; % bone fractional blood flow FQbr = 0.12 ; % brain fractional blood flow FQhe = 0.04 ; % heart fractional blood flow FQmu = 0.17 ; % muscle fractional blood flow FQsk = 0.05 ; % skin fractional blood flow FQte = 0.01076 ; % testes fractional blood flow FQre = 0.103855 ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % hepatic clearances CLactive = 1.2e+04 ; % active uptake IVIVE scaling factor CLpassive = 121.5 ; % passive uptake IVIVE scaling factor CLmet = 121.9 ; % metabolism scaling factor CLbile = 0 ; % biliary efflux IVIVE scaling factor elseif CP == 1 % CPA % {In vitro binding data} fup_healthy = 0.0074;% fraction unbound in plasma R_albumin_mean = 0.84; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.15; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.38; HCT_std = 0.05; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 1 - HCT; % drug does not penatrate red cell fuli = 0.015 ;%fraction unbound in liver % renal CL CLrenal_healthy = 0; % CLint renal (L/hr) R_renal_mean = 0.87; %ratio between disease and healthy individuals, predicted using olmesartan and rosuvastatin CLr R_renal_sd = 0.18; R_renal = R_renal_mean + R_renal_sd*randn(1); while R_renal <=0; R_renal = R_renal_mean + R_renal_sd*randn(1); end CLrenal = CLrenal_healthy * R_renal; % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.1; % ratio between diseased and healthy conditions R_CO_std = 0.39; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.72; % ratio between diseased and healthy conditions R_FQgu_std = 0.57; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % if not devided by R_CO, the portal vein will be furture corrected by R_CO when calculating blood flow. In other words, R_FQgu is used to correct Qgut, once Qgut is corrected by R_FQgu, it should not be corrected by R_CO again FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.20; % ratio between diseased and healthy conditions R_FQsp_std = 0.29; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 1.5; % ratio between diseased and healthy conditions R_FQha_std = 1.1; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.88 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; %pause end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.91; % ratio between diseased and healthy conditions R_LiverSize_std = 0.26; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end random_number = rand(1,3); Fraction_uptake = random_number/sum(random_number); Fraction_uptake(4) = 0; R_active = R_OATP1B1*Fraction_uptake(1) + R_OATP1B3*Fraction_uptake(2) + R_OATP2B1*Fraction_uptake(3) + R_NTCP*Fraction_uptake(4); CLactive_healthy = 1.2e+04 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 121.5 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % doi:10.1124/dmd.112.045286 HLM study: 2C8 63%, 3A4 18%, UGT 19%; Fraction_2C8 = 0.63; Fraction_3A4 = 0.18; Fraction_UGT = 0.19; % ratio from Johnson et al 2010 R_2C8 = 16.6/24; R_3A4 = 80.8/137; R_UGT = 1; % Strassburg: UGT is not affected by liver cirrhosis R_met = R_2C8*Fraction_2C8 + R_3A4*Fraction_3A4 + Fraction_UGT*R_UGT; CLmet_healthy = 121.9 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 0 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 2 % CPB % {In vitro binding data} fup_healthy = 0.0074;% fraction unbound in plasma R_albumin_mean = 0.69; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.15; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.34; HCT_std = 0.057; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 1 - HCT; fuli = 0.015 ;%fraction unbound in liver % renal CL CLrenal = 0; % CLint renal (L/hr) % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.2; % ratio between diseased and healthy conditions R_CO_std = 0.34; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.60; % ratio between diseased and healthy conditions R_FQgu_std = 0.61; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.5; % ratio between diseased and healthy conditions R_FQsp_std = 0.52; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 1.7; % ratio between diseased and healthy conditions R_FQha_std = 1.5; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.65 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.81; % ratio between diseased and healthy conditions R_LiverSize_std = 0.26; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end random_number = rand(1,3); Fraction_uptake = random_number/sum(random_number); Fraction_uptake(4) = 0; R_active = R_OATP1B1*Fraction_uptake(1) + R_OATP1B3*Fraction_uptake(2) + R_OATP2B1*Fraction_uptake(3) + R_NTCP*Fraction_uptake(4); CLactive_healthy = 1.2e+04 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 121.5 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % doi:10.1124/dmd.112.045286 HLM study: 2C8 63%, 3A4 18%, UGT 19%; Fraction_2C8 = 0.63; Fraction_3A4 = 0.18; Fraction_UGT = 0.19; % ratio from Johnson et al 2010 R_2C8 = 12.5/24; R_3A4 = 53.2/137; R_UGT = 1; % Strassburg: UGT is not affected by liver cirrhosis R_met = R_2C8*Fraction_2C8 + R_3A4*Fraction_3A4 + Fraction_UGT*R_UGT; CLmet_healthy = 121.9 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 0 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 3 % CPC % {In vitro binding data} fup_healthy = 0.0074;% fraction unbound in plasma R_albumin_mean = 0.53; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.150; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.34; HCT_std = 0.055; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 1 - HCT; fuli = 0.015 ;%fraction unbound in liver % renal CL CLrenal = 0; % CLint renal (L/hr) % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.3; % ratio between diseased and healthy conditions R_CO_std = 0.30; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.13; % ratio between diseased and healthy conditions R_FQgu_std = 0.57; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1) ; while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.5; % ratio between diseased and healthy conditions R_FQsp_std = 0.54; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 2.1; % ratio between diseased and healthy conditions R_FQha_std = 1.9; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.48 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.64; % ratio between diseased and healthy conditions R_LiverSize_std = 0.22; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end random_number = rand(1,3); Fraction_uptake = random_number/sum(random_number); Fraction_uptake(4) = 0; R_active = R_OATP1B1*Fraction_uptake(1) + R_OATP1B3*Fraction_uptake(2) + R_OATP2B1*Fraction_uptake(3) + R_NTCP*Fraction_uptake(4); CLactive_healthy = 1.2e+04 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 121.5 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % doi:10.1124/dmd.112.045286 HLM study: 2C8 63%, 3A4 18%, UGT 19%; Fraction_2C8 = 0.63; Fraction_3A4 = 0.18; Fraction_UGT = 0.19; % ratio from Johnson et al 2010 R_2C8 = 7.9/24; R_3A4 = 34.2/137; R_UGT = 1; % Strassburg: UGT is not affected by liver cirrhosis R_met = R_2C8*Fraction_2C8 + R_3A4*Fraction_3A4 + Fraction_UGT*R_UGT; CLmet_healthy = 121.9 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 0 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level end % SPECIES SPECIFIC PARAMETERS % Fractional Tissue volumes and BW FVadec = 0.0415 ; % Fractional Volume adipose, blood FVadic = 0.1715 ; % Tissue FVbo = 0.085629 ; % Fractional Volume bone FVbr = 0.02 ; % Fractional Volume brain FVgu = 0.0171 ; % Fractional Volume gut FVhe = 0.0047 ; % Fractional Volume heart FVki = 0.0044 ; % Fractional Volume kidney FVlu = 0.0076 ; % Fractional Volume lung FVmuec = 0.07 ; % Fractional Volume muscle tissue FVmuic = 0.33 ;% Fractional Volume muscle blood FVsk = 0.0371 ; % Fractional Volume skin FVsp = 0.0026 ; % Fractional Volume spleen FVte = 0.01 ; % Fractional Volume testes FVve = 0.0514 ; % Fractional Volume venous FVar = 0.0257 ; % Fractional Volume arterial FVre = 0.099771 ; % Fractional Volume rest of body FVlb = 0.004568 ; % Fractional Volume liver blood (Watanabe et al 2009) FVlt = 0.016432 ; % Fractional Volume liver tissue (Watanabe et al 2009) % Tissue volumes and BW BW = 70 ; % BW (kg) Vadec = BW*FVadec ; % Volume adipose blood (L) Vadic = BW*FVadic ; % Volume adipose Tissue (L) Vbo = BW*FVbo ; % Volume bone (L) Vbr = BW*FVbr ; % Volume brain (L) Vgu = BW*FVgu ; % Volume gut (L) Vhe = BW*FVhe ; % Volume heart (L) Vki = BW*FVki ; % Volume kidney (L) Vlb = BW*FVlb ; % Volume liver blood (L) Vlt = BW*FVlt ; % Volume liver tissue (L) Vlu = BW*FVlu ; % Volume lung (L) Vmuec = BW*FVmuec ; % Volume muscle (L), blood Vmuic = BW*FVmuic ; % Volume muscle (L), tissue Vsk = BW*FVsk ; % Volume skin (L) Vsp = BW*FVsp ; % Volume spleen (L) Vte = BW*FVte ; % Volume testes (L) Vve = BW*FVve ; % Volume venous (L) Var = BW*FVar ; % Volume arterial blood (L) Vre = BW*FVre ; % Volume rest of body (L) Vliverbile = 0.318/100 * (Vlt+Vlb) ; %Volume of bile duct in liver (L) % {Tissue blood flows (L/h)-> Pfizer} QC = CO/1000*60*60 ; % total blood flow (L/hr) Qad = QC*FQad ; % adipose blood flow (L/hr) Qbo = QC*FQbo ; % bone blood flow (L/hr) Qbr = QC*FQbr ; % brain blood flow (L/hr) Qgu = QC*FQgu ; % gut blood flow (L/hr) Qhe = QC*FQhe ; % heart blood flow (L/hr) Qki = QC*FQki ; % kidney blood flow (L/hr) Qsp = QC*FQsp ; % spleen blood flow (L/hr) Qha = QC*FQha ; % blood flow hepatic artery (L/hr) Qlu = QC*FQlu ; % lung blood flow (L/hr) Qmu = QC*FQmu ; % muscle blood flow (L/hr) Qsk = QC*FQsk ; % skin blood flow (L/hr) Qte = QC*FQte ; % testes blood flow (L/hr) Qre = QC*FQre ; % remaining tissue blood flow (L/hr) Qh = Qha + Qgu + Qsp ; % hepatic blood flow (venous side) (L/hr) % Liver bile flow %Qliverbile = 0.43/1000*60; % liver bile flow (L/hr), Boyer and Bloomer 1974 %Qliverbile = 350/1000/24 ; % liver bile flow (L/hr), Davies and Morris 1993 %Qliverbile = 1/24; % liver bile flow (L/hr), Insights in Physiology by Sudha Vinayak Khanorkar Qliverbile = 0; % ;###################################################################################### % COMPOUND SPECIFIC PARAMETERS % {Tissue plasma-partition coefficients} logD = 2.1; % Jones, et al. pKa = [4.4 6.1]; % Jones et al, FLG_COMPD = 5; % monoprotic acid FLG_DISP = 0; % Do NOT display Kp values Kp = Kp_calculation_new(logD,pKa,fup,Rbp,FLG_COMPD,FLG_DISP); Kpad = Kp(1) ;%adipose Kpbo = Kp(2) ;%bone Kpbr = Kp(3) ;%brain Kpgu = Kp(4) ;%gut Kphe = Kp(5) ;%heart Kpki = Kp(6) ;%kidney Kplu = Kp(8) ;%lung Kpmu = Kp(9) ;%muscle Kpsk = Kp(11) ;%skin Kpsp = Kp(12) ;%spleen Kpte = Kp(9) ;%testes Kpre = Kp(9) ;%rest of body % Absorption parameter ka = 1.0084; % absorption rate F = 1; % Fa*Fg % hepatic efflux CLefflux = 0; % Efflux back to blood (L/hr) % tissue clearance HPPGL = 120; % million cells per g liver CLpassiveHep = CLpassive/(HPPGL*(Vlt+Vlb)*60/1000); % hepatocyte (ul/min/Mcells) unbound passive CL, SA_hepatocyte = 15*15*6*1e-8; % cm^2, hepatocyte 15 um side cubic Papp = CLpassiveHep*60/1000/1e6/SA_hepatocyte; % cm/hour V_musclecell = (1.5/2)^2*pi*50*1e-12; %cm^3, 1.5 um diameter, 50 um length, cylindrical number_musclecell = Vmuic*1000/V_musclecell; % number of muscle cells in muscle SA_musclecell = 1.5*pi*50*1e-8; % cm^2, 1.5 um diameter, 50 um length, cylindrical SAmu = number_musclecell*SA_musclecell ; % cm^2 V_fatcell = 4/3*(100/2)^3*pi*1e-12; %cm^3, fat cell, 100 um diameter number_fatcell = Vadic*1000/V_fatcell; SA_fatcell = 4*pi*(100/2)^2*1e-8; % cm^2, fat cell, 100 um diameter SAad = number_fatcell*SA_fatcell; % cm^2 CLad = Papp * SAad/1000; % L/h CLmu = Papp * SAmu/1000; % L/h % convert renal clearance into unbound renal clearance, assuming well stirred CLrenal_unbound = CLrenal/Rbp / (fup/Rbp* (1-CLrenal/Rbp/Qki) ); % CLint renal (L/hr) p = [Kpad, Kpbo, Kpbr, Kpgu, Kphe, Kpki, Kplu, Kpmu, Kpsk, Kpsp, Kpte, Kpre,... fup, Rbp, fuli, CLmet, CLpassive, CLactive, CLbile, CLrenal_unbound, CLefflux,... Vadec, Vbo, Vbr, Vgu, Vhe, Vki, Vlb, Vlt, Vlu, Vmuec, Vsk, Vsp, Vte, Vve, Var, Vre,... Qad, Qbo, Qbr, Qgu, Qhe, Qki, Qh, Qsp, Qha, Qlu, Qmu, Qsk, Qte, Qre,... ka, F, Qliverbile, Vliverbile, Vadic, Vmuic, CLad, CLmu ]; % Dosing t0 = 0; % starting time y0 = zeros(1, 29); if Flg_dose == 1 IVRate1 = Dose/InfusionT; % ug/h IVRate2 = 0; % during infuion u1 = IVRate1; [t1, y1] = pbpk_EC_permeableT_permeableLiver_matlab( linspace(t0,InfusionT,25), y0, p, u1, [1e-3,1e-6,10] ); % after infusion u2 = IVRate2; [t2, y2] = pbpk_EC_permeableT_permeableLiver_matlab( linspace(0,EndT-InfusionT,450), y1(:,end), p, u2, [1e-3,1e-6,10] ); C_plasma = [y1(1,:) y2(1,2:end)]/Rbp; time = [t1 t2(2:end)+InfusionT]; elseif Flg_dose == 2 y0(26) = Dose; IVRate1 = 0; % after oral dosing u1 = IVRate1; [t1, y1] = pbpk_EC_permeableT_permeableLiver_matlab( linspace(t0,EndT,500), y0, p, u1, [1e-3,1e-6,10] ); C_plasma = y1(1,:) /Rbp; time = t1 ; end ¡°run_repaglinide_CP.m¡± function run_repaglinide_CP subplot(3,2,3) % iv data (ug/L) % repaglinide 4 mg oral dosing , CPB oral_time_repaglinide = [0.25 0.50 0.75 1.00 1.26 1.52 2.02 2.52 3.02 4.01 5.00]; % 8 CPB 4 CPC num_sbuject_CP = 12; oral_obs_repaglinide_CP =[45.52 93.88 82.73 87.53 81.22 69.22 48.34 37.72 33.08 24.37 17.94] ; oral_SD_repaglinide_CP = [25.63 28.57 24.55 37.57 30.45 29.02 21.79 20.93 18.80 19.67 14.30]; oral_PI_repaglinide_CP = oral_SD_repaglinide_CP .* tinv(0.975,num_sbuject_CP-1) .* sqrt(1 + 1/num_sbuject_CP); % CPH num_sbuject_CPH = 12; oral_obs_repaglinide_CPH = [9.35 34.08 38.03 32.29 27.40 20.24 15.03 9.53 7.74 3.87 3.42]; oral_SD_repaglinide_CPH = [11.19 30.08 17.91 15.43 17.80 12.27 8.23 8.20 5.95 2.73 2.29]; oral_PI_repaglinide_CPH = oral_SD_repaglinide_CPH .* tinv(0.975,num_sbuject_CPH-1) .* sqrt(1 + 1/num_sbuject_CPH); % Simulation Flg_dose = 2; Dose = 4000; % ug InfusionT = 0; % no infusion EndT = oral_time_repaglinide(end); number_simulation = 1200; C_plasma_CP = zeros(500,number_simulation); ke_terminal = zeros(1,number_simulation); AUC = zeros(1,number_simulation); AUC_inf = zeros(1,number_simulation); Plasma_CL = zeros(1,number_simulation); AUMC = zeros(1,number_simulation); AUMC_inf = zeros(1,number_simulation); MRT = zeros(1,number_simulation); Vdss = zeros(1,number_simulation); Cmax = zeros(1,number_simulation); Tmax = zeros(1,number_simulation); for i = 1:800 CP = 2; % CPB [time_CP, C_plasma_CP(:,i)] = pbpk_repaglinide_CP(CP,Flg_dose,Dose,InfusionT,EndT); time_CP = transpose(time_CP); terminal_time = time_CP(end-14:end)-time_CP(end-14); terminal_C_plasma = C_plasma_CP(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal(i) = -curve_fit(1); AUC(i) = trapz(time_CP,C_plasma_CP(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CP(end,i)/ke_terminal(i); Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CP,C_plasma_CP(:,i).*time_CP); AUMC_inf(i) = AUMC(i) + C_plasma_CP(end,i)*time_CP(end)/ke_terminal(i) + C_plasma_CP(end,i)/ke_terminal(i)^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CP(:,i)); Tmax(i) = time_CP(ind); end for i = 801:1200 CP = 3; % CPC [time_CP, C_plasma_CP(:,i)] = pbpk_repaglinide_CP(CP,Flg_dose,Dose,InfusionT,EndT); time_CP = transpose(time_CP); terminal_time = time_CP(end-14:end)-time_CP(end-14); terminal_C_plasma = C_plasma_CP(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal(i) = -curve_fit(1); AUC(i) = trapz(time_CP,C_plasma_CP(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CP(end,i)/ke_terminal(i); AUMC(i) = trapz(time_CP,C_plasma_CP(:,i).*time_CP); AUMC_inf(i) = AUMC(i) + C_plasma_CP(end,i)*time_CP(end)/ke_terminal(i) + C_plasma_CP(end,i)/ke_terminal(i)^2; Plasma_CL(i) = Dose/AUC_inf(i); MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CP(:,i)); Tmax(i) = time_CP(ind); end index = find(ke_terminal<=0); AUC(index) = []; AUC_inf(index) = []; Plasma_CL(index) = []; Vdss(index) = []; Cmax(index) = []; Tmax(index) = []; C_plasma_CP(:,index) = []; C_plasma_CP_average = zeros(500,1); C_plasma_CP_UB = zeros(500,1); C_plasma_CP_LB = zeros(500,1); for i = 1:500 C_plasma_CP_average(i) = mean(C_plasma_CP(i,:)); C_plasma_CP_UB(i) = prctile(C_plasma_CP(i,:),97.5); C_plasma_CP_LB(i) = prctile(C_plasma_CP(i,:),2.5); end display('================================================================') display('Liver Cirrhosis 8 CP-B and 4 CP-C') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(mean(AUC)) ' || 95% Prediction interval [ ' num2str(prctile(AUC,[2.5,97.5])) ' ] ng*hour/mL']) display(['AUC 0-inf = ' num2str(mean(AUC_inf)) ' || 95% Prediction interval [ ' num2str(prctile(AUC_inf,[2.5,97.5])) ' ] ng*hour/mL']) display(['Plasma CL = ' num2str(mean(Plasma_CL)) ' || 95% Prediction interval [ ' num2str(prctile(Plasma_CL,[2.5,97.5])) ' ] L/hour']) display(['Vdss = ' num2str(mean(Vdss)) ' || 95% Prediction interval [ ' num2str(prctile(Vdss,[2.5,97.5])) ' ] L']) display(['Cmax = ' num2str(mean(Cmax)) ' || 95% Prediction interval [ ' num2str(prctile(Cmax,[2.5,97.5])) ' ] ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' || range: [ ' num2str([min(Tmax) max(Tmax)]) ' ] ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(ke_terminal<=0))) ' of them lead to terminal elimination rate negative or zero, and are rejected' ]) display('================================================================') CP = 0; % CPH [time_CPH, C_plasma_CPH] = pbpk_repaglinide_CP(CP,Flg_dose,Dose,InfusionT,EndT); terminal_time = time_CPH(end-14:end)-time_CPH(end-14); terminal_C_plasma = C_plasma_CPH(end-14:end); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC = trapz(time_CPH,C_plasma_CPH); AUC_inf = AUC + C_plasma_CPH(end)/ke_terminal; Plasma_CL = Dose/AUC_inf; AUMC = trapz(time_CPH,C_plasma_CPH.*time_CPH); AUMC_inf = AUMC + C_plasma_CPH(end)*time_CPH(end)/ke_terminal + C_plasma_CPH(end)/ke_terminal^2; MRT = AUMC_inf / AUC_inf; Vdss = MRT*Plasma_CL; [Cmax,ind] = max(C_plasma_CPH); Tmax = time_CPH(ind); display('================================================================') display('Healthy') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(AUC) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(AUC_inf) ' ng*hour/mL']) display(['Plasma CL = ' num2str(Plasma_CL) ' L/hour']) display(['Vdss = ' num2str(Vdss) ' L']) display(['Cmax = ' num2str(Cmax) ' ng/mL']) display(['Tmax = ' num2str(Tmax) ' ng/mL']) display('================================================================') hold on errorbar(oral_time_repaglinide,oral_obs_repaglinide_CP,zeros(1,length(oral_time_repaglinide)),oral_obs_repaglinide_CP+oral_PI_repaglinide_CP,'kv') errorbar(oral_time_repaglinide,oral_obs_repaglinide_CPH,zeros(1,length(oral_time_repaglinide)),oral_obs_repaglinide_CPH+oral_PI_repaglinide_CPH,'bsq') plot(time_CP,C_plasma_CP_average,'k',time_CP,C_plasma_CP_LB,'k--',time_CP,C_plasma_CP_UB,'k--',... time_CPH,C_plasma_CPH,'b') hold off title({'(C) Repaglinide';'4 mg oral dosing'},'FontSize',10) ylabel('Concentration (ng/mL)','FontSize',10) xlabel('Time (hours)','FontSize',10) xlim([0,oral_time_repaglinide(end)]) C_plasma_CP_average(1) = []; C_plasma_CPH(1) = []; miny1 = min([C_plasma_CP_average; oral_obs_repaglinide_CP']); miny2 = min([C_plasma_CPH oral_obs_repaglinide_CPH]); maxy1 = max([C_plasma_CP_average; oral_obs_repaglinide_CP'+oral_PI_repaglinide_CP']); maxy2 = max([C_plasma_CPH oral_obs_repaglinide_CPH+oral_PI_repaglinide_CPH]); miny = min([miny1,miny2]); maxy = max([maxy1,maxy2]); ylim(10.^[floor(log10(miny)),ceil(log10(maxy))]) set(gca,'YTick',10.^(floor(log10(miny)):ceil(log10(maxy))),'YScale','log') Code for repaglinide simulation Method 2 ¡°pbpk_repaglinide_CP.m¡± function [time, C_plasma] = pbpk_repaglinide_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi) % Disease status specific parameters if CP == 0 % Healthy % {In vitro binding data} fup = 0.0074;% fraction unbound in plasma Rbp = 0.58 ;%blood to plasma ratio fuli = 0.015 ;%fraction unbound in liver % renal CL CLrenal = 0; % plasma clearance (L/h) % blood CO = 108.33 ; % cardiac output (ml/s) % {Tissue fractional blood flows and CO -> Pfizer} FQgu = 0.146462 ; % gut fractional blood flow FQsp = 0.017231 ; % spleen fractional blood flow FQha = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow (venous side) FQki = 0.19 ; % kidney fractional blood flow FQad = 0.05 ; % adipose fractional blood flow FQbo = 0.05 ; % bone fractional blood flow FQbr = 0.12 ; % brain fractional blood flow FQhe = 0.04 ; % heart fractional blood flow FQmu = 0.17 ; % muscle fractional blood flow FQsk = 0.05 ; % skin fractional blood flow FQte = 0.01076 ; % testes fractional blood flow FQre = 0.103855 ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % hepatic clearances CLactive = 1.2e+04 ; % active uptake IVIVE scaling factor CLpassive = 121.5 ; % passive uptake IVIVE scaling factor CLmet = 121.9 ; % metabolism scaling factor CLbile = 0 ; % biliary efflux IVIVE scaling factor elseif CP == 2 % CPB % {In vitro binding data} fup_healthy = 0.0074;% fraction unbound in plasma R_albumin = 0.69; % Mean, albumin ratio between disease and healthy individuals fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT = 0.34; Rbp = 1 - HCT; fuli = 0.015 ;%fraction unbound in liver % renal CL CLrenal = 0; % CLint renal (L/hr) % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO = 1.17; % ratio between diseased and healthy conditions CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu = 0.60; % ratio between diseased and healthy conditions FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp = 1.46; % ratio between diseased and healthy conditions FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha = 1.7; % ratio between diseased and healthy conditions FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.65 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize = 0.81; % ratio between diseased and healthy conditions % hepatic clearance % Active uptake Fraction_1 = phi(1); Fraction_2 = (1-Fraction_1)*phi(2); Fraction_3 = 1 - Fraction_1 - Fraction_2; R_transporter_1 = phi(3); R_transporter_2 = phi(4); R_transporter_3 = phi(5); R_active = R_transporter_1 * Fraction_1 + R_transporter_2 * Fraction_2 + R_transporter_3 * Fraction_3; CLactive_healthy = 1.2e+04 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 121.5 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % doi:10.1124/dmd.112.045286 HLM study: 2C8 63%, 3A4 18%, UGT 19%; Fraction_2C8 = 0.63; Fraction_3A4 = 0.18; Fraction_UGT = 0.19; % ratio from Johnson et al 2010 R_2C8 = 12.5/24; R_3A4 = 53.2/137; R_UGT = 1; % Strassburg: UGT is not affected by liver cirrhosis R_met = R_2C8*Fraction_2C8 + R_3A4*Fraction_3A4 + Fraction_UGT*R_UGT; CLmet_healthy = 121.9 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_efflux = phi(6); CLbile_healthy = 0 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 3 % CPC % {In vitro binding data} fup_healthy = 0.0074;% fraction unbound in plasma R_albumin = 0.53; % Mean, albumin ratio between disease and healthy individuals fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT = 0.34; Rbp = 1 - HCT; fuli = 0.015 ;%fraction unbound in liver % renal CL CLrenal = 0; % CLint renal (L/hr) % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO = 1.32; % ratio between diseased and healthy conditions CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu = 0.13; % ratio between diseased and healthy conditions FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp = 1.54; % ratio between diseased and healthy conditions FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha = 2.1; % ratio between diseased and healthy conditions FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.48 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize = 0.64; % ratio between diseased and healthy conditions % hepatic clearance % Active uptake Fraction_1 = phi(1); Fraction_2 = (1-Fraction_1)*phi(2); Fraction_3 = 1 - Fraction_1 - Fraction_2; R_transporter_1 = phi(7); R_transporter_2 = phi(8); R_transporter_3 = phi(9); R_active = R_transporter_1 * Fraction_1 + R_transporter_2 * Fraction_2 + R_transporter_3 * Fraction_3; CLactive_healthy = 1.2e+04 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 121.5 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % doi:10.1124/dmd.112.045286 HLM study: 2C8 63%, 3A4 18%, UGT 19%; Fraction_2C8 = 0.63; Fraction_3A4 = 0.18; Fraction_UGT = 0.19; % ratio from Johnson et al 2010 R_2C8 = 7.9/24; R_3A4 = 34.2/137; R_UGT = 1; % Strassburg: UGT is not affected by liver cirrhosis R_met = R_2C8*Fraction_2C8 + R_3A4*Fraction_3A4 + Fraction_UGT*R_UGT; CLmet_healthy = 121.9 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_efflux = phi(10); CLbile_healthy = 0 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level end % SPECIES SPECIFIC PARAMETERS % Fractional Tissue volumes and BW FVadec = 0.0415 ; % Fractional Volume adipose, blood FVadic = 0.1715 ; % Tissue FVbo = 0.085629 ; % Fractional Volume bone FVbr = 0.02 ; % Fractional Volume brain FVgu = 0.0171 ; % Fractional Volume gut FVhe = 0.0047 ; % Fractional Volume heart FVki = 0.0044 ; % Fractional Volume kidney FVlu = 0.0076 ; % Fractional Volume lung FVmuec = 0.07 ; % Fractional Volume muscle tissue FVmuic = 0.33 ;% Fractional Volume muscle blood FVsk = 0.0371 ; % Fractional Volume skin FVsp = 0.0026 ; % Fractional Volume spleen FVte = 0.01 ; % Fractional Volume testes FVve = 0.0514 ; % Fractional Volume venous FVar = 0.0257 ; % Fractional Volume arterial FVre = 0.099771 ; % Fractional Volume rest of body FVlb = 0.004568 ; % Fractional Volume liver blood (Watanabe et al 2009) FVlt = 0.016432 ; % Fractional Volume liver tissue (Watanabe et al 2009) % Tissue volumes and BW BW = 70 ; % BW (kg) Vadec = BW*FVadec ; % Volume adipose blood (L) Vadic = BW*FVadic ; % Volume adipose Tissue (L) Vbo = BW*FVbo ; % Volume bone (L) Vbr = BW*FVbr ; % Volume brain (L) Vgu = BW*FVgu ; % Volume gut (L) Vhe = BW*FVhe ; % Volume heart (L) Vki = BW*FVki ; % Volume kidney (L) Vlb = BW*FVlb ; % Volume liver blood (L) Vlt = BW*FVlt ; % Volume liver tissue (L) Vlu = BW*FVlu ; % Volume lung (L) Vmuec = BW*FVmuec ; % Volume muscle (L), blood Vmuic = BW*FVmuic ; % Volume muscle (L), tissue Vsk = BW*FVsk ; % Volume skin (L) Vsp = BW*FVsp ; % Volume spleen (L) Vte = BW*FVte ; % Volume testes (L) Vve = BW*FVve ; % Volume venous (L) Var = BW*FVar ; % Volume arterial blood (L) Vre = BW*FVre ; % Volume rest of body (L) Vliverbile = 0.318/100 * (Vlt+Vlb) ; %Volume of bile duct in liver (L) % {Tissue blood flows (L/h)-> Pfizer} QC = CO/1000*60*60 ; % total blood flow (L/hr) Qad = QC*FQad ; % adipose blood flow (L/hr) Qbo = QC*FQbo ; % bone blood flow (L/hr) Qbr = QC*FQbr ; % brain blood flow (L/hr) Qgu = QC*FQgu ; % gut blood flow (L/hr) Qhe = QC*FQhe ; % heart blood flow (L/hr) Qki = QC*FQki ; % kidney blood flow (L/hr) Qsp = QC*FQsp ; % spleen blood flow (L/hr) Qha = QC*FQha ; % blood flow hepatic artery (L/hr) Qlu = QC*FQlu ; % lung blood flow (L/hr) Qmu = QC*FQmu ; % muscle blood flow (L/hr) Qsk = QC*FQsk ; % skin blood flow (L/hr) Qte = QC*FQte ; % testes blood flow (L/hr) Qre = QC*FQre ; % remaining tissue blood flow (L/hr) Qh = Qha + Qgu + Qsp ; % hepatic blood flow (venous side) (L/hr) % Liver bile flow %Qliverbile = 0.43/1000*60; % liver bile flow (L/hr), Boyer and Bloomer 1974 %Qliverbile = 350/1000/24 ; % liver bile flow (L/hr), Davies and Morris 1993 %Qliverbile = 1/24; % liver bile flow (L/hr), Insights in Physiology by Sudha Vinayak Khanorkar Qliverbile = 0; % ;###################################################################################### % COMPOUND SPECIFIC PARAMETERS % {Tissue plasma-partition coefficients} logD = 2.1; % Jones, et al. pKa = [4.4 6.1]; % Jones et al, FLG_COMPD = 5; % monoprotic acid FLG_DISP = 0; % Do NOT display Kp values Kp = Kp_calculation_new(logD,pKa,fup,Rbp,FLG_COMPD,FLG_DISP); Kpad = Kp(1) ;%adipose Kpbo = Kp(2) ;%bone Kpbr = Kp(3) ;%brain Kpgu = Kp(4) ;%gut Kphe = Kp(5) ;%heart Kpki = Kp(6) ;%kidney Kplu = Kp(8) ;%lung Kpmu = Kp(9) ;%muscle Kpsk = Kp(11) ;%skin Kpsp = Kp(12) ;%spleen Kpte = Kp(9) ;%testes Kpre = Kp(9) ;%rest of body % Absorption parameter ka = 1.0084; % absorption rate F = 1; % Fa*Fg % hepatic efflux CLefflux = 0; % Efflux back to blood (L/hr) % tissue clearance HPPGL = 120; % million cells per g liver CLpassiveHep = CLpassive/(HPPGL*(Vlt+Vlb)*60/1000); % hepatocyte (ul/min/Mcells) unbound passive CL, SA_hepatocyte = 15*15*6*1e-8; % cm^2, hepatocyte 15 um side cubic Papp = CLpassiveHep*60/1000/1e6/SA_hepatocyte; % cm/hour V_musclecell = (1.5/2)^2*pi*50*1e-12; %cm^3, 1.5 um diameter, 50 um length, cylindrical number_musclecell = Vmuic*1000/V_musclecell; % number of muscle cells in muscle SA_musclecell = 1.5*pi*50*1e-8; % cm^2, 1.5 um diameter, 50 um length, cylindrical SAmu = number_musclecell*SA_musclecell ; % cm^2 V_fatcell = 4/3*(100/2)^3*pi*1e-12; %cm^3, fat cell, 100 um diameter number_fatcell = Vadic*1000/V_fatcell; SA_fatcell = 4*pi*(100/2)^2*1e-8; % cm^2, fat cell, 100 um diameter SAad = number_fatcell*SA_fatcell; % cm^2 CLad = Papp * SAad/1000; % L/h CLmu = Papp * SAmu/1000; % L/h % convert renal clearance into unbound renal clearance, assuming well stirred CLrenal_unbound = CLrenal/Rbp / (fup/Rbp* (1-CLrenal/Rbp/Qki) ); % CLint renal (L/hr) p = [Kpad, Kpbo, Kpbr, Kpgu, Kphe, Kpki, Kplu, Kpmu, Kpsk, Kpsp, Kpte, Kpre,... fup, Rbp, fuli, CLmet, CLpassive, CLactive, CLbile, CLrenal_unbound, CLefflux,... Vadec, Vbo, Vbr, Vgu, Vhe, Vki, Vlb, Vlt, Vlu, Vmuec, Vsk, Vsp, Vte, Vve, Var, Vre,... Qad, Qbo, Qbr, Qgu, Qhe, Qki, Qh, Qsp, Qha, Qlu, Qmu, Qsk, Qte, Qre,... ka, F, Qliverbile, Vliverbile, Vadic, Vmuic, CLad, CLmu ]; % Dosing t0 = 0; % starting time y0 = zeros(1, 29); if Flg_dose == 1 IVRate1 = Dose/InfusionT; % ug/h IVRate2 = 0; % during infuion u1 = IVRate1; [t1, y1] = pbpk_EC_permeableT_permeableLiver_matlab( linspace(t0,InfusionT,25), y0, p, u1, [1e-3,1e-6,10] ); % after infusion u2 = IVRate2; [t2, y2] = pbpk_EC_permeableT_permeableLiver_matlab( linspace(0,EndT-InfusionT,450), y1(:,end), p, u2, [1e-3,1e-6,10] ); C_plasma = [y1(1,:) y2(1,2:end)]/Rbp; time = [t1 t2(2:end)+InfusionT]; elseif Flg_dose == 2 y0(26) = Dose; IVRate1 = 0; % after oral dosing u1 = IVRate1; [t1, y1] = pbpk_EC_permeableT_permeableLiver_matlab( linspace(t0,EndT,500), y0, p, u1, [1e-3,1e-6,10] ); C_plasma = y1(1,:) /Rbp; time = t1 ; end ¡°run_repaglinide_CP.m¡± function SSE = run_repaglinide_CP(phi) subplot(3,2,3) % iv data (ug/L) % repaglinide 4 mg oral dosing , CPB oral_time_repaglinide = [0.25 0.50 0.75 1.00 1.26 1.52 2.02 2.52 3.02 4.01 5.00]; % 8 CPB 4 CPC num_sbuject_CP = 12; oral_obs_repaglinide_CP =[45.52 93.88 82.73 87.53 81.22 69.22 48.34 37.72 33.08 24.37 17.94] ; oral_SD_repaglinide_CP = [25.63 28.57 24.55 37.57 30.45 29.02 21.79 20.93 18.80 19.67 14.30]; oral_PI_repaglinide_CP = oral_SD_repaglinide_CP .* tinv(0.975,num_sbuject_CP-1) .* sqrt(1 + 1/num_sbuject_CP); % CPH num_sbuject_CPH = 12; oral_obs_repaglinide_CPH = [9.35 34.08 38.03 32.29 27.40 20.24 15.03 9.53 7.74 3.87 3.42]; oral_SD_repaglinide_CPH = [11.19 30.08 17.91 15.43 17.80 12.27 8.23 8.20 5.95 2.73 2.29]; oral_PI_repaglinide_CPH = oral_SD_repaglinide_CPH .* tinv(0.975,num_sbuject_CPH-1) .* sqrt(1 + 1/num_sbuject_CPH); % Simulation Flg_dose = 2; Dose = 4000; % ug InfusionT = 0; % no infusion EndT = oral_time_repaglinide(end); number_simulation = 4; C_plasma_CP = zeros(500,number_simulation); AUC = zeros(1,number_simulation); AUC_inf = zeros(1,number_simulation); Plasma_CL = zeros(1,number_simulation); AUMC = zeros(1,number_simulation); AUMC_inf = zeros(1,number_simulation); MRT = zeros(1,number_simulation); Vdss = zeros(1,number_simulation); Cmax = zeros(1,number_simulation); Tmax = zeros(1,number_simulation); for i = 1:3 CP = 2; % CPB [time_CP, C_plasma_CP(:,i)] = pbpk_repaglinide_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); time_CP = transpose(time_CP); terminal_time = time_CP(end-14:end)-time_CP(end-14); terminal_C_plasma = C_plasma_CP(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC(i) = trapz(time_CP,C_plasma_CP(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CP(end,i)/ke_terminal; Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CP,C_plasma_CP(:,i).*time_CP); AUMC_inf(i) = AUMC(i) + C_plasma_CP(end,i)*time_CP(end)/ke_terminal + C_plasma_CP(end,i)/ke_terminal^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CP(:,i)); Tmax(i) = time_CP(ind); end for i = 4 CP = 3; % CPC [time_CP, C_plasma_CP(:,i)] = pbpk_repaglinide_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); time_CP = transpose(time_CP); terminal_time = time_CP(end-14:end)-time_CP(end-14); terminal_C_plasma = C_plasma_CP(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC(i) = trapz(time_CP,C_plasma_CP(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CP(end,i)/ke_terminal; AUMC(i) = trapz(time_CP,C_plasma_CP(:,i).*time_CP); AUMC_inf(i) = AUMC(i) + C_plasma_CP(end,i)*time_CP(end)/ke_terminal + C_plasma_CP(end,i)/ke_terminal^2; if ke_terminal<=0 AUC_inf(i) = AUC(i); AUMC_inf(i) = AUMC(i); end Plasma_CL(i) = Dose/AUC_inf(i); MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CP(:,i)); Tmax(i) = time_CP(ind); end C_plasma_CP_average = zeros(500,1); C_plasma_CP_UB = zeros(500,1); C_plasma_CP_LB = zeros(500,1); for i = 1:500 C_plasma_CP_average(i) = mean(C_plasma_CP(i,:)); C_plasma_CP_UB(i) = prctile(C_plasma_CP(i,:),97.5); C_plasma_CP_LB(i) = prctile(C_plasma_CP(i,:),2.5); end oral_pred_repaglinide_CP = interp1q(time_CP,C_plasma_CP_average,oral_time_repaglinide'); display('================================================================') display('Liver Cirrhosis 8 CP-B and 4 CP-C') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(mean(AUC)) ' +/-SD ' num2str(std(AUC)) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(mean(AUC_inf)) ' +/-SD ' num2str(std(AUC_inf)) ' ng*hour/mL']) display(['Plasma CL = ' num2str(mean(Plasma_CL)) ' +/-SD ' num2str(std(Plasma_CL)) ' L/hour']) display(['Vdss = ' num2str(mean(Vdss)) ' +/-SD ' num2str(std(Vdss)) ' L']) display(['Cmax = ' num2str(mean(Cmax)) ' +/-SD ' num2str(std(Cmax)) ' ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' range: ( ' num2str([min(Tmax) max(Tmax)]) ' ) ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(AUC < 1))) ' of them lead to AUC negative or zero' ]) display('================================================================') CP = 0; % CPH [time_CPH, C_plasma_CPH] = pbpk_repaglinide_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); terminal_time = time_CPH(end-14:end)-time_CPH(end-14); terminal_C_plasma = C_plasma_CPH(end-14:end); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC = trapz(time_CPH,C_plasma_CPH); AUC_inf = AUC + C_plasma_CPH(end)/ke_terminal; Plasma_CL = Dose/AUC_inf; AUMC = trapz(time_CPH,C_plasma_CPH.*time_CPH); AUMC_inf = AUMC + C_plasma_CPH(end)*time_CPH(end)/ke_terminal + C_plasma_CPH(end)/ke_terminal^2; MRT = AUMC_inf / AUC_inf; Vdss = MRT*Plasma_CL; [Cmax,ind] = max(C_plasma_CPH); Tmax = time_CPH(ind); display('================================================================') display('Healthy') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(AUC) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(AUC_inf) ' ng*hour/mL']) display(['Plasma CL = ' num2str(Plasma_CL) ' L/hour']) display(['Vdss = ' num2str(Vdss) ' L']) display(['Cmax = ' num2str(Cmax) ' ng/mL']) display(['Tmax = ' num2str(Tmax) ' ng/mL']) display('================================================================') hold on errorbar(oral_time_repaglinide,oral_obs_repaglinide_CP,zeros(1,length(oral_time_repaglinide)),oral_obs_repaglinide_CP+oral_PI_repaglinide_CP,'kv') errorbar(oral_time_repaglinide,oral_obs_repaglinide_CPH,zeros(1,length(oral_time_repaglinide)),oral_obs_repaglinide_CPH+oral_PI_repaglinide_CPH,'bsq') plot(time_CP,C_plasma_CP_average,'k',... ...time_CP,C_plasma_CP_LB,'k--',time_CP,C_plasma_CP_UB,'k--',... time_CPH,C_plasma_CPH,'b') hold off title({'(C) Repaglinide';'4 mg oral dosing'},'FontSize',10) ylabel('Concentration (ng/mL)','FontSize',10) xlabel('Time (hours)','FontSize',10) xlim([0,oral_time_repaglinide(end)]) C_plasma_CP_average(1) = []; C_plasma_CPH(1) = []; miny1 = min([C_plasma_CP_average; oral_obs_repaglinide_CP']); miny2 = min([C_plasma_CPH oral_obs_repaglinide_CPH]); maxy1 = max([C_plasma_CP_average; oral_obs_repaglinide_CP'+oral_PI_repaglinide_CP']); maxy2 = max([C_plasma_CPH oral_obs_repaglinide_CPH+oral_PI_repaglinide_CPH]); miny = min([miny1,miny2]); maxy = max([maxy1,maxy2]); ylim(10.^[floor(log10(miny)),ceil(log10(maxy))]) set(gca,'YTick',10.^(floor(log10(miny)):ceil(log10(maxy))),'YScale','log') % Processing ydata oral_obs_repaglinide_CP = log10(oral_obs_repaglinide_CP); oral_pred_repaglinide_CP = log10(oral_pred_repaglinide_CP); % log likelihood function SSE = (norm(oral_obs_repaglinide_CP' - oral_pred_repaglinide_CP))^2/length(oral_time_repaglinide); Code for telmisartan simulation Method 1 ¡°pbpk_telmisartan_CP.m¡± function [time, C_plasma] = pbpk_telmisartan_CP(CP,Flg_dose,Dose,InfusionT,EndT) % Disease status specific parameters if CP == 0 % Healthy % {In vitro binding data} fup = 0.005;% fraction unbound in plasma Rbp = 0.775 ;%blood to plasma ratio fuli = 0.013 ; % fraction unbound in liver fuli_glu = 0.0073; % unbound fraction of glucuronide in liver % renal CL CLrenal = 0; % plasma clearance (L/h) % blood CO = 108.33 ; % cardiac output (ml/s) % {Tissue fractional blood flows and CO -> Pfizer} FQgu = 0.146462 ; % gut fractional blood flow FQsp = 0.017231 ; % spleen fractional blood flow FQha = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow (venous side) FQki = 0.19 ; % kidney fractional blood flow FQad = 0.05 ; % adipose fractional blood flow FQbo = 0.05 ; % bone fractional blood flow FQbr = 0.12 ; % brain fractional blood flow FQhe = 0.04 ; % heart fractional blood flow FQmu = 0.17 ; % muscle fractional blood flow FQsk = 0.05 ; % skin fractional blood flow FQte = 0.01076 ; % testes fractional blood flow FQre = 0.103855 ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow R_LiverSize = 1; % hepatic clearances CLactive = 31000 ; % active uptake CLpassive = 70 ; % passive uptake CLmet = 530 ; % metabolism CLbile = 0.62 ; % biliary efflux CLbile_glu = 62 ; % biliary efflux elseif CP == 1 % CPA % {In vitro binding data} fup_healthy = 0.005;% fraction unbound in plasma R_albumin_mean = 0.84; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.15; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.38; HCT_std = 0.017; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 0.5*HCT + 1 - HCT; % drug does not penatrate red cell fuli = 0.013 ; % fraction unbound in liver fuli_glu = 0.0073; % unbound fraction of glucuronide in liver % renal CL CLrenal = 0; % CLint renal (L/hr) % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.1; % ratio between diseased and healthy conditions R_CO_std = 0.39; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.72; % ratio between diseased and healthy conditions R_FQgu_std = 0.57; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % if not devided by R_CO, the portal vein will be furture corrected by R_CO when calculating blood flow. In other words, R_FQgu is used to correct Qgut, once Qgut is corrected by R_FQgu, it should not be corrected by R_CO again FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.20; % ratio between diseased and healthy conditions R_FQsp_std = 0.29; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 1.5; % ratio between diseased and healthy conditions R_FQha_std = 1.1; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.88 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; %pause end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.91; % ratio between diseased and healthy conditions R_LiverSize_std = 0.26; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end random_number = rand(1,3); Fraction_uptake = random_number/sum(random_number); Fraction_uptake(4) = 0; R_active = R_OATP1B1*Fraction_uptake(1) + R_OATP1B3*Fraction_uptake(2) + R_OATP2B1*Fraction_uptake(3) + R_NTCP*Fraction_uptake(4); CLactive_healthy = 31000 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 70 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % Dingemanse, telmisartan clin pharmacology review, HLM study: 2C9 40%, 3A4 60%; Fraction_UGT = 1; R_UGT = 1; R_met = R_UGT*Fraction_UGT ; CLmet_healthy = 530 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 0.62 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level CLbile_glu_healthy = 62 ; % biliary efflux IVIVE scaling factor CLbile_glu = CLbile_glu_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 2 % CPB % {In vitro binding data} fup_healthy = 0.005;% fraction unbound in plasma R_albumin_mean = 0.69; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.15; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.34; HCT_std = 0.057; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 0.5*HCT + 1 - HCT; fuli = 0.013 ; % fraction unbound in liver fuli_glu = 0.0073; % unbound fraction of glucuronide in liver % renal CL CLrenal = 0; % CLint renal (L/hr) % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.2; % ratio between diseased and healthy conditions R_CO_std = 0.34; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.60; % ratio between diseased and healthy conditions R_FQgu_std = 0.61; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.5; % ratio between diseased and healthy conditions R_FQsp_std = 0.52; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 1.7; % ratio between diseased and healthy conditions R_FQha_std = 1.5; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.65 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.81; % ratio between diseased and healthy conditions R_LiverSize_std = 0.26; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end random_number = rand(1,3); Fraction_uptake = random_number/sum(random_number); Fraction_uptake(4) = 0; R_active = R_OATP1B1*Fraction_uptake(1) + R_OATP1B3*Fraction_uptake(2) + R_OATP2B1*Fraction_uptake(3) + R_NTCP*Fraction_uptake(4); CLactive_healthy = 31000 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 70 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % Dingemanse, telmisartan clin pharmacology review, HLM study: 2C9 40%, 3A4 60%; Fraction_UGT = 1; R_UGT = 1; R_met = R_UGT*Fraction_UGT ; CLmet_healthy = 530 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 0.62 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level CLbile_glu_healthy = 62 ; % biliary efflux IVIVE scaling factor CLbile_glu = CLbile_glu_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 3 % CPC % {In vitro binding data} fup_healthy = 0.005;% fraction unbound in plasma R_albumin_mean = 0.53; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.150; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.34; HCT_std = 0.055; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 0.5*HCT + 1 - HCT; fuli = 0.013 ; % fraction unbound in liver fuli_glu = 0.0073; % unbound fraction of glucuronide in liver % renal CL CLrenal = 0; % CLint renal (L/hr) % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.3; % ratio between diseased and healthy conditions R_CO_std = 0.30; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.13; % ratio between diseased and healthy conditions R_FQgu_std = 0.57; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1) ; while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.5; % ratio between diseased and healthy conditions R_FQsp_std = 0.54; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 2.1; % ratio between diseased and healthy conditions R_FQha_std = 1.9; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.48 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.64; % ratio between diseased and healthy conditions R_LiverSize_std = 0.22; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end random_number = rand(1,3); Fraction_uptake = random_number/sum(random_number); Fraction_uptake(4) = 0; R_active = R_OATP1B1*Fraction_uptake(1) + R_OATP1B3*Fraction_uptake(2) + R_OATP2B1*Fraction_uptake(3) + R_NTCP*Fraction_uptake(4); CLactive_healthy = 31000 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 70 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % Dingemanse, telmisartan clin pharmacology review, HLM study: 2C9 40%, 3A4 60%; Fraction_UGT = 1; R_UGT = 1; R_met = R_UGT*Fraction_UGT ; CLmet_healthy = 530 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 0.62 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level CLbile_glu_healthy = 62 ; % biliary efflux IVIVE scaling factor CLbile_glu = CLbile_glu_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level end % SPECIES SPECIFIC PARAMETERS % Fractional Tissue volumes and BW FVadec = 0.0415 ; % Fractional Volume adipose, blood FVadic = 0.1715 ; % Tissue FVbo = 0.085629 ; % Fractional Volume bone FVbr = 0.02 ; % Fractional Volume brain FVgu = 0.0171 ; % Fractional Volume gut FVhe = 0.0047 ; % Fractional Volume heart FVki = 0.0044 ; % Fractional Volume kidney FVlu = 0.0076 ; % Fractional Volume lung FVmuec = 0.07 ; % Fractional Volume muscle tissue FVmuic = 0.33 ;% Fractional Volume muscle blood FVsk = 0.0371 ; % Fractional Volume skin FVsp = 0.0026 ; % Fractional Volume spleen FVte = 0.01 ; % Fractional Volume testes FVve = 0.0514 ; % Fractional Volume venous FVar = 0.0257 ; % Fractional Volume arterial FVre = 0.099771 ; % Fractional Volume rest of body FVlb = 0.004568 ; % Fractional Volume liver blood (Watanabe et al 2009) FVlt = 0.016432 ; % Fractional Volume liver tissue (Watanabe et al 2009) % Tissue volumes and BW BW = 70 ; % BW (kg) Vadec = BW*FVadec ; % Volume adipose blood (L) Vadic = BW*FVadic ; % Volume adipose Tissue (L) Vbo = BW*FVbo ; % Volume bone (L) Vbr = BW*FVbr ; % Volume brain (L) Vgu = BW*FVgu ; % Volume gut (L) Vhe = BW*FVhe ; % Volume heart (L) Vki = BW*FVki ; % Volume kidney (L) Vlb = BW*FVlb ; % Volume liver blood (L) Vlt = BW*FVlt ; % Volume liver tissue (L) Vlu = BW*FVlu ; % Volume lung (L) Vmuec = BW*FVmuec ; % Volume muscle (L), blood Vmuic = BW*FVmuic ; % Volume muscle (L), tissue Vsk = BW*FVsk ; % Volume skin (L) Vsp = BW*FVsp ; % Volume spleen (L) Vte = BW*FVte ; % Volume testes (L) Vve = BW*FVve ; % Volume venous (L) Var = BW*FVar ; % Volume arterial blood (L) Vre = BW*FVre ; % Volume rest of body (L) Vliverbile = 0.318/100 * (Vlt+Vlb) ; %Volume of bile duct in liver (L) % {Tissue blood flows (L/h)-> Pfizer} QC = CO/1000*60*60 ; % total blood flow (L/hr) Qad = QC*FQad ; % adipose blood flow (L/hr) Qbo = QC*FQbo ; % bone blood flow (L/hr) Qbr = QC*FQbr ; % brain blood flow (L/hr) Qgu = QC*FQgu ; % gut blood flow (L/hr) Qhe = QC*FQhe ; % heart blood flow (L/hr) Qki = QC*FQki ; % kidney blood flow (L/hr) Qsp = QC*FQsp ; % spleen blood flow (L/hr) Qha = QC*FQha ; % blood flow hepatic artery (L/hr) Qlu = QC*FQlu ; % lung blood flow (L/hr) Qmu = QC*FQmu ; % muscle blood flow (L/hr) Qsk = QC*FQsk ; % skin blood flow (L/hr) Qte = QC*FQte ; % testes blood flow (L/hr) Qre = QC*FQre ; % remaining tissue blood flow (L/hr) Qh = Qha + Qgu + Qsp ; % hepatic blood flow (venous side) (L/hr) % Liver bile flow %Qliverbile = 0.43/1000*60; % liver bile flow (L/hr), Boyer and Bloomer 1974 Qliverbile = 350/1000/24* R_LiverSize ; % liver bile flow (L/hr), Davies and Morris 1993 %Qliverbile = 1/24; % liver bile flow (L/hr), Insights in Physiology by Sudha Vinayak Khanorkar % ;###################################################################################### % COMPOUND SPECIFIC PARAMETERS % {Tissue plasma-partition coefficients} % Li et al 2014 DMD, PET Kp Kpad = 0.35 ; % adipose Kpbo = 0.47 ; % bone Kpbr = 0.24 ; % brain Kpgu = 1.66 ; % gut Kphe = 1.52 ; % heart Kpki = 4.37 ; % kidney Kplu = 1.05 ; % lung Kpmu = 0.39 ; % muscle Kpsk = 0.24 ; % skin Kpsp = 0.35 ; % spleen Kpte = 0.26 ; % testes Kpre = 0.51 ; % rest of body % Absorption parameter ka = 0.38; % absorption rate F = 0.86; % Fa*Fg % hepatic efflux CLefflux = 0; % Efflux back to blood (L/hr) % tissue clearance HPPGL = 120; % million cells per g liver CLpassiveHep = CLpassive/(HPPGL*(Vlt+Vlb)*60/1000); % hepatocyte (ul/min/Mcells) unbound passive CL, SA_hepatocyte = 15*15*6*1e-8; % cm^2, hepatocyte 15 um side cubic Papp = CLpassiveHep*60/1000/1e6/SA_hepatocyte; % cm/hour V_musclecell = (1.5/2)^2*pi*50*1e-12; %cm^3, 1.5 um diameter, 50 um length, cylindrical number_musclecell = Vmuic*1000/V_musclecell; % number of muscle cells in muscle SA_musclecell = 1.5*pi*50*1e-8; % cm^2, 1.5 um diameter, 50 um length, cylindrical SAmu = number_musclecell*SA_musclecell ; % cm^2 V_fatcell = 4/3*(100/2)^3*pi*1e-12; %cm^3, fat cell, 100 um diameter number_fatcell = Vadic*1000/V_fatcell; SA_fatcell = 4*pi*(100/2)^2*1e-8; % cm^2, fat cell, 100 um diameter SAad = number_fatcell*SA_fatcell; % cm^2 CLad = Papp * SAad/1000; % L/h CLmu = Papp * SAmu/1000; % L/h % convert renal clearance into unbound renal clearance, assuming well stirred CLrenal_unbound = CLrenal/Rbp / (fup/Rbp* (1-CLrenal/Rbp/Qki) ); % CLint renal (L/hr) p = [Kpad, Kpbo, Kpbr, Kpgu, Kphe, Kpki, Kplu, Kpmu, Kpsk, Kpsp, Kpte, Kpre,... fup, Rbp, fuli, CLmet, CLpassive, CLactive, CLbile, CLrenal_unbound, CLefflux,... Vadec, Vbo, Vbr, Vgu, Vhe, Vki, Vlb, Vlt, Vlu, Vmuec, Vsk, Vsp, Vte, Vve, Var, Vre,... Qad, Qbo, Qbr, Qgu, Qhe, Qki, Qh, Qsp, Qha, Qlu, Qmu, Qsk, Qte, Qre,... ka, F, Qliverbile, Vliverbile, Vadic, Vmuic, CLad, CLmu, fuli_glu, CLbile_glu ]; % Dosing t0 = 0; % starting time y0 = zeros(1, 34); if Flg_dose == 1 IVRate1 = Dose/InfusionT; % ug/h IVRate2 = 0; % during infuion u1 = IVRate1; [t1, y1] = pbpk_EC_telmisartan_matlab( linspace(t0,InfusionT,25), y0, p, u1, [1e-3,1e-6,10] ); % after infusion u2 = IVRate2; [t2, y2] = pbpk_EC_telmisartan_matlab( linspace(0,EndT-InfusionT,450), y1(:,end), p, u2, [1e-3,1e-6,10] ); C_plasma = [y1(1,:) y2(1,2:end)]/Rbp; time = [t1 t2(2:end)+InfusionT]; elseif Flg_dose == 2 y0(32) = Dose; IVRate1 = 0; % after oral dosing u1 = IVRate1; [t1, y1] = pbpk_EC_telmisartan_matlab( linspace(t0,EndT,500), y0, p, u1, [1e-3,1e-6,10] ); C_plasma = y1(1,:) /Rbp; time = t1 ; end C_plasma = C_plasma'; ¡°run_telmisartan_CP.m¡± function run_telmisartan_CP subplot(3,2,4) % iv data (ug/L) % 20 mg oral, 8 CPA and 4 CPB oral_time_telmisartan_CP = [ 0.83 1.40 1.99 2.89 3.88 5.98 7.98 12.00]'; oral_obs_telmisartan_CP = [ 59.91 46.74 41.09 34.43 29.51 19.95 17.19 14.14]'; % Simulation % 20 mg oral, 8 CPA and 4 CPB Flg_dose = 2; Dose = 20000; % ug InfusionT = 0; % no infusion EndT = oral_time_telmisartan_CP(end); number_simulation = 1200; C_plasma_CPA = zeros(500,number_simulation); ke_terminal = zeros(1,number_simulation); AUC = zeros(1,number_simulation); AUC_inf = zeros(1,number_simulation); Plasma_CL = zeros(1,number_simulation); AUMC = zeros(1,number_simulation); AUMC_inf = zeros(1,number_simulation); MRT = zeros(1,number_simulation); Vdss = zeros(1,number_simulation); Cmax = zeros(1,number_simulation); Tmax = zeros(1,number_simulation); for i = 1:800 CP = 1; % CPA [time_CPA, C_plasma_CPA(:,i)] = pbpk_telmisartan_CP(CP,Flg_dose,Dose,InfusionT,EndT); time_CPA = transpose(time_CPA); terminal_time = time_CPA(end-14:end)-time_CPA(end-14); terminal_C_plasma = C_plasma_CPA(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal(i) = -curve_fit(1); AUC(i) = trapz(time_CPA,C_plasma_CPA(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPA(end,i)/ke_terminal(i); Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPA,C_plasma_CPA(:,i).*time_CPA); AUMC_inf(i) = AUMC(i) + C_plasma_CPA(end,i)*time_CPA(end)/ke_terminal(i) + C_plasma_CPA(end,i)/ke_terminal(i)^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPA(:,i)); Tmax(i) = time_CPA(ind); end for i = 801:1200 CP = 2; % CPA [time_CPA, C_plasma_CPA(:,i)] = pbpk_telmisartan_CP(CP,Flg_dose,Dose,InfusionT,EndT); time_CPA = transpose(time_CPA); terminal_time = time_CPA(end-14:end)-time_CPA(end-14); terminal_C_plasma = C_plasma_CPA(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal(i) = -curve_fit(1); AUC(i) = trapz(time_CPA,C_plasma_CPA(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPA(end,i)/ke_terminal(i); Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPA,C_plasma_CPA(:,i).*time_CPA); AUMC_inf(i) = AUMC(i) + C_plasma_CPA(end,i)*time_CPA(end)/ke_terminal(i) + C_plasma_CPA(end,i)/ke_terminal(i)^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPA(:,i)); Tmax(i) = time_CPA(ind); end index = find(ke_terminal<=0); AUC(index) = []; AUC_inf(index) = []; Plasma_CL(index) = []; Vdss(index) = []; Cmax(index) = []; Tmax(index) = []; C_plasma_CPA(:,index) = []; C_plasma_CPA_average = zeros(500,1); C_plasma_CPA_UB = zeros(500,1); C_plasma_CPA_LB = zeros(500,1); for i = 1:500 C_plasma_CPA_average(i) = mean(C_plasma_CPA(i,:)); C_plasma_CPA_UB(i) = prctile(C_plasma_CPA(i,:),97.5); C_plasma_CPA_LB(i) = prctile(C_plasma_CPA(i,:),2.5); end display('================================================================') display('Liver Cirrhosis 8 CP-A 4 CP-B') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(mean(AUC)) ' || 95% Prediction interval [ ' num2str(prctile(AUC,[2.5,97.5])) ' ] ng*hour/mL']) display(['AUC 0-inf = ' num2str(mean(AUC_inf)) ' || 95% Prediction interval [ ' num2str(prctile(AUC_inf,[2.5,97.5])) ' ] ng*hour/mL']) display(['Plasma CL = ' num2str(mean(Plasma_CL)) ' || 95% Prediction interval [ ' num2str(prctile(Plasma_CL,[2.5,97.5])) ' ] L/hour']) display(['Vdss = ' num2str(mean(Vdss)) ' || 95% Prediction interval [ ' num2str(prctile(Vdss,[2.5,97.5])) ' ] L']) display(['Cmax = ' num2str(mean(Cmax)) ' || 95% Prediction interval [ ' num2str(prctile(Cmax,[2.5,97.5])) ' ] ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' || range: [ ' num2str([min(Tmax) max(Tmax)]) ' ] ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(ke_terminal<=0))) ' of them lead to terminal elimination rate negative or zero, and are rejected' ]) display('================================================================') % 20mg oral 24 hrs, healthy time_oral = [ 0.63 1.54 2.14 3.05 3.95 6.06 8.07 11.99]'; oral_plasma_data = [ 11.28 12.87 13.30 13.74 14.02 10.40 9.81 7.63]'; CP = 0; [time_CPH, C_plasma_CPH] = pbpk_telmisartan_CP(CP,Flg_dose,Dose,InfusionT,EndT); time_CPH = transpose(time_CPH); terminal_time = time_CPH(end-14:end)-time_CPH(end-14); terminal_C_plasma = C_plasma_CPH(end-14:end); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC = trapz(time_CPH,C_plasma_CPH); AUC_inf = AUC + C_plasma_CPH(end)/ke_terminal; Plasma_CL = Dose/AUC_inf; AUMC = trapz(time_CPH,C_plasma_CPH.*time_CPH); AUMC_inf = AUMC + C_plasma_CPH(end)*time_CPH(end)/ke_terminal + C_plasma_CPH(end)/ke_terminal^2; MRT = AUMC_inf / AUC_inf; Vdss = MRT*Plasma_CL; [Cmax,ind] = max(C_plasma_CPH); Tmax = time_CPH(ind); display('================================================================') display('Healthy') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(AUC) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(AUC_inf) ' ng*hour/mL']) display(['Plasma CL = ' num2str(Plasma_CL) ' L/hour']) display(['Vdss = ' num2str(Vdss) ' L']) display(['Cmax = ' num2str(Cmax) ' ng/mL']) display(['Tmax = ' num2str(Tmax) ' ng/mL']) display('================================================================') hold on plot(oral_time_telmisartan_CP,oral_obs_telmisartan_CP,'ro',time_CPA,C_plasma_CPA_average,'r', ... time_CPA,C_plasma_CPA_LB,'r--',time_CPA,C_plasma_CPA_UB,'r--',... time_oral,oral_plasma_data,'bsq',time_CPH,C_plasma_CPH,'b') hold off title({'(D) Telmisartan';'20 mg oral dosing'},'FontSize',10) ylabel('Concentration (ng/mL)','FontSize',10) xlabel('Time (hours)','FontSize',10) xlim([0,EndT]) C_plasma_CPA_average(1) = []; C_plasma_CPH(1) = []; miny1 = min([C_plasma_CPA_average; oral_obs_telmisartan_CP]); miny2 = min([C_plasma_CPH; oral_plasma_data]); maxy1 = max([C_plasma_CPA_average; oral_obs_telmisartan_CP]); maxy2 = max([C_plasma_CPH; oral_plasma_data]); miny = min([miny1,miny2]); maxy = max([maxy1,maxy2]); ylim(10.^[floor(log10(miny)),ceil(log10(maxy))]) set(gca,'YTick',10.^(floor(log10(miny)):ceil(log10(maxy))),'YScale','log') Code for telmisartan simulation Method 2 ¡°pbpk_telmisartan_CP.m¡± function [time, C_plasma] = pbpk_telmisartan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi) % Disease status specific parameters if CP == 0 % Healthy % {In vitro binding data} fup = 0.005;% fraction unbound in plasma Rbp = 0.775 ;%blood to plasma ratio fuli = 0.013 ; % fraction unbound in liver fuli_glu = 0.0073; % unbound fraction of glucuronide in liver % renal CL CLrenal = 0; % plasma clearance (L/h) % blood CO = 108.33 ; % cardiac output (ml/s) % {Tissue fractional blood flows and CO -> Pfizer} FQgu = 0.146462 ; % gut fractional blood flow FQsp = 0.017231 ; % spleen fractional blood flow FQha = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow (venous side) FQki = 0.19 ; % kidney fractional blood flow FQad = 0.05 ; % adipose fractional blood flow FQbo = 0.05 ; % bone fractional blood flow FQbr = 0.12 ; % brain fractional blood flow FQhe = 0.04 ; % heart fractional blood flow FQmu = 0.17 ; % muscle fractional blood flow FQsk = 0.05 ; % skin fractional blood flow FQte = 0.01076 ; % testes fractional blood flow FQre = 0.103855 ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow R_LiverSize = 1; % hepatic clearances CLactive = 31000 ; % active uptake CLpassive = 70 ; % passive uptake CLmet = 530 ; % metabolism CLbile = 0.62 ; % biliary efflux CLbile_glu = 62 ; % biliary efflux elseif CP == 1 % CPA % {In vitro binding data} fup_healthy = 0.005;% fraction unbound in plasma R_albumin = 0.84; fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT = 0.38; Rbp = 0.5*HCT + 1 - HCT; % drug does not penatrate red cell fuli = 0.013 ; % fraction unbound in liver fuli_glu = 0.0073; % unbound fraction of glucuronide in liver % renal CL CLrenal = 0; % CLint renal (L/hr) % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO = 1.08; CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu = 0.72; FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp = 1.20; FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha = 1.49; FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.88 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize = 0.91; % hepatic clearance % Active uptake Fraction_1 = phi(1); Fraction_2 = (1-Fraction_1)*phi(2); Fraction_3 = 1 - Fraction_1 - Fraction_2; R_transporter_1 = phi(3); R_transporter_2 = phi(4); R_transporter_3 = phi(5); R_active = R_transporter_1 * Fraction_1 + R_transporter_2 * Fraction_2 + R_transporter_3 * Fraction_3; CLactive_healthy = 31000 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 70 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % Dingemanse, telmisartan clin pharmacology review, HLM study: 2C9 40%, 3A4 60%; Fraction_UGT = 1; R_UGT = 1; R_met = R_UGT*Fraction_UGT ; CLmet_healthy = 530 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_efflux = phi(6); CLbile_healthy = 0.62 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level CLbile_glu_healthy = 62 ; % biliary efflux IVIVE scaling factor CLbile_glu = CLbile_glu_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 2 % CPB % {In vitro binding data} fup_healthy = 0.005;% fraction unbound in plasma R_albumin = 0.69; fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT = 0.34; Rbp = 0.5*HCT + 1 - HCT; fuli = 0.013 ; % fraction unbound in liver fuli_glu = 0.0073; % unbound fraction of glucuronide in liver % renal CL CLrenal = 0; % CLint renal (L/hr) % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO = 1.17; CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu = 0.60; FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp = 1.46; FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha = 1.7; FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.65 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize = 0.81; % hepatic clearance % Active uptake Fraction_1 = phi(1); Fraction_2 = (1-Fraction_1)*phi(2); Fraction_3 = 1 - Fraction_1 - Fraction_2; R_transporter_1 = phi(7); R_transporter_2 = phi(8); R_transporter_3 = phi(9); R_active = R_transporter_1 * Fraction_1 + R_transporter_2 * Fraction_2 + R_transporter_3 * Fraction_3; CLactive_healthy = 31000 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 70 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism % Dingemanse, telmisartan clin pharmacology review, HLM study: 2C9 40%, 3A4 60%; Fraction_UGT = 1; R_UGT = 1; R_met = R_UGT*Fraction_UGT ; CLmet_healthy = 530 ; % metabolism CLmet = CLmet_healthy * R_met * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_efflux = phi(10); CLbile_healthy = 0.62 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level CLbile_glu_healthy = 62 ; % biliary efflux IVIVE scaling factor CLbile_glu = CLbile_glu_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level end % SPECIES SPECIFIC PARAMETERS % Fractional Tissue volumes and BW FVadec = 0.0415 ; % Fractional Volume adipose, blood FVadic = 0.1715 ; % Tissue FVbo = 0.085629 ; % Fractional Volume bone FVbr = 0.02 ; % Fractional Volume brain FVgu = 0.0171 ; % Fractional Volume gut FVhe = 0.0047 ; % Fractional Volume heart FVki = 0.0044 ; % Fractional Volume kidney FVlu = 0.0076 ; % Fractional Volume lung FVmuec = 0.07 ; % Fractional Volume muscle tissue FVmuic = 0.33 ;% Fractional Volume muscle blood FVsk = 0.0371 ; % Fractional Volume skin FVsp = 0.0026 ; % Fractional Volume spleen FVte = 0.01 ; % Fractional Volume testes FVve = 0.0514 ; % Fractional Volume venous FVar = 0.0257 ; % Fractional Volume arterial FVre = 0.099771 ; % Fractional Volume rest of body FVlb = 0.004568 ; % Fractional Volume liver blood (Watanabe et al 2009) FVlt = 0.016432 ; % Fractional Volume liver tissue (Watanabe et al 2009) % Tissue volumes and BW BW = 70 ; % BW (kg) Vadec = BW*FVadec ; % Volume adipose blood (L) Vadic = BW*FVadic ; % Volume adipose Tissue (L) Vbo = BW*FVbo ; % Volume bone (L) Vbr = BW*FVbr ; % Volume brain (L) Vgu = BW*FVgu ; % Volume gut (L) Vhe = BW*FVhe ; % Volume heart (L) Vki = BW*FVki ; % Volume kidney (L) Vlb = BW*FVlb ; % Volume liver blood (L) Vlt = BW*FVlt ; % Volume liver tissue (L) Vlu = BW*FVlu ; % Volume lung (L) Vmuec = BW*FVmuec ; % Volume muscle (L), blood Vmuic = BW*FVmuic ; % Volume muscle (L), tissue Vsk = BW*FVsk ; % Volume skin (L) Vsp = BW*FVsp ; % Volume spleen (L) Vte = BW*FVte ; % Volume testes (L) Vve = BW*FVve ; % Volume venous (L) Var = BW*FVar ; % Volume arterial blood (L) Vre = BW*FVre ; % Volume rest of body (L) Vliverbile = 0.318/100 * (Vlt+Vlb) ; %Volume of bile duct in liver (L) % {Tissue blood flows (L/h)-> Pfizer} QC = CO/1000*60*60 ; % total blood flow (L/hr) Qad = QC*FQad ; % adipose blood flow (L/hr) Qbo = QC*FQbo ; % bone blood flow (L/hr) Qbr = QC*FQbr ; % brain blood flow (L/hr) Qgu = QC*FQgu ; % gut blood flow (L/hr) Qhe = QC*FQhe ; % heart blood flow (L/hr) Qki = QC*FQki ; % kidney blood flow (L/hr) Qsp = QC*FQsp ; % spleen blood flow (L/hr) Qha = QC*FQha ; % blood flow hepatic artery (L/hr) Qlu = QC*FQlu ; % lung blood flow (L/hr) Qmu = QC*FQmu ; % muscle blood flow (L/hr) Qsk = QC*FQsk ; % skin blood flow (L/hr) Qte = QC*FQte ; % testes blood flow (L/hr) Qre = QC*FQre ; % remaining tissue blood flow (L/hr) Qh = Qha + Qgu + Qsp ; % hepatic blood flow (venous side) (L/hr) % Liver bile flow %Qliverbile = 0.43/1000*60; % liver bile flow (L/hr), Boyer and Bloomer 1974 Qliverbile = 350/1000/24* R_LiverSize ; % liver bile flow (L/hr), Davies and Morris 1993 %Qliverbile = 1/24; % liver bile flow (L/hr), Insights in Physiology by Sudha Vinayak Khanorkar % ;###################################################################################### % COMPOUND SPECIFIC PARAMETERS % {Tissue plasma-partition coefficients} % Li et al 2014 DMD, PET Kp Kpad = 0.35 ; % adipose Kpbo = 0.47 ; % bone Kpbr = 0.24 ; % brain Kpgu = 1.66 ; % gut Kphe = 1.52 ; % heart Kpki = 4.37 ; % kidney Kplu = 1.05 ; % lung Kpmu = 0.39 ; % muscle Kpsk = 0.24 ; % skin Kpsp = 0.35 ; % spleen Kpte = 0.26 ; % testes Kpre = 0.51 ; % rest of body % Absorption parameter ka = 0.38; % absorption rate F = 0.86; % Fa*Fg % hepatic efflux CLefflux = 0; % Efflux back to blood (L/hr) % tissue clearance HPPGL = 120; % million cells per g liver CLpassiveHep = CLpassive/(HPPGL*(Vlt+Vlb)*60/1000); % hepatocyte (ul/min/Mcells) unbound passive CL, SA_hepatocyte = 15*15*6*1e-8; % cm^2, hepatocyte 15 um side cubic Papp = CLpassiveHep*60/1000/1e6/SA_hepatocyte; % cm/hour V_musclecell = (1.5/2)^2*pi*50*1e-12; %cm^3, 1.5 um diameter, 50 um length, cylindrical number_musclecell = Vmuic*1000/V_musclecell; % number of muscle cells in muscle SA_musclecell = 1.5*pi*50*1e-8; % cm^2, 1.5 um diameter, 50 um length, cylindrical SAmu = number_musclecell*SA_musclecell ; % cm^2 V_fatcell = 4/3*(100/2)^3*pi*1e-12; %cm^3, fat cell, 100 um diameter number_fatcell = Vadic*1000/V_fatcell; SA_fatcell = 4*pi*(100/2)^2*1e-8; % cm^2, fat cell, 100 um diameter SAad = number_fatcell*SA_fatcell; % cm^2 CLad = Papp * SAad/1000; % L/h CLmu = Papp * SAmu/1000; % L/h % convert renal clearance into unbound renal clearance, assuming well stirred CLrenal_unbound = CLrenal/Rbp / (fup/Rbp* (1-CLrenal/Rbp/Qki) ); % CLint renal (L/hr) p = [Kpad, Kpbo, Kpbr, Kpgu, Kphe, Kpki, Kplu, Kpmu, Kpsk, Kpsp, Kpte, Kpre,... fup, Rbp, fuli, CLmet, CLpassive, CLactive, CLbile, CLrenal_unbound, CLefflux,... Vadec, Vbo, Vbr, Vgu, Vhe, Vki, Vlb, Vlt, Vlu, Vmuec, Vsk, Vsp, Vte, Vve, Var, Vre,... Qad, Qbo, Qbr, Qgu, Qhe, Qki, Qh, Qsp, Qha, Qlu, Qmu, Qsk, Qte, Qre,... ka, F, Qliverbile, Vliverbile, Vadic, Vmuic, CLad, CLmu, fuli_glu, CLbile_glu ]; % Dosing t0 = 0; % starting time y0 = zeros(1, 34); if Flg_dose == 1 IVRate1 = Dose/InfusionT; % ug/h IVRate2 = 0; % during infuion u1 = IVRate1; [t1, y1] = pbpk_EC_telmisartan_matlab( linspace(t0,InfusionT,25), y0, p, u1, [1e-3,1e-6,10] ); % after infusion u2 = IVRate2; [t2, y2] = pbpk_EC_telmisartan_matlab( linspace(0,EndT-InfusionT,450), y1(:,end), p, u2, [1e-3,1e-6,10] ); C_plasma = [y1(1,:) y2(1,2:end)]/Rbp; time = [t1 t2(2:end)+InfusionT]; elseif Flg_dose == 2 y0(32) = Dose; IVRate1 = 0; % after oral dosing u1 = IVRate1; [t1, y1] = pbpk_EC_telmisartan_matlab( linspace(t0,EndT,500), y0, p, u1, [1e-3,1e-6,10] ); C_plasma = y1(1,:) /Rbp; time = t1 ; end C_plasma = C_plasma'; ¡°run_telmisartan_CP.m¡± function ofv = run_telmisartan_CP(phi) subplot(3,2,4) % iv data (ug/L) % 20 mg oral, 8 CPA and 4 CPB oral_time_telmisartan_CP = [ 0.83 1.40 1.99 2.89 3.88 5.98 7.98 12.00]'; oral_obs_telmisartan_CP = [ 59.91 46.74 41.09 34.43 29.51 19.95 17.19 14.14]'; % Simulation % 20 mg oral, 8 CPA and 4 CPB Flg_dose = 2; Dose = 20000; % ug InfusionT = 0; % no infusion EndT = oral_time_telmisartan_CP(end); number_simulation = 3; C_plasma_CPA = zeros(500,number_simulation); AUC = zeros(1,number_simulation); AUC_inf = zeros(1,number_simulation); Plasma_CL = zeros(1,number_simulation); AUMC = zeros(1,number_simulation); AUMC_inf = zeros(1,number_simulation); MRT = zeros(1,number_simulation); Vdss = zeros(1,number_simulation); Cmax = zeros(1,number_simulation); Tmax = zeros(1,number_simulation); for i = 1:2 CP = 1; % CPA [time_CPA, C_plasma_CPA(:,i)] = pbpk_telmisartan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); time_CPA = transpose(time_CPA); terminal_time = time_CPA(end-14:end)-time_CPA(end-14); terminal_C_plasma = C_plasma_CPA(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC(i) = trapz(time_CPA,C_plasma_CPA(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPA(end,i)/ke_terminal; Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPA,C_plasma_CPA(:,i).*time_CPA); AUMC_inf(i) = AUMC(i) + C_plasma_CPA(end,i)*time_CPA(end)/ke_terminal + C_plasma_CPA(end,i)/ke_terminal^2; if ke_terminal<=0 AUC_inf(i) = AUC(i); AUMC_inf(i) = AUMC(i); end MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPA(:,i)); Tmax(i) = time_CPA(ind); end for i = 3 CP = 2; % CPA [time_CPA, C_plasma_CPA(:,i)] = pbpk_telmisartan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); time_CPA = transpose(time_CPA); terminal_time = time_CPA(end-14:end)-time_CPA(end-14); terminal_C_plasma = C_plasma_CPA(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC(i) = trapz(time_CPA,C_plasma_CPA(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPA(end,i)/ke_terminal; Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPA,C_plasma_CPA(:,i).*time_CPA); AUMC_inf(i) = AUMC(i) + C_plasma_CPA(end,i)*time_CPA(end)/ke_terminal + C_plasma_CPA(end,i)/ke_terminal^2; if ke_terminal<=0 AUC_inf(i) = AUC(i); AUMC_inf(i) = AUMC(i); end MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPA(:,i)); Tmax(i) = time_CPA(ind); end C_plasma_CPA_average = zeros(500,1); C_plasma_CPA_UB = zeros(500,1); C_plasma_CPA_LB = zeros(500,1); for i = 1:500 C_plasma_CPA_average(i) = mean(C_plasma_CPA(i,:)); C_plasma_CPA_UB(i) = prctile(C_plasma_CPA(i,:),97.5); C_plasma_CPA_LB(i) = prctile(C_plasma_CPA(i,:),2.5); end solution_mean = interp1q(time_CPA,C_plasma_CPA_average,oral_time_telmisartan_CP); ofv = (norm(log10(oral_obs_telmisartan_CP) - log10(solution_mean)))^2/length(oral_time_telmisartan_CP) ; display('================================================================') display('Liver Cirrhosis 8 CP-A 4 CP-B') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(geomean(AUC)) ' +/-SD ' num2str(std(AUC)) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(geomean(AUC_inf)) ' +/-SD ' num2str(std(AUC_inf)) ' ng*hour/mL']) display(['Plasma CL = ' num2str(geomean(Plasma_CL)) ' +/-SD ' num2str(std(Plasma_CL)) ' L/hour']) display(['Vdss = ' num2str(geomean(Vdss)) ' +/-SD ' num2str(std(Vdss)) ' L']) display(['Cmax = ' num2str(geomean(Cmax)) ' +/-SD ' num2str(std(Cmax)) ' ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' range: ( ' num2str([min(Tmax) max(Tmax)]) ' ) ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(AUC < 1))) ' of them lead to AUC negative or zero' ]) display('================================================================') % 20mg oral 24 hrs, healthy time_oral = [ 0.63 1.54 2.14 3.05 3.95 6.06 8.07 11.99]'; oral_plasma_data = [ 11.28 12.87 13.30 13.74 14.02 10.40 9.81 7.63]'; CP = 0; [time_CPH, C_plasma_CPH] = pbpk_telmisartan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); time_CPH = transpose(time_CPH); terminal_time = time_CPH(end-14:end)-time_CPH(end-14); terminal_C_plasma = C_plasma_CPH(end-14:end); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC = trapz(time_CPH,C_plasma_CPH); AUC_inf = AUC + C_plasma_CPH(end)/ke_terminal; Plasma_CL = Dose/AUC_inf; AUMC = trapz(time_CPH,C_plasma_CPH.*time_CPH); AUMC_inf = AUMC + C_plasma_CPH(end)*time_CPH(end)/ke_terminal + C_plasma_CPH(end)/ke_terminal^2; MRT = AUMC_inf / AUC_inf; Vdss = MRT*Plasma_CL; [Cmax,ind] = max(C_plasma_CPH); Tmax = time_CPH(ind); display('================================================================') display('Healthy') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(AUC) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(AUC_inf) ' ng*hour/mL']) display(['Plasma CL = ' num2str(Plasma_CL) ' L/hour']) display(['Vdss = ' num2str(Vdss) ' L']) display(['Cmax = ' num2str(Cmax) ' ng/mL']) display(['Tmax = ' num2str(Tmax) ' ng/mL']) display('================================================================') hold on plot(oral_time_telmisartan_CP,oral_obs_telmisartan_CP,'ro',time_CPA,C_plasma_CPA_average,'r', ... ... time_CPA,C_plasma_CPA_LB,'r--',time_CPA,C_plasma_CPA_UB,'r--',... time_oral,oral_plasma_data,'bsq',time_CPH,C_plasma_CPH,'b') hold off title({'(D) Telmisartan';'20 mg oral dosing'},'FontSize',10) ylabel('Concentration (ng/mL)','FontSize',10) xlabel('Time (hours)','FontSize',10) xlim([0,EndT]) C_plasma_CPA_average(1) = []; C_plasma_CPH(1) = []; miny1 = min([C_plasma_CPA_average; oral_obs_telmisartan_CP]); miny2 = min([C_plasma_CPH; oral_plasma_data]); maxy1 = max([C_plasma_CPA_average; oral_obs_telmisartan_CP]); maxy2 = max([C_plasma_CPH; oral_plasma_data]); miny = min([miny1,miny2]); maxy = max([maxy1,maxy2]); ylim(10.^[floor(log10(miny)),ceil(log10(maxy))]) set(gca,'YTick',10.^(floor(log10(miny)):ceil(log10(maxy))),'YScale','log') Code for valsartan simulation Method 1 ¡°pbpk_valsartan_CP.m¡± function [time, C_plasma] = pbpk_valsartan_CP(CP,Flg_dose,Dose,InfusionT,EndT) % Disease status specific parameters if CP == 0 % Healthy % {In vitro binding data} fup = 0.0015;%0.004 ;%fraction unbound in plasma Rbp = 0.58 ;%blood to plasma ratio fuli = 0.048 ;%fraction unbound in liver % renal CL CLrenal = 0.62; % CLint renal (L/hr) % blood CO = 108.33 ; % cardiac output (ml/s) % {Tissue fractional blood flows and CO -> Pfizer} FQgu = 0.146462 ; % gut fractional blood flow FQsp = 0.017231 ; % spleen fractional blood flow FQha = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow (venous side) FQki = 0.19 ; % kidney fractional blood flow FQad = 0.05 ; % adipose fractional blood flow FQbo = 0.05 ; % bone fractional blood flow FQbr = 0.12 ; % brain fractional blood flow FQhe = 0.04 ; % heart fractional blood flow FQmu = 0.17 ; % muscle fractional blood flow FQsk = 0.05 ; % skin fractional blood flow FQte = 0.01076 ; % testes fractional blood flow FQre = 0.103855 ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % hepatic clearances CLactive = 1.4869e+03; % active uptake IVIVE scaling factor CLpassive = 0.46 ; % passive uptake IVIVE scaling factor CLmet = 0 ; % metabolism scaling factor CLbile = 0.948; % biliary efflux IVIVE scaling factor elseif CP == 1 % CPA % {In vitro binding data} fup_healthy = 0.0015; %fraction unbound in plasma R_albumin_mean = 0.84; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.15; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.38; HCT_std = 0.05; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 1 - HCT; % drug does not penatrate red cell fuli = 0.048 ;%fraction unbound in liver % renal CL CLrenal_healthy = 0.62; % CLint renal (L/hr), R_renal_mean = 0.85; %ratio between disease and healthy individuals, predicted using olmesartan and rosuvastatin CLr R_renal_sd = 0.466; R_renal = R_renal_mean + R_renal_sd*randn(1); while R_renal <=0; R_renal = R_renal_mean + R_renal_sd*randn(1); end CLrenal = CLrenal_healthy * R_renal; % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.1; % ratio between diseased and healthy conditions R_CO_std = 0.39; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.72; % ratio between diseased and healthy conditions R_FQgu_std = 0.57; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % if not devided by R_CO, the portal vein will be furture corrected by R_CO when calculating blood flow. In other words, R_FQgu is used to correct Qgut, once Qgut is corrected by R_FQgu, it should not be corrected by R_CO again FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.20; % ratio between diseased and healthy conditions R_FQsp_std = 0.29; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 1.5; % ratio between diseased and healthy conditions R_FQha_std = 1.1; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.88 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; %pause end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.91; % ratio between diseased and healthy conditions R_LiverSize_std = 0.26; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end random_number = rand(1,3); Fraction_uptake = random_number/sum(random_number); Fraction_uptake(4) = 0; R_active = R_OATP1B1*Fraction_uptake(1) + R_OATP1B3*Fraction_uptake(2) + R_OATP2B1*Fraction_uptake(3) + R_NTCP*Fraction_uptake(4); CLactive_healthy = 1.4869e+03 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 0.46 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism CLmet_healthy = 0 ; % metabolism CLmet = CLmet_healthy * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 0.948; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 2 % CPB % {In vitro binding data} fup_healthy = 0.0015; %fraction unbound in plasma R_albumin_mean = 0.69; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.15; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.34; HCT_std = 0.057; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 1 - HCT; fuli = 0.048 ;%fraction unbound in liver % renal CL CLrenal_healthy = 0.62; % CLint renal (L/hr), R_renal_mean = 0.79; %ratio between disease and healthy individuals, predicted R_renal_sd = 0.74; R_renal = R_renal_mean + R_renal_sd*randn(1); while R_renal <=0; R_renal = R_renal_mean + R_renal_sd*randn(1); end CLrenal = CLrenal_healthy * R_renal; % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.2; % ratio between diseased and healthy conditions R_CO_std = 0.34; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.60; % ratio between diseased and healthy conditions R_FQgu_std = 0.61; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.5; % ratio between diseased and healthy conditions R_FQsp_std = 0.52; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 1.7; % ratio between diseased and healthy conditions R_FQha_std = 1.5; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.65 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.81; % ratio between diseased and healthy conditions R_LiverSize_std = 0.26; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end random_number = rand(1,3); Fraction_uptake = random_number/sum(random_number); Fraction_uptake(4) = 0; R_active = R_OATP1B1*Fraction_uptake(1) + R_OATP1B3*Fraction_uptake(2) + R_OATP2B1*Fraction_uptake(3) + R_NTCP*Fraction_uptake(4); CLactive_healthy = 1.4869e+03 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 0.46 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism CLmet_healthy = 0 ; % metabolism CLmet = CLmet_healthy * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 0.948 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 3 % CPC % {In vitro binding data} fup_healthy = 0.0015;% fraction unbound in plasma R_albumin_mean = 0.53; % Mean, albumin ratio between disease and healthy individuals R_albumin_std = 0.150; % STD, albumin ratio R_albumin = R_albumin_mean + R_albumin_std*randn(1); while R_albumin <= 0 R_albumin = R_albumin_mean + R_albumin_std*randn(1); end fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT_mean = 0.34; HCT_std = 0.055; % std is too small to introduce pronounced changes in PK simulation HCT = HCT_mean + HCT_std*randn(1); Rbp = 1 - HCT; fuli = 0.048 ;%fraction unbound in liver % renal CL CLrenal_healthy = 0.62; % CLint renal (L/hr), ASSUMING THE SAME AS CP-B R_renal_mean = 0.79; %ratio between disease and healthy individuals R_renal_sd = 0.71; R_renal = R_renal_mean + R_renal_sd*randn(1); while R_renal <=0; R_renal = R_renal_mean + R_renal_sd*randn(1); end CLrenal = CLrenal_healthy * R_renal; % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO_mean = 1.3; % ratio between diseased and healthy conditions R_CO_std = 0.30; % R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu_mean = 0.13; % ratio between diseased and healthy conditions R_FQgu_std = 0.57; R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1) ; while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp_mean = 1.5; % ratio between diseased and healthy conditions R_FQsp_std = 0.54; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha_mean = 2.1; % ratio between diseased and healthy conditions R_FQha_std = 1.9; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.48 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. while FQ_ratio <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); while R_CO <= 0 R_CO = R_CO_mean + R_CO_std*randn(1); end R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); while R_FQgu <= 0 R_FQgu = R_FQgu_mean + R_FQgu_std*randn(1); end FQgu = FQgu_healthy * R_FQgu / R_CO; R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); while R_FQsp <= 0 R_FQsp = R_FQsp_mean + R_FQsp_std*randn(1); end FQsp = FQsp_healthy * R_FQsp / R_CO; R_FQha = R_FQha_mean + R_FQha_std*randn(1); while R_FQha <= 0 R_FQha = R_FQha_mean + R_FQha_std*randn(1); end FQha = FQha_healthy * R_FQha / R_CO; FQki = 0.19*0.88 / R_CO; FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; end % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize_mean = 0.64; % ratio between diseased and healthy conditions R_LiverSize_std = 0.22; R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); while R_LiverSize <= 0 R_LiverSize = R_LiverSize_mean + R_LiverSize_std*randn(1); end % hepatic clearance % Active uptake R_OATP1B1_mean = 0.65; % ratio between diseased and healthy conditions R_OATP1B1_std = 0.49; R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); while R_OATP1B1 <= 0 R_OATP1B1 = R_OATP1B1_mean + R_OATP1B1_std*randn(1); end R_OATP1B3_mean = 0.73; % ratio between diseased and healthy conditions R_OATP1B3_std = 0.59; R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); while R_OATP1B3 <= 0 R_OATP1B3 = R_OATP1B3_mean + R_OATP1B3_std*randn(1); end R_OATP2B1_mean = 0.77; % ratio between diseased and healthy conditions R_OATP2B1_std = 0.47; R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); while R_OATP2B1 <= 0 R_OATP2B1 = R_OATP2B1_mean + R_OATP2B1_std*randn(1); end R_NTCP_mean = 1.4; % ratio between diseased and healthy conditions R_NTCP_std = 0.62; R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); while R_NTCP <= 0 R_NTCP = R_NTCP_mean + R_NTCP_std*randn(1); end random_number = rand(1,3); Fraction_uptake = random_number/sum(random_number); Fraction_uptake(4) = 0; R_active = R_OATP1B1*Fraction_uptake(1) + R_OATP1B3*Fraction_uptake(2) + R_OATP2B1*Fraction_uptake(3) + R_NTCP*Fraction_uptake(4); CLactive_healthy = 1.4869e+03; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 0.46 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism CLmet_healthy = 0 ; % metabolism CLmet = CLmet_healthy * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_MRP2_mean = 0.54; % ratio between diseased and healthy conditions R_MRP2_std = 0.48; R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); while R_MRP2 <= 0 R_MRP2 = R_MRP2_mean + R_MRP2_std*randn(1); end R_BCRP_mean = 0.58; % ratio between diseased and healthy conditions R_BCRP_std = 0.45; R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); while R_BCRP <= 0 R_BCRP = R_BCRP_mean + R_BCRP_std*randn(1); end R_BSEP_mean = 1.1; % ratio between diseased and healthy conditions R_BSEP_std = 0.51; R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); while R_BSEP <= 0 R_BSEP = R_BSEP_mean + R_BSEP_std*randn(1); end R_MDR1_mean = 1.1; % ratio between diseased and healthy conditions R_MDR1_std = 0.49; R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); while R_MDR1 <= 0 R_MDR1 = R_MDR1_mean + R_MDR1_std*randn(1); end R_MDR3_mean = 2.3; % ratio between diseased and healthy conditions R_MDR3_std = 0.45; R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); while R_MDR3 <= 0 R_MDR3 = R_MDR3_mean + R_MDR3_std*randn(1); end R_MATE1_mean = 0.65; % ratio between diseased and healthy conditions R_MATE1_std = 0.52; R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); while R_MATE1 <= 0 R_MATE1 = R_MATE1_mean + R_MATE1_std*randn(1); end random_number = rand(1,6); Fraction_efflux = random_number/sum(random_number); R_efflux = R_MRP2*Fraction_efflux(1) + R_BCRP*Fraction_efflux(2) + R_BSEP*Fraction_efflux(3)... + R_MDR1*Fraction_efflux(4) + R_MDR3*Fraction_efflux(5) + R_MATE1*Fraction_efflux(6); CLbile_healthy = 0.948 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level end % SPECIES SPECIFIC PARAMETERS % Fractional Tissue volumes and BW FVadec = 0.0415 ; % Fractional Volume adipose, blood FVadic = 0.1715 ; % Tissue FVbo = 0.085629 ; % Fractional Volume bone FVbr = 0.02 ; % Fractional Volume brain FVgu = 0.0171 ; % Fractional Volume gut FVhe = 0.0047 ; % Fractional Volume heart FVki = 0.0044 ; % Fractional Volume kidney FVlu = 0.0076 ; % Fractional Volume lung FVmuec = 0.07 ; % Fractional Volume muscle tissue FVmuic = 0.33 ;% Fractional Volume muscle blood FVsk = 0.0371 ; % Fractional Volume skin FVsp = 0.0026 ; % Fractional Volume spleen FVte = 0.01 ; % Fractional Volume testes FVve = 0.0514 ; % Fractional Volume venous FVar = 0.0257 ; % Fractional Volume arterial FVre = 0.099771 ; % Fractional Volume rest of body FVlb = 0.004568 ; % Fractional Volume liver blood (Watanabe et al 2009) FVlt = 0.016432 ; % Fractional Volume liver tissue (Watanabe et al 2009) % Tissue volumes and BW BW = 70 ; % BW (kg) Vadec = BW*FVadec ; % Volume adipose blood (L) Vadic = BW*FVadic ; % Volume adipose Tissue (L) Vbo = BW*FVbo ; % Volume bone (L) Vbr = BW*FVbr ; % Volume brain (L) Vgu = BW*FVgu ; % Volume gut (L) Vhe = BW*FVhe ; % Volume heart (L) Vki = BW*FVki ; % Volume kidney (L) Vlb = BW*FVlb ; % Volume liver blood (L) Vlt = BW*FVlt ; % Volume liver tissue (L) Vlu = BW*FVlu ; % Volume lung (L) Vmuec = BW*FVmuec ; % Volume muscle (L), blood Vmuic = BW*FVmuic ; % Volume muscle (L), tissue Vsk = BW*FVsk ; % Volume skin (L) Vsp = BW*FVsp ; % Volume spleen (L) Vte = BW*FVte ; % Volume testes (L) Vve = BW*FVve ; % Volume venous (L) Var = BW*FVar ; % Volume arterial blood (L) Vre = BW*FVre ; % Volume rest of body (L) Vliverbile = 0.318/100 * (Vlt+Vlb) ; %Volume of bile duct in liver (L) % {Tissue blood flows (L/h)-> Pfizer} QC = CO/1000*60*60 ; % total blood flow (L/hr) Qad = QC*FQad ; % adipose blood flow (L/hr) Qbo = QC*FQbo ; % bone blood flow (L/hr) Qbr = QC*FQbr ; % brain blood flow (L/hr) Qgu = QC*FQgu ; % gut blood flow (L/hr) Qhe = QC*FQhe ; % heart blood flow (L/hr) Qki = QC*FQki ; % kidney blood flow (L/hr) Qsp = QC*FQsp ; % spleen blood flow (L/hr) Qha = QC*FQha ; % blood flow hepatic artery (L/hr) Qlu = QC*FQlu ; % lung blood flow (L/hr) Qmu = QC*FQmu ; % muscle blood flow (L/hr) Qsk = QC*FQsk ; % skin blood flow (L/hr) Qte = QC*FQte ; % testes blood flow (L/hr) Qre = QC*FQre ; % remaining tissue blood flow (L/hr) Qh = Qha + Qgu + Qsp ; % hepatic blood flow (venous side) (L/hr) % Liver bile flow %Qliverbile = 0.43/1000*60; % liver bile flow (L/hr), Boyer and Bloomer 1974 % Qliverbile = 350/1000/24 ; % liver bile flow (L/hr), Davies and Morris 1993 %Qliverbile = 1/24; % liver bile flow (L/hr), Insights in Physiology by Sudha Vinayak Khanorkar Qliverbile = 0; % ;###################################################################################### % COMPOUND SPECIFIC PARAMETERS % {Tissue plasma-partition coefficients} logD = -0.88 ; % in house pKa = [4.6 3.8]; % Nakagomi-Hagihara et al, 2006 DMD FLG_COMPD = 3; % monoprotic acid FLG_DISP = 0; % Do NOT display Kp values Kp = Kp_calculation_new(logD,pKa,fup,Rbp,FLG_COMPD,FLG_DISP); % Rodger and Rowland Kp prediction Kpad = Kp(1) ;%adipose Kpbo = Kp(2) ;%bone Kpbr = Kp(3) ;%brain Kpgu = Kp(4) ;%gut Kphe = Kp(5) ;%heart Kpki = Kp(6) ;%kidney Kplu = Kp(8) ;%lung Kpmu = Kp(9) ;%muscle Kpsk = Kp(11) ;%skin Kpsp = Kp(12) ;%spleen Kpte = Kp(9) ;%testes Kpre = Kp(9) ;%rest of body % Absorption parameter ka = 1.07E+07 ; % absorption rate F = 0.323; % Fa*Fg Km = 5.68E+07; % hepatic efflux CLefflux = 0; % Efflux back to blood (L/hr) % tissue clearance HPPGL = 120; % million cells per g liver CLpassiveHep = CLpassive/(HPPGL*(Vlt+Vlb)*60/1000); % hepatocyte (ul/min/Mcells) unbound passive CL, SA_hepatocyte = 15*15*6*1e-8; % cm^2, hepatocyte 15 um side cubic Papp = CLpassiveHep*60/1000/1e6/SA_hepatocyte; % cm/hour V_musclecell = (1.5/2)^2*pi*50*1e-12; %cm^3, 1.5 um diameter, 50 um length, cylindrical number_musclecell = Vmuic*1000/V_musclecell; % number of muscle cells in muscle SA_musclecell = 1.5*pi*50*1e-8; % cm^2, 1.5 um diameter, 50 um length, cylindrical SAmu = number_musclecell*SA_musclecell ; % cm^2 V_fatcell = 4/3*(100/2)^3*pi*1e-12; %cm^3, fat cell, 100 um diameter number_fatcell = Vadic*1000/V_fatcell; SA_fatcell = 4*pi*(100/2)^2*1e-8; % cm^2, fat cell, 100 um diameter SAad = number_fatcell*SA_fatcell; % cm^2 CLad = Papp * SAad/1000; % L/h CLmu = Papp * SAmu/1000; % L/h % convert renal clearance into unbound renal clearance, assuming well stirred CLrenal_unbound = CLrenal/Rbp / (fup/Rbp* (1-CLrenal/Rbp/Qki) ); % CLint renal (L/hr) p = [Kpad, Kpbo, Kpbr, Kpgu, Kphe, Kpki, Kplu, Kpmu, Kpsk, Kpsp, Kpte, Kpre,... fup, Rbp, fuli, CLmet, CLpassive, CLactive, CLbile, CLrenal_unbound, CLefflux,... Vadec, Vbo, Vbr, Vgu, Vhe, Vki, Vlb, Vlt, Vlu, Vmuec, Vsk, Vsp, Vte, Vve, Var, Vre,... Qad, Qbo, Qbr, Qgu, Qhe, Qki, Qh, Qsp, Qha, Qlu, Qmu, Qsk, Qte, Qre,... ka, F, Qliverbile, Vliverbile, Vadic, Vmuic, CLad, CLmu, Km ]; % Dosing t0 = 0; % starting time y0 = zeros(1, 29); if Flg_dose == 1 IVRate1 = Dose/InfusionT; % ug/h IVRate2 = 0; % during infuion u1 = IVRate1; [t1, y1] = pbpk_MM_absorp_matlab( linspace(t0,InfusionT,25), y0, p, u1, [1e-3,1e-6,10] ); % after infusion u2 = IVRate2; [t2, y2] = pbpk_MM_absorp_matlab( linspace(0,EndT-InfusionT,476), y1(:,end), p, u2, [1e-3,1e-6,10] ); C_plasma = [y1(1,:) y2(1,2:end)]/Rbp; time = [t1 t2(2:end)+InfusionT]; elseif Flg_dose == 2 y0(26) = Dose; IVRate1 = 0; % after oral dosing u1 = IVRate1; [t1, y1] = pbpk_MM_absorp_matlab( linspace(t0,EndT,500), y0, p, u1, [1e-3,1e-6,10] ); C_plasma = y1(1,:) /Rbp; time = t1 ; end ¡°run_valsartan_CP.m¡± function run_valsartan_CP subplot(3,2,5) % iv data (ug/L) % valsartan 160 mg IV dosing, CPA oral_time_valsartan = [0.5 1 1.5 2 2.5 3 4 6 8 10 14 18 24 36]; % CPA num_sbuject_CPA = 6; oral_obs_valsartan_CPA = [617.3 2166.8 3190.2 4232.7 4569.4 5104.1 5637.8 3417.2 2304.4 1786.9 1070.4 656.3 486.5 250]; oral_SD_valsartan_CPA = [346.13 931.33 1398.57 1608.74 1871.71 1237.31 1011.32 415.71 599.67 443.28 476.77 359.56 304.37 150.82]; oral_PI_valsartan_CPA = oral_SD_valsartan_CPA .* tinv(0.975,num_sbuject_CPA-1) .* sqrt(1 + 1/num_sbuject_CPA); % CPB num_sbuject_CPB = 5; oral_obs_valsartan_CPB = [2207 1598 2443.6 2510.6 3240.7 3667.3 4243.2 3585.8 2544.6 1658 1178 1076.9 733 438.2]; oral_SD_valsartan_CPB = [979.35 649.74 713.10 739.28 765.98 1123.54 1736.24 1401.85 1376.45 947.06 828.10 628.74 359.48 88.82]; oral_PI_valsartan_CPB = oral_SD_valsartan_CPB .* tinv(0.975,num_sbuject_CPB-1) .* sqrt(1 + 1/num_sbuject_CPB); % CPH num_sbuject_CPH = 12; oral_obs_valsartan_CPH = [864.7 2100.5 2233.6 2177.4 2724.1 3469.1 2987.9 1539 890.4 701 321.1 221.2 136.9 94.7]; oral_SD_valsartan_CPH = [482.47 578.64 1179.66 1338.60 1063.73 814.88 1105.56 494.06 308.07 258.25 122.85 84.19 39.86 4.13]; oral_PI_valsartan_CPH = oral_SD_valsartan_CPH .* tinv(0.975,num_sbuject_CPH-1) .* sqrt(1 + 1/num_sbuject_CPH); % Simulation Flg_dose = 2; Dose = 160000; % ug InfusionT = 0; % no infusion EndT = oral_time_valsartan(end); number_simulation = 1000; C_plasma_CPA = zeros(500,number_simulation); ke_terminal = zeros(1,number_simulation); AUC = zeros(1,number_simulation); AUC_inf = zeros(1,number_simulation); Plasma_CL = zeros(1,number_simulation); AUMC = zeros(1,number_simulation); AUMC_inf = zeros(1,number_simulation); MRT = zeros(1,number_simulation); Vdss = zeros(1,number_simulation); Cmax = zeros(1,number_simulation); Tmax = zeros(1,number_simulation); for i = 1:number_simulation CP = 1; % CPA [time_CPA, C_plasma_CPA(:,i)] = pbpk_valsartan_CP(CP,Flg_dose,Dose,InfusionT,EndT); time_CPA = transpose(time_CPA); terminal_time = time_CPA(end-14:end)-time_CPA(end-14); terminal_C_plasma = C_plasma_CPA(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal(i) = -curve_fit(1); AUC(i) = trapz(time_CPA,C_plasma_CPA(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPA(end,i)/ke_terminal(i); Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPA,C_plasma_CPA(:,i).*time_CPA); AUMC_inf(i) = AUMC(i) + C_plasma_CPA(end,i)*time_CPA(end)/ke_terminal(i) + C_plasma_CPA(end,i)/ke_terminal(i)^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPA(:,i)); Tmax(i) = time_CPA(ind); end index = find(ke_terminal<=0); AUC(index) = []; AUC_inf(index) = []; Plasma_CL(index) = []; Vdss(index) = []; Cmax(index) = []; Tmax(index) = []; C_plasma_CPA(:,index) = []; C_plasma_CPA_average = zeros(500,1); C_plasma_CPA_UB = zeros(500,1); C_plasma_CPA_LB = zeros(500,1); for i = 1:500 C_plasma_CPA_average(i) = mean(C_plasma_CPA(i,:)); C_plasma_CPA_UB(i) = prctile(C_plasma_CPA(i,:),97.5); C_plasma_CPA_LB(i) = prctile(C_plasma_CPA(i,:),2.5); end display('================================================================') display('Liver Cirrhosis CP-A') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(mean(AUC)) ' || 95% Prediction interval [ ' num2str(prctile(AUC,[2.5,97.5])) ' ] ng*hour/mL']) display(['AUC 0-inf = ' num2str(mean(AUC_inf)) ' || 95% Prediction interval [ ' num2str(prctile(AUC_inf,[2.5,97.5])) ' ] ng*hour/mL']) display(['Plasma CL = ' num2str(mean(Plasma_CL)) ' || 95% Prediction interval [ ' num2str(prctile(Plasma_CL,[2.5,97.5])) ' ] L/hour']) display(['Vdss = ' num2str(mean(Vdss)) ' || 95% Prediction interval [ ' num2str(prctile(Vdss,[2.5,97.5])) ' ] L']) display(['Cmax = ' num2str(mean(Cmax)) ' || 95% Prediction interval [ ' num2str(prctile(Cmax,[2.5,97.5])) ' ] ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' || range: [ ' num2str([min(Tmax) max(Tmax)]) ' ] ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(ke_terminal<=0))) ' of them lead to terminal elimination rate negative or zero, and are rejected' ]) display('================================================================') number_simulation = 1000; C_plasma_CPB = zeros(500,number_simulation); for i = 1:number_simulation CP = 2; % CPB [time_CPB, C_plasma_CPB(:,i)] = pbpk_valsartan_CP(CP,Flg_dose,Dose,InfusionT,EndT); time_CPB = transpose(time_CPB); terminal_time = time_CPB(end-14:end)-time_CPB(end-14); terminal_C_plasma = C_plasma_CPB(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal(i) = -curve_fit(1); AUC(i) = trapz(time_CPB,C_plasma_CPB(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPB(end,i)/ke_terminal(i); Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPB,C_plasma_CPB(:,i).*time_CPB); AUMC_inf(i) = AUMC(i) + C_plasma_CPB(end,i)*time_CPB(end)/ke_terminal(i) + C_plasma_CPB(end,i)/ke_terminal(i)^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPB(:,i)); Tmax(i) = time_CPB(ind); end index = find(ke_terminal<=0); AUC(index) = []; AUC_inf(index) = []; Plasma_CL(index) = []; Vdss(index) = []; Cmax(index) = []; Tmax(index) = []; C_plasma_CPB(:,index) = []; C_plasma_CPB_average = zeros(500,1); C_plasma_CPB_UB = zeros(500,1); C_plasma_CPB_LB = zeros(500,1); for i = 1:500 C_plasma_CPB_average(i) = mean(C_plasma_CPB(i,:)); C_plasma_CPB_UB(i) = prctile(C_plasma_CPB(i,:),97.5); C_plasma_CPB_LB(i) = prctile(C_plasma_CPB(i,:),2.5); end display('================================================================') display('Liver Cirrhosis CP-B') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(mean(AUC)) ' || 95% Prediction interval [ ' num2str(prctile(AUC,[2.5,97.5])) ' ] ng*hour/mL']) display(['AUC 0-inf = ' num2str(mean(AUC_inf)) ' || 95% Prediction interval [ ' num2str(prctile(AUC_inf,[2.5,97.5])) ' ] ng*hour/mL']) display(['Plasma CL = ' num2str(mean(Plasma_CL)) ' || 95% Prediction interval [ ' num2str(prctile(Plasma_CL,[2.5,97.5])) ' ] L/hour']) display(['Vdss = ' num2str(mean(Vdss)) ' || 95% Prediction interval [ ' num2str(prctile(Vdss,[2.5,97.5])) ' ] L']) display(['Cmax = ' num2str(mean(Cmax)) ' || 95% Prediction interval [ ' num2str(prctile(Cmax,[2.5,97.5])) ' ] ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' || range: [ ' num2str([min(Tmax) max(Tmax)]) ' ] ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(ke_terminal<=0))) ' of them lead to terminal elimination rate negative or zero, and are rejected' ]) display('================================================================') CP = 0; % CPH [time_CPH, C_plasma_CPH] = pbpk_valsartan_CP(CP,Flg_dose,Dose,InfusionT,EndT); terminal_time = time_CPH(end-14:end)-time_CPH(end-14); terminal_C_plasma = C_plasma_CPH(end-14:end); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC = trapz(time_CPH,C_plasma_CPH); AUC_inf = AUC + C_plasma_CPH(end)/ke_terminal; Plasma_CL = Dose/AUC_inf; AUMC = trapz(time_CPH,C_plasma_CPH.*time_CPH); AUMC_inf = AUMC + C_plasma_CPH(end)*time_CPH(end)/ke_terminal + C_plasma_CPH(end)/ke_terminal^2; MRT = AUMC_inf / AUC_inf; Vdss = MRT*Plasma_CL; [Cmax,ind] = max(C_plasma_CPH); Tmax = time_CPH(ind); display('================================================================') display('Healthy') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(AUC) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(AUC_inf) ' ng*hour/mL']) display(['Plasma CL = ' num2str(Plasma_CL) ' L/hour']) display(['Vdss = ' num2str(Vdss) ' L']) display(['Cmax = ' num2str(Cmax) ' ng/mL']) display(['Tmax = ' num2str(Tmax) ' ng/mL']) display('================================================================') hold on plot(time_CPA,C_plasma_CPA_average,'r',time_CPH,C_plasma_CPH,'b-',time_CPB,C_plasma_CPB_average,'k-') plot(time_CPA,C_plasma_CPA_LB,'r--',time_CPA,C_plasma_CPA_UB,'r--') plot(time_CPA,C_plasma_CPB_LB,'k--',time_CPB,C_plasma_CPB_UB,'k--') errorbar(oral_time_valsartan,oral_obs_valsartan_CPA,zeros(1,length(oral_time_valsartan)),oral_obs_valsartan_CPA+oral_PI_valsartan_CPA,'ro') errorbar(oral_time_valsartan,oral_obs_valsartan_CPH,zeros(1,length(oral_time_valsartan)),oral_obs_valsartan_CPH+oral_PI_valsartan_CPH,'bsq') errorbar(oral_time_valsartan,oral_obs_valsartan_CPB,zeros(1,length(oral_time_valsartan)),oral_obs_valsartan_CPB+oral_PI_valsartan_CPB,'kv') hold off title({'(E) Valsartan';'160 mg oral bolus dosing'},'FontSize',10) ylabel('Concentration (ng/mL)','FontSize',10) xlabel('Time (hours)','FontSize',10) xlim([0,EndT]) C_plasma_CPA_average(1) = []; C_plasma_CPB_average(1) = []; C_plasma_CPH(1) = []; miny1 = min([C_plasma_CPA_average; oral_obs_valsartan_CPA']); miny2 = min([C_plasma_CPH oral_obs_valsartan_CPH]); miny3 = min([C_plasma_CPB_average; oral_obs_valsartan_CPB']); maxy1 = max([C_plasma_CPA_average; oral_obs_valsartan_CPA'+oral_PI_valsartan_CPA']); maxy2 = max([C_plasma_CPH oral_obs_valsartan_CPH+oral_PI_valsartan_CPH]); maxy3 = max([C_plasma_CPB_average; oral_obs_valsartan_CPB'+oral_PI_valsartan_CPB']); miny = min([miny1,miny2,miny3]); if miny < 1e-2 miny = 1e-2; end maxy = max([maxy1,maxy2,maxy3]); ylim(10.^[floor(log10(miny)),ceil(log10(maxy))]) set(gca,'YTick',10.^(floor(log10(miny)):ceil(log10(maxy))),'YScale','log') Code for valsartan simulation Method 2 ¡°pbpk_valsartan_CP.m¡± function [time, C_plasma] = pbpk_valsartan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi) % Disease status specific parameters if CP == 0 % Healthy % {In vitro binding data} fup = 0.0015;%0.004 ;%fraction unbound in plasma Rbp = 0.58 ;%blood to plasma ratio fuli = 0.048 ;%fraction unbound in liver % renal CL CLrenal = 0.62; % CLint renal (L/hr) % blood CO = 108.33 ; % cardiac output (ml/s) % {Tissue fractional blood flows and CO -> Pfizer} FQgu = 0.146462 ; % gut fractional blood flow FQsp = 0.017231 ; % spleen fractional blood flow FQha = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow (venous side) FQki = 0.19 ; % kidney fractional blood flow FQad = 0.05 ; % adipose fractional blood flow FQbo = 0.05 ; % bone fractional blood flow FQbr = 0.12 ; % brain fractional blood flow FQhe = 0.04 ; % heart fractional blood flow FQmu = 0.17 ; % muscle fractional blood flow FQsk = 0.05 ; % skin fractional blood flow FQte = 0.01076 ; % testes fractional blood flow FQre = 0.103855 ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % hepatic clearances CLactive = 1.4869e+03; % active uptake IVIVE scaling factor CLpassive = 0.46 ; % passive uptake IVIVE scaling factor CLmet = 0 ; % metabolism scaling factor CLbile = 0.948; % biliary efflux IVIVE scaling factor elseif CP == 1 % CPA % {In vitro binding data} fup_healthy = 0.0015; %fraction unbound in plasma R_albumin = 0.84; % Mean, albumin ratio between disease and healthy individuals fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT = 0.38; Rbp = 1 - HCT; % drug does not penatrate red cell fuli = 0.048 ;%fraction unbound in liver % renal CL CLrenal_healthy = 0.62; % CLint renal (L/hr), R_renal = 0.87; %ratio between disease and healthy individuals, predicted using olmesartan and rosuvastatin CLr CLrenal = CLrenal_healthy * R_renal; % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO = 1.08; % ratio between diseased and healthy conditions CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu = 0.72; % ratio between diseased and healthy conditions FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp = 1.20; % ratio between diseased and healthy conditions FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha = 1.49; % ratio between diseased and healthy conditions FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.88 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize = 0.91; % ratio between diseased and healthy conditions % hepatic clearance % Active uptake Fraction_1 = phi(1); Fraction_2 = (1-Fraction_1)*phi(2); Fraction_3 = 1 - Fraction_1 - Fraction_2; R_transporter_1 = phi(3); R_transporter_2 = phi(4); R_transporter_3 = phi(5); R_active = R_transporter_1 * Fraction_1 + R_transporter_2 * Fraction_2 + R_transporter_3 * Fraction_3; CLactive_healthy = 1.4869e+03 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 0.46 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism CLmet_healthy = 0 ; % metabolism CLmet = CLmet_healthy * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_efflux = phi(6); CLbile_healthy = 0.948; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level elseif CP == 2 % CPB % {In vitro binding data} fup_healthy = 0.0015; %fraction unbound in plasma R_albumin = 0.69; % Mean, albumin ratio between disease and healthy individuals fup = 1/( (1/fup_healthy-1) * R_albumin + 1 ); % fup, diseased condition HCT = 0.34; Rbp = 1 - HCT; fuli = 0.048 ;%fraction unbound in liver % renal CL CLrenal_healthy = 0.62; % CLint renal (L/hr), R_renal = 0.81; %ratio between disease and healthy individuals, predicted CLrenal = CLrenal_healthy * R_renal; % blood CO_healthy = 108.33; % cardiac output, healthy condition R_CO = 1.17; % ratio between diseased and healthy conditions CO = CO_healthy*R_CO ; % cardiac output (ml/s), FQgu_healthy = 0.146462; % gut fractional blood flow R_FQgu = 0.60; % ratio between diseased and healthy conditions FQgu = FQgu_healthy * R_FQgu / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQsp_healthy = 0.017231 ; % spleen fractional blood flow, R_FQsp = 1.46; % ratio between diseased and healthy conditions FQsp = FQsp_healthy * R_FQsp / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQha_healthy = 0.215385-0.146462-0.017231 ; % hepatic fractional blood flow, R_FQha = 1.7; % ratio between diseased and healthy conditions FQha = FQha_healthy * R_FQha / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected FQki = 0.19*0.65 / R_CO; % devided by R_CO, because the tissue blood flow rather than the fractional flow should be corrected % kidney fractional blood flow, Edginton and Willmann 2008 FQ_ratio = (1 -FQgu -FQsp -FQha -FQki)/0.5946; % the ratio required for other fractional blood flow, to keep total flow equal to 1 % 0.5946 is the 1 - FQki - FQgu - FQsp - FQha under healthy condition. FQad = 0.05* FQ_ratio ; % adipose fractional blood flow FQbo = 0.05*FQ_ratio ; % bone fractional blood flow FQbr = 0.12*FQ_ratio ; % brain fractional blood flow FQhe = 0.04*FQ_ratio ; % heart fractional blood flow FQmu = 0.17*FQ_ratio ; % muscle fractional blood flow FQsk = 0.05*FQ_ratio ; % skin fractional blood flow FQte = 0.01076*FQ_ratio ; % testes fractional blood flow FQre = 0.103855*FQ_ratio ; % remaining fractional tissue blood flow FQlu = 1 ; % lung fractional blood flow % functional liver size R_LiverSize = 0.81; % ratio between diseased and healthy conditions % hepatic clearance % Active uptake Fraction_1 = phi(1); Fraction_2 = (1-Fraction_1)*phi(2); Fraction_3 = 1 - Fraction_1 - Fraction_2; R_transporter_1 = phi(7); R_transporter_2 = phi(8); R_transporter_3 = phi(9); R_active = R_transporter_1 * Fraction_1 + R_transporter_2 * Fraction_2 + R_transporter_3 * Fraction_3; CLactive_healthy = 1.4869e+03 ; % hepatic active uptake CLactive = CLactive_healthy * R_active * R_LiverSize; % correction for both liver size and expression level % Passive diffusion CLpassive_healthy = 0.46 ; CLpassive = CLpassive_healthy * R_LiverSize; % correction for liver size % Metabolism CLmet_healthy = 0 ; % metabolism CLmet = CLmet_healthy * R_LiverSize; % correction for both liver size and expression level % Biliary clearance R_efflux = phi(10); CLbile_healthy = 0.948 ; % biliary efflux IVIVE scaling factor CLbile = CLbile_healthy * R_efflux * R_LiverSize; % correction for both liver size and expression level end % SPECIES SPECIFIC PARAMETERS % Fractional Tissue volumes and BW FVadec = 0.0415 ; % Fractional Volume adipose, blood FVadic = 0.1715 ; % Tissue FVbo = 0.085629 ; % Fractional Volume bone FVbr = 0.02 ; % Fractional Volume brain FVgu = 0.0171 ; % Fractional Volume gut FVhe = 0.0047 ; % Fractional Volume heart FVki = 0.0044 ; % Fractional Volume kidney FVlu = 0.0076 ; % Fractional Volume lung FVmuec = 0.07 ; % Fractional Volume muscle tissue FVmuic = 0.33 ;% Fractional Volume muscle blood FVsk = 0.0371 ; % Fractional Volume skin FVsp = 0.0026 ; % Fractional Volume spleen FVte = 0.01 ; % Fractional Volume testes FVve = 0.0514 ; % Fractional Volume venous FVar = 0.0257 ; % Fractional Volume arterial FVre = 0.099771 ; % Fractional Volume rest of body FVlb = 0.004568 ; % Fractional Volume liver blood (Watanabe et al 2009) FVlt = 0.016432 ; % Fractional Volume liver tissue (Watanabe et al 2009) % Tissue volumes and BW BW = 70 ; % BW (kg) Vadec = BW*FVadec ; % Volume adipose blood (L) Vadic = BW*FVadic ; % Volume adipose Tissue (L) Vbo = BW*FVbo ; % Volume bone (L) Vbr = BW*FVbr ; % Volume brain (L) Vgu = BW*FVgu ; % Volume gut (L) Vhe = BW*FVhe ; % Volume heart (L) Vki = BW*FVki ; % Volume kidney (L) Vlb = BW*FVlb ; % Volume liver blood (L) Vlt = BW*FVlt ; % Volume liver tissue (L) Vlu = BW*FVlu ; % Volume lung (L) Vmuec = BW*FVmuec ; % Volume muscle (L), blood Vmuic = BW*FVmuic ; % Volume muscle (L), tissue Vsk = BW*FVsk ; % Volume skin (L) Vsp = BW*FVsp ; % Volume spleen (L) Vte = BW*FVte ; % Volume testes (L) Vve = BW*FVve ; % Volume venous (L) Var = BW*FVar ; % Volume arterial blood (L) Vre = BW*FVre ; % Volume rest of body (L) Vliverbile = 0.318/100 * (Vlt+Vlb) ; %Volume of bile duct in liver (L) % {Tissue blood flows (L/h)-> Pfizer} QC = CO/1000*60*60 ; % total blood flow (L/hr) Qad = QC*FQad ; % adipose blood flow (L/hr) Qbo = QC*FQbo ; % bone blood flow (L/hr) Qbr = QC*FQbr ; % brain blood flow (L/hr) Qgu = QC*FQgu ; % gut blood flow (L/hr) Qhe = QC*FQhe ; % heart blood flow (L/hr) Qki = QC*FQki ; % kidney blood flow (L/hr) Qsp = QC*FQsp ; % spleen blood flow (L/hr) Qha = QC*FQha ; % blood flow hepatic artery (L/hr) Qlu = QC*FQlu ; % lung blood flow (L/hr) Qmu = QC*FQmu ; % muscle blood flow (L/hr) Qsk = QC*FQsk ; % skin blood flow (L/hr) Qte = QC*FQte ; % testes blood flow (L/hr) Qre = QC*FQre ; % remaining tissue blood flow (L/hr) Qh = Qha + Qgu + Qsp ; % hepatic blood flow (venous side) (L/hr) % Liver bile flow %Qliverbile = 0.43/1000*60; % liver bile flow (L/hr), Boyer and Bloomer 1974 % Qliverbile = 350/1000/24 ; % liver bile flow (L/hr), Davies and Morris 1993 %Qliverbile = 1/24; % liver bile flow (L/hr), Insights in Physiology by Sudha Vinayak Khanorkar Qliverbile = 0; % ;###################################################################################### % COMPOUND SPECIFIC PARAMETERS % {Tissue plasma-partition coefficients} logD = -0.88 ; % in house pKa = [4.6 3.8]; % Nakagomi-Hagihara et al, 2006 DMD FLG_COMPD = 3; % monoprotic acid FLG_DISP = 0; % Do NOT display Kp values Kp = Kp_calculation_new(logD,pKa,fup,Rbp,FLG_COMPD,FLG_DISP); % Rodger and Rowland Kp prediction Kpad = Kp(1) ;%adipose Kpbo = Kp(2) ;%bone Kpbr = Kp(3) ;%brain Kpgu = Kp(4) ;%gut Kphe = Kp(5) ;%heart Kpki = Kp(6) ;%kidney Kplu = Kp(8) ;%lung Kpmu = Kp(9) ;%muscle Kpsk = Kp(11) ;%skin Kpsp = Kp(12) ;%spleen Kpte = Kp(9) ;%testes Kpre = Kp(9) ;%rest of body % Absorption parameter ka = 1.07E+07 ; % absorption rate F = 0.323; % Fa*Fg Km = 5.68E+07; % hepatic efflux CLefflux = 0; % Efflux back to blood (L/hr) % tissue clearance HPPGL = 120; % million cells per g liver CLpassiveHep = CLpassive/(HPPGL*(Vlt+Vlb)*60/1000); % hepatocyte (ul/min/Mcells) unbound passive CL, SA_hepatocyte = 15*15*6*1e-8; % cm^2, hepatocyte 15 um side cubic Papp = CLpassiveHep*60/1000/1e6/SA_hepatocyte; % cm/hour V_musclecell = (1.5/2)^2*pi*50*1e-12; %cm^3, 1.5 um diameter, 50 um length, cylindrical number_musclecell = Vmuic*1000/V_musclecell; % number of muscle cells in muscle SA_musclecell = 1.5*pi*50*1e-8; % cm^2, 1.5 um diameter, 50 um length, cylindrical SAmu = number_musclecell*SA_musclecell ; % cm^2 V_fatcell = 4/3*(100/2)^3*pi*1e-12; %cm^3, fat cell, 100 um diameter number_fatcell = Vadic*1000/V_fatcell; SA_fatcell = 4*pi*(100/2)^2*1e-8; % cm^2, fat cell, 100 um diameter SAad = number_fatcell*SA_fatcell; % cm^2 CLad = Papp * SAad/1000; % L/h CLmu = Papp * SAmu/1000; % L/h % convert renal clearance into unbound renal clearance, assuming well stirred CLrenal_unbound = CLrenal/Rbp / (fup/Rbp* (1-CLrenal/Rbp/Qki) ); % CLint renal (L/hr) p = [Kpad, Kpbo, Kpbr, Kpgu, Kphe, Kpki, Kplu, Kpmu, Kpsk, Kpsp, Kpte, Kpre,... fup, Rbp, fuli, CLmet, CLpassive, CLactive, CLbile, CLrenal_unbound, CLefflux,... Vadec, Vbo, Vbr, Vgu, Vhe, Vki, Vlb, Vlt, Vlu, Vmuec, Vsk, Vsp, Vte, Vve, Var, Vre,... Qad, Qbo, Qbr, Qgu, Qhe, Qki, Qh, Qsp, Qha, Qlu, Qmu, Qsk, Qte, Qre,... ka, F, Qliverbile, Vliverbile, Vadic, Vmuic, CLad, CLmu, Km ]; % Dosing t0 = 0; % starting time y0 = zeros(1, 29); if Flg_dose == 1 IVRate1 = Dose/InfusionT; % ug/h IVRate2 = 0; % during infuion u1 = IVRate1; [t1, y1] = pbpk_MM_absorp_matlab( linspace(t0,InfusionT,25), y0, p, u1, [1e-3,1e-6,10] ); % after infusion u2 = IVRate2; [t2, y2] = pbpk_MM_absorp_matlab( linspace(0,EndT-InfusionT,476), y1(:,end), p, u2, [1e-3,1e-6,10] ); C_plasma = [y1(1,:) y2(1,2:end)]/Rbp; time = [t1 t2(2:end)+InfusionT]; elseif Flg_dose == 2 y0(26) = Dose; IVRate1 = 0; % after oral dosing u1 = IVRate1; [t1, y1] = pbpk_MM_absorp_matlab( linspace(t0,EndT,500), y0, p, u1, [1e-3,1e-6,10] ); C_plasma = y1(1,:) /Rbp; time = t1 ; end ¡°run_valsartan_CP.m¡± function SSE = run_valsartan_CP(phi) subplot(3,2,5) % iv data (ug/L) % valsartan 160 mg IV dosing, CPA oral_time_valsartan = [0.5 1 1.5 2 2.5 3 4 6 8 10 14 18 24 36]; % CPA num_sbuject_CPA = 6; oral_obs_valsartan_CPA = [617.3 2166.8 3190.2 4232.7 4569.4 5104.1 5637.8 3417.2 2304.4 1786.9 1070.4 656.3 486.5 250]; oral_SD_valsartan_CPA = [346.13 931.33 1398.57 1608.74 1871.71 1237.31 1011.32 415.71 599.67 443.28 476.77 359.56 304.37 150.82]; oral_PI_valsartan_CPA = oral_SD_valsartan_CPA .* tinv(0.975,num_sbuject_CPA-1) .* sqrt(1 + 1/num_sbuject_CPA); % CPB num_sbuject_CPB = 5; oral_obs_valsartan_CPB = [2207 1598 2443.6 2510.6 3240.7 3667.3 4243.2 3585.8 2544.6 1658 1178 1076.9 733 438.2]; oral_SD_valsartan_CPB = [979.35 649.74 713.10 739.28 765.98 1123.54 1736.24 1401.85 1376.45 947.06 828.10 628.74 359.48 88.82]; oral_PI_valsartan_CPB = oral_SD_valsartan_CPB .* tinv(0.975,num_sbuject_CPB-1) .* sqrt(1 + 1/num_sbuject_CPB); % CPH num_sbuject_CPH = 12; oral_obs_valsartan_CPH = [864.7 2100.5 2233.6 2177.4 2724.1 3469.1 2987.9 1539 890.4 701 321.1 221.2 136.9 94.7]; oral_SD_valsartan_CPH = [482.47 578.64 1179.66 1338.60 1063.73 814.88 1105.56 494.06 308.07 258.25 122.85 84.19 39.86 4.13]; oral_PI_valsartan_CPH = oral_SD_valsartan_CPH .* tinv(0.975,num_sbuject_CPH-1) .* sqrt(1 + 1/num_sbuject_CPH); % Simulation Flg_dose = 2; Dose = 160000; % ug InfusionT = 0; % no infusion EndT = oral_time_valsartan(end); number_simulation = 1; C_plasma_CPA = zeros(500,number_simulation); AUC = zeros(1,number_simulation); AUC_inf = zeros(1,number_simulation); Plasma_CL = zeros(1,number_simulation); AUMC = zeros(1,number_simulation); AUMC_inf = zeros(1,number_simulation); MRT = zeros(1,number_simulation); Vdss = zeros(1,number_simulation); Cmax = zeros(1,number_simulation); Tmax = zeros(1,number_simulation); for i = 1:number_simulation CP = 1; % CPA [time_CPA, C_plasma_CPA(:,i)] = pbpk_valsartan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); time_CPA = transpose(time_CPA); terminal_time = time_CPA(end-14:end)-time_CPA(end-14); terminal_C_plasma = C_plasma_CPA(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC(i) = trapz(time_CPA,C_plasma_CPA(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPA(end,i)/ke_terminal; Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPA,C_plasma_CPA(:,i).*time_CPA); AUMC_inf(i) = AUMC(i) + C_plasma_CPA(end,i)*time_CPA(end)/ke_terminal + C_plasma_CPA(end,i)/ke_terminal^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPA(:,i)); Tmax(i) = time_CPA(ind); end C_plasma_CPA_average = zeros(500,1); C_plasma_CPA_UB = zeros(500,1); C_plasma_CPA_LB = zeros(500,1); for i = 1:500 C_plasma_CPA_average(i) = mean(C_plasma_CPA(i,:)); C_plasma_CPA_UB(i) = prctile(C_plasma_CPA(i,:),97.5); C_plasma_CPA_LB(i) = prctile(C_plasma_CPA(i,:),2.5); end oral_pred_valsartan_CPA = interp1q(time_CPA,C_plasma_CPA_average,oral_time_valsartan'); display('================================================================') display('Liver Cirrhosis CP-A') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(geomean(AUC)) ' +/-SD ' num2str(std(AUC)) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(geomean(AUC_inf)) ' +/-SD ' num2str(std(AUC_inf)) ' ng*hour/mL']) display(['Plasma CL = ' num2str(geomean(Plasma_CL)) ' +/-SD ' num2str(std(Plasma_CL)) ' L/hour']) display(['Vdss = ' num2str(geomean(Vdss)) ' +/-SD ' num2str(std(Vdss)) ' L']) display(['Cmax = ' num2str(geomean(Cmax)) ' +/-SD ' num2str(std(Cmax)) ' ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' range: ( ' num2str([min(Tmax) max(Tmax)]) ' ) ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(AUC < 1))) ' of them lead to AUC negative or zero' ]) display('================================================================') C_plasma_CPB = zeros(500,number_simulation); for i = 1:number_simulation CP = 2; % CPB [time_CPB, C_plasma_CPB(:,i)] = pbpk_valsartan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); time_CPB = transpose(time_CPB); terminal_time = time_CPB(end-14:end)-time_CPB(end-14); terminal_C_plasma = C_plasma_CPB(end-14:end,i); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC(i) = trapz(time_CPB,C_plasma_CPB(:,i)); AUC_inf(i) = AUC(i) + C_plasma_CPB(end,i)/ke_terminal; Plasma_CL(i) = Dose/AUC_inf(i); AUMC(i) = trapz(time_CPB,C_plasma_CPB(:,i).*time_CPB); AUMC_inf(i) = AUMC(i) + C_plasma_CPB(end,i)*time_CPB(end)/ke_terminal + C_plasma_CPB(end,i)/ke_terminal^2; MRT(i) = AUMC_inf(i) / AUC_inf(i); Vdss(i) = MRT(i)*Plasma_CL(i); [Cmax(i),ind] = max(C_plasma_CPB(:,i)); Tmax(i) = time_CPB(ind); end C_plasma_CPB_average = zeros(500,1); C_plasma_CPB_UB = zeros(500,1); C_plasma_CPB_LB = zeros(500,1); for i = 1:500 C_plasma_CPB_average(i) = mean(C_plasma_CPB(i,:)); C_plasma_CPB_UB(i) = prctile(C_plasma_CPB(i,:),97.5); C_plasma_CPB_LB(i) = prctile(C_plasma_CPB(i,:),2.5); end oral_pred_valsartan_CPB = interp1q(time_CPB,C_plasma_CPB_average,oral_time_valsartan'); display('================================================================') display('Liver Cirrhosis CP-B') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(geomean(AUC)) ' +/-SD ' num2str(std(AUC)) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(geomean(AUC_inf)) ' +/-SD ' num2str(std(AUC_inf)) ' ng*hour/mL']) display(['Plasma CL = ' num2str(geomean(Plasma_CL)) ' +/-SD ' num2str(std(Plasma_CL)) ' L/hour']) display(['Vdss = ' num2str(geomean(Vdss)) ' +/-SD ' num2str(std(Vdss)) ' L']) display(['Cmax = ' num2str(geomean(Cmax)) ' +/-SD ' num2str(std(Cmax)) ' ng/mL']) display(['Tmax = ' num2str(median(Tmax)) ' range: ( ' num2str([min(Tmax) max(Tmax)]) ' ) ng/mL']) display(['Amoung 1000 simulations, ' num2str(length(find(AUC < 1))) ' of them lead to AUC negative or zero' ]) display('================================================================') CP = 0; % CPH [time_CPH, C_plasma_CPH] = pbpk_valsartan_CP(CP,Flg_dose,Dose,InfusionT,EndT,phi); terminal_time = time_CPH(end-14:end)-time_CPH(end-14); terminal_C_plasma = C_plasma_CPH(end-14:end); curve_fit = polyfit(terminal_time,log(terminal_C_plasma),1); ke_terminal = -curve_fit(1); AUC = trapz(time_CPH,C_plasma_CPH); AUC_inf = AUC + C_plasma_CPH(end)/ke_terminal; Plasma_CL = Dose/AUC_inf; AUMC = trapz(time_CPH,C_plasma_CPH.*time_CPH); AUMC_inf = AUMC + C_plasma_CPH(end)*time_CPH(end)/ke_terminal + C_plasma_CPH(end)/ke_terminal^2; MRT = AUMC_inf / AUC_inf; Vdss = MRT*Plasma_CL; [Cmax,ind] = max(C_plasma_CPH); Tmax = time_CPH(ind); display('================================================================') display('Healthy') display('----------------------------------------------------------------') display(['AUC 0-' num2str(EndT) 'h = ' num2str(AUC) ' ng*hour/mL']) display(['AUC 0-inf = ' num2str(AUC_inf) ' ng*hour/mL']) display(['Plasma CL = ' num2str(Plasma_CL) ' L/hour']) display(['Vdss = ' num2str(Vdss) ' L']) display(['Cmax = ' num2str(Cmax) ' ng/mL']) display(['Tmax = ' num2str(Tmax) ' ng/mL']) display('================================================================') hold on plot(time_CPA,C_plasma_CPA_average,'r',time_CPH,C_plasma_CPH,'b-',time_CPB,C_plasma_CPB_average,'k-') %plot(time_CPA,C_plasma_CPA_LB,'r--',time_CPA,C_plasma_CPA_UB,'r--') %plot(time_CPA,C_plasma_CPB_LB,'k--',time_CPB,C_plasma_CPB_UB,'k--') errorbar(oral_time_valsartan,oral_obs_valsartan_CPA,zeros(1,length(oral_time_valsartan)),oral_obs_valsartan_CPA+oral_PI_valsartan_CPA,'ro') errorbar(oral_time_valsartan,oral_obs_valsartan_CPH,zeros(1,length(oral_time_valsartan)),oral_obs_valsartan_CPH+oral_PI_valsartan_CPH,'bsq') errorbar(oral_time_valsartan,oral_obs_valsartan_CPB,zeros(1,length(oral_time_valsartan)),oral_obs_valsartan_CPB+oral_PI_valsartan_CPB,'kv') hold off title({'(E) Valsartan';'160 mg oral bolus dosing'},'FontSize',10) ylabel('Concentration (ng/mL)','FontSize',10) xlabel('Time (hours)','FontSize',10) xlim([0,EndT]) C_plasma_CPA_average(1) = []; C_plasma_CPB_average(1) = []; C_plasma_CPH(1) = []; miny1 = min([C_plasma_CPA_average; oral_obs_valsartan_CPA']); miny2 = min([C_plasma_CPH oral_obs_valsartan_CPH]); miny3 = min([C_plasma_CPB_average; oral_obs_valsartan_CPB']); maxy1 = max([C_plasma_CPA_average; oral_obs_valsartan_CPA'+oral_PI_valsartan_CPA']); maxy2 = max([C_plasma_CPH oral_obs_valsartan_CPH+oral_PI_valsartan_CPH]); maxy3 = max([C_plasma_CPB_average; oral_obs_valsartan_CPB'+oral_PI_valsartan_CPB']); miny = min([miny1,miny2,miny3]); if miny < 1e-2 miny = 1e-2; end maxy = max([maxy1,maxy2,maxy3]); ylim(10.^[floor(log10(miny)),ceil(log10(maxy))]) set(gca,'YTick',10.^(floor(log10(miny)):ceil(log10(maxy))),'YScale','log') % Processing ydata oral_obs_valsartan_CPA = log10(oral_obs_valsartan_CPA); oral_pred_valsartan_CPA = log10(oral_pred_valsartan_CPA); oral_obs_valsartan_CPB = log10(oral_obs_valsartan_CPB); oral_pred_valsartan_CPB = log10(oral_pred_valsartan_CPB); % log likelihood function SSE = (norm(oral_obs_valsartan_CPA' - oral_pred_valsartan_CPA))^2/length(oral_time_valsartan) + (norm(oral_obs_valsartan_CPB' - oral_pred_valsartan_CPB))^2/length(oral_time_valsartan);