主要内容

PK/PD建模与仿真指导抗生素的给药策略

该实施例显示了如何对抗菌剂进行药代动力学/药物动力学(PK / PD)模型的蒙特卡罗模拟。这个例子是从Katsube等人的调整。[1]此示例还显示了如何使用Simbiology®SimFunction对象并行执行参数扫描。

这个例子需要统计和机器学习工具箱™。如果你有并行计算工具箱™软件的性能得以提高。

背景

Katsube等人[1]使用PK/PD建模和模拟方法来确定碳青霉烯类抗生素多力培南的最有效剂量方案。他们的研究目标是:

  • 建立多力培南对铜绿假单胞菌的PK/PD模型

  • 使用Monte Carlo模拟来比较的四种常见的抗生素给药方案的有效性,并确定最有效的给药策略

  • 观察肾功能对抗菌治疗效果的影响

在本例中,我们将在SimBiology®中实现Katsube等人[1]开发的抗菌PK/PD模型,并复制他们工作中描述的蒙特卡洛模拟结果。

参考文献

Katsube、Yano、T. Wajima、Y. Yamano和M. Takano。确定多力培南有效剂量方案的药代动力学/药效学建模和模拟。医药科学(2010) 99(5), 2483 - 91。

PK / PD模型

Katube等人。假定从中央室消除线性二室输注模型来描述多利培南的药物动力学。对于细菌生长模型,他们假设总细菌种群是由药物敏感生长的细胞和药物不敏感的静息细胞。被包括在经由简单的Emax类型的模型中的细菌的杀灭率的药物的抗菌作用:

$$杀戮率= \ frac {kmax * [drug] * [growing]} {kc50 + [drug]} $$

在哪里(药物)药物在中央腔室的浓度(ug/ml)和(增长)为CFU/ml中不断增长的细菌数量(CFU =菌落形成单位)。KMAX是最大杀灭率常数(1 /小时)和KC50是michaelis-menten率常数(Ug / ml)。

模型的SimBiology实现的图形化视图如下所示。

%负载模型sbioloadproject('antiaLatialpkpd.sbproj''M1');

剂量方案

Katube等人。使用四种常见的抗生素剂量策略模拟模型。

  • 每日两次250毫克(每日一次)

  • 250毫克一天(每日三次)三次

  • 500毫克,一天两次(每日两次)

  • 500毫克,一天3次(t.i.d)

四种给药方案均采用输注给药,输注时间设置为30分钟。在SimBiology中,这些剂量方案已经作为剂量对象实施。

%在模型中选择剂量对象doseNames = {'250 mg'“250毫克tid”“500毫克报价”'500 mg tid'};为了iDoseGrp = 1:length(doseNames)'姓名', doseNames {iDoseGrp});结尾

虚拟人口的说明

根据人口统计学变量和PK/PD参数的分布,生成虚拟个体种群。分布类型和分布参数的值是基于在日本进行的多力培南早期临床试验的数据。

注意:在[1]中,在每个剂量组中模拟5,000名虚拟患者。在这个例子中,我们将在每组中使用1,000名患者。为了模拟不同的人口大小,改变价值nPatients在下面。

% 设置nPatients = 1000;每剂量组患者数量%nDoseGrps = 4;%试验剂量方案数

人口统计变量的分布:

重量 (Wt)和年龄(年龄)为正态分布,均值分别为51.6 kg和71.8年,标准差分别为11.8 kg和11.9年。26%的人口被认为是女性。血清肌酐水平(克拉)为对数正态分布,典型值(几何平均值)为0.78 mg/dL,变异系数(CV)为32.8%。肌酐清除率(肌酐清除率)的计算采用Cockcroft-Gault方程。

投入到lognrnd函数为平均值()及标准偏差(Sigma.)相关联的正态分布的。这里和整个的例子,Sigma.从对数正态分布的变化的报告的典型的值和系数进行了计算。您可以使用下面的定义来计算它们。看看lognstat文档以获取更多信息。

= @(m,v) log(m²/√(v+m²))= @(m,v)√(log(v/m²+1))m = @(typicalValue) typicalValue;v = @(typicalValue,CV) typicalValue^2*CV^2;%病人的人口统计rng (“默认”);Wt = normmrnd (51.6, 11.8, nPatients, nDoseGrps);%单位:千克年龄= Normrnd(71.8,11.9,幼儿,Ndosegrps);%单位:年sc_mu = mu(m(0.78), v(0.78,0.328));sc_sigma = sigma(m(0.78), v(0.78,0.328));Scr = logrnd (Scr_mu, Scr_sigma, nPatients, nDoseGrps);%单位:毫升/分钟%性别比率ID = 1:npatiants * ndosegrps;IDFemale = RandSample(ID,ROUND(0.26 * NdoseGRPS * npatiants));% 26%为女性

肌酐清除率(使用Cockcroft-Gault方程式)

CRCL =(140  - 年龄)* Wt./(Scr*72);%单位:毫升/分钟CRCL(idFemale)= CRCL(idFemale)* 0.85;%乘以0.85为女性

药代动力学(PK)参数分布:

PK参数,中央k12的, 和k21里面,从逻辑正式分布中取样,分别具有7.64升的典型值,1.59 1 /小时和2.26 1 /小时,以及20%的变异系数(CV)。中央是中央隔间的分配量,和k12的k21里面传递速率常数是中央外围车厢。

Central_mu = mu(m(7.64), v(7.64,0.20));Central_sigma = sigma(m(7.64), v(7.64,0.20));K12_mu = mu(m(1.59), v(1.59,0.20));K12_sigma = sigma(m(1.59), v(1.59,0.20));K21_mu = mu(m(2.26), v(2.26, 0.2));K21_sigma = sigma(m(2.26), v(2.26, 0.2));Central = logrnd (Central_mu, Central_sigma, nPatients, nDoseGrps);%单位:升k12 = logrnd (k12_mu, k12_sigma, nPatients, nDoseGrps);%为单位:1 /小时K21 = lognrnd(k21_mu,k21_sigma,nPatients,nDoseGrps);%为单位:1 /小时

药物清除率,CL.,假设用在通过以下公式肌酐清除率呈线性关系:

$$ CL = 1.07 * CRCL + 45.6 + \ varepsilon $$

在哪里\ varepsilon美元是从正态分布中采样的添加剂残留误差,平均值为0 ml /分钟和22ml /分钟的标准偏差。

CL = 1.07*CrCL + 45.6 + normrnd(0,22,nPatients,nDoseGrps);%单位:毫升/分钟

药效学(PD)参数分布:

成长到休息转化率常数,K1K2中,从分别与5.59e-5的典型的值和0.0297 1 /小时,每个具有20%的CV对数正态分布采样。KMAX从与3.5升/小时和15.9%CV的典型值对数正态分布取样。

K1_mu = mu(m(5.59e-5), v(5.59e-5, 0.2));K1_sigma = sigma(m(5.59e-5), v(5.59e-5, 0.2));K2_mu = mu(m(0.0297), v(0.0297, 0.2));K2_sigma = sigma(m(0.0297), v(0.0297, 0.2));Kmax_mu = mu(m(3.50), v(3.50, 0.159));Kmax_sigma = sigma(m(3.50), v(3.50, 0.159));k1 = logrnd (k1_mu, k1_sigma, nPatients, nDoseGrps);%为单位:1 /小时K2 = lognrnd(k2_mu,k2_sigma,nPatients,nDoseGrps);%为单位:1 /小时Kmax = logrnd (Kmax_mu, Kmax_sigma, nPatients, nDoseGrps);%为单位:1 /小时

Katube等人。假设价值观K1K2KMAX与被治疗的细菌菌株无关。的价值β,净生长速率恒定,固定在1.5 1 /小时。

根据对几种菌株的实验,作者得出结论KC50是线性地依赖于通过下面的等式细菌菌株的最小抑制浓度(MIC)。

$ $ ln (KC50) = -1.91 + 0.898 * ln (MIC) + \ varepsilon $ $

在哪里\ varepsilon美元为平均值为0,标准差为1.06 ug/ml的正态分布的可加性残留误差。在模拟中麦克风数值是从离散分布中取样的,并且KC50值,计算出所选择的麦克风用上面的方程。

% 71株铜绿假单胞菌MIC值的离散分布micValue = [0.0625,0.125,0.25,0.5,1,2,4,8,16,32];micFreq = [5,8,9,14,7,8,9,5,2,4];%使用randsample从离散分布中取样MIC值MIC = nan(nPatients, nDoseGrps);%预分配为了iDoseGrp = 1:nDoseGrps MIC(:, iDoseGrp) = randsample(micValue, nPatients, true, micFreq);结尾KC50 = exp(-1.91 + 0.898*log(MIC) + 1.06*randn(nPatients, nDoseGrps));%单位:微克/毫升

模拟设置与设计

创建一个SimFunction对象,该对象允许您并行执行模型模拟和参数扫描。在本例中,您将更改8个参数,中央k12的k21里面CL.K1K2KMAX, 和KC50.选择生长和静止的细菌计数,日益增长的休息,作为响应,即在改变这些输入参数时希望观察的模拟结果。

选择参数变化。

params = {'中央''K12''k21'“氯”“k1”“k2”'kmax''KC50'};

选择反应。

观察到= {“[细菌生长模型] .Growing”...“细菌生长模型。休息的};

设置模板剂量。

tempdose = sbiodose (“剂量”);tempdose。目标='Central.Drug';tempdose。AmountUnits =毫克的;tempdose.TimeUnits =“小时”;tempdose.DurationParameterName ='tdose'

创建一个SimFunction目的。放UseParallel为true以启用并行计算。

simfunc = createSimFunction(M1,则params,可观测量,tempdose,'使用指平行',真正的);

创建输入矩阵对于每种剂量组。

phi = cell(1,ndosegrps);为了i = 1: nDoseGrpsφ{我}=[中央(:,i)、k12(:,我),k21(:,我)...CL(:,i),k1(:,i),k2(:,i),...的Kmax(:,i)中,KC50(:,i)的];结尾

集群计算

此示例使用预先配置到本地计算机的本地群集配置文件。您还可以搜索在AmazonEC2®上运行的其他MATLAB®ParrateServer™群集。在这一点选项卡在环境部分中,选择平行>发现群集.要访问这些集群,您必须提供MathWorks®帐户登录信息。有关详细信息,请参阅发现集群并使用集群配置文件(并行计算工具箱)

如果不存在并行池,则创建一个并行池。

如果缺乏(GCP)Parpool;结尾
开始使用“本地”轮廓平行池(parpool)......连接到并行池(工号:6)。

对于所有剂量场景,模拟模型至第一次给药时间t = 2周。在整个给药期间,每24小时(每天一次)采样一次细菌总数,即CFU。

tObs = 0:24:336;% 小时nTPoints =长度(TOBS);%采样点个数

严重感染患者的蒙特卡罗模拟

可以使用不同的PK / Pd索引测量药物的抗菌效果。Katube等人。设置细菌消除的标准日志10(CFU)<0,其中CFU是细菌总数。每个剂量方案的有效性是通过在该剂量组中达到成功标准的人口比例来衡量的。这个功效指标,公关{log10 (CFU) < 0},以时间为函数跟踪每个剂量组。

在他们的模拟研究中,作者研究了两类患者的给药方案的功效:

  • 中等感染(初始细菌计数= 1E4 CFU / mL)

  • 严重感染(初始菌数= 1E7 CFU / ml)的

在这个例子中,我们将复制只对严重感染情况下的结果。请注意,您可以轻松地模仿其他情况下,患者的中度感染,改变细菌计数的初始量(日益增长的物种),在模型中至1E4 CFU / mL。

%预分配cfu =南(nTPoints nPatients);log10CFU = cell(1,nDoseGrps);为了i = 1:nDoseGrps disp([“模拟组”,num2str(i)中,“……”])%直接从每个现有剂量对象获取剂量表%的给药方案。剂量= gettable(doseregimens(i));%模拟SIMDATA = simfunc(PHI {I},[],doseTable,TOBS);每个患者的生长和休息细菌计数的百分比为了j = 1:nPatients cfu(:,j) = sum(simdata(j).Data,2);结尾%存储每个剂量组的数值数转换计数。log10cfu {i} = log10(cfu);结尾%保存结果log10CFU_250bid = log10CFU {1};log10CFU_250tid = log10CFU {2};log10CFU_500bid = log10CFU {3};log10CFU_500tid = log10CFU {4};
模拟组1…模拟组2…模拟组3…模拟组4…

关闭并行池。

删除(gcp ('noicreate'));

细菌计数的时间过程概况

我们绘制中位数(红色)和百分位数(阴影)的剖面log10 (CFU)所有四种剂量方案的水平。观察到,在所有四组中,中值时间课程型材表明,在治疗期结束前(336小时)之前,细菌根除是完整的。然而,从较高百分位的轮廓明显看出,治疗对于所有患者不成功。第95和第90百分位分布还表明,用较高频率(250坦)的较低量的较低量比具有更高量(500bid)的频率更低的剂量更有效。

hax1(1) = subplot(2,2,1)'一种。剂量250出价”)hax1(2)=子图(2,2,2)plotcfucoun(tobs,log10cfu_250tid,'b.剂量250 tid') hax1(3) = subplot(2,2,3)“c. 500剂量出价”) hax1(4) = subplot(2,2,4)d. 500剂量tid链接子图轴Linkaxes(HAX1)
hax1 =具有属性的轴:xlim:[0 1] ylim:[0 1] Xscale:'Linear'yScale:'Linear'GridlineStyle:' - '位置:[0.1300 0.5838 0.3347 0.3412]单位:'标准化'使用开始显示所有属性hax1 = 1×2轴阵列:轴轴hax1 = 1×3轴阵列:轴轴轴hax1 = 1×4轴阵列:轴轴轴轴

肾功能对抗菌活性的影响

最后,作者比较了不同剂量方案对肾功能的影响。他们根据肌酐清除率将患者分为四个肾功能组(肌酐清除率):

  • 肌酐清除群1:肌酐清除率<30

  • 肌酐清除组2:30 <=肌酐清除率<50

  • 肌酐清除组3:50 <=肌酐清除率<70

  • 肌酐清除群4:肌酐清除率> = 70

下图为肾功能(肌酐清除率)对四种给药方案抗菌效果的影响。观察正常肾功能组(肌酐清除率> = 70)中,四个治疗策略的效力轮廓彼此不同显著。在这种情况下,500毫克每日三次剂量比其它方案更有效。相比之下,模拟涉及与肾功能不全患者(肌酐清除率< 30和30 <=肌酐清除率<50),我们没有看到治疗组之间的差异很大。这表明对于肾功能不全的患者,较小或更少的频率给药策略几乎可以使用,以及具有更高频率或给药量的计量策略。

%预分配idcrclgrp = false(npatients,ndosegrps);%线型LS = {'BD:'" b *:“理查德·道金斯:”'R *:'};titleStr = {“CL_c_r < 30”...'30 <= CL_c_r < 50'...'50 <= CL_c_r <70'...'CL_c_r> 70'};F =图。f.Color ='W'为了iCrCLGrp = 1:4%肌酐清除群HAX2(ICRCLGRP)=子图(2,2,ICRCLGRP);标题(titlestr {icrclgrp});ylabel('prob(log10cfu <0)');包含('时间(小时)');结尾%设定轴性能集(hax2,'XTICK'0:48:336,...'XTickLabel'0:48:336,...'ylim',[0 1],...“Xlim”, [0 336],...'NextPlot'“添加”...“盒子”'在');%肾功能组别图结果:为了iDoseGrp = 1: nDoseGrps%提取肾功能的指标idCrCLGrp(:, 1) = CrCL(:,iDoseGrp) < 30;idCrCLGrp(:, 2) = CrCL(:,iDoseGrp) >= 30 & CrCL(:,iDoseGrp) < 50;idCrCLGrp(:, 3) = CrCL(:,iDoseGrp) >= 50 & CrCL(:,iDoseGrp) < 70;idCrCLGrp(:, 4) = CrCL(:,iDoseGrp) >= 70;为了iCrCLGrp = 1:4%肌酐清除群%的概率计算pr = sum((log10cfu {idosegrp}(:, idcrclgrp(:, icrclgp)')<0),2)/ sum(idcrclgrp(:,iCrclgrp));% 阴谋图(hax2(iCrCLGrp), tob, Pr, ls{iDoseGrp},'MarkerSize'7)结尾结尾传奇(hax2 (4) {“250,一天两次”“250 t.i.d。”'500 b.i.d.'“500 t.i.d。”})传说位置西北传奇boxoffLinkaxes(HAX2)
f = Figure (1) with properties: Number: 1 Name: " Color: [1 1 1] Position: [680 678 560 420] Units: 'pixels'使用GET显示所有属性