主要内容

PK / PD建模与仿真来指导剂量抗生素的策略

这个例子展示了如何执行的蒙特卡罗模拟药代动力学/药效学(PK / PD)模型的抗菌剂。这个例子是改编自Katsube等。[1]这个示例还展示了如何使用SimBiology®SimFunction对象执行参数并行扫描。

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

背景

Katsube et al。(PK / PD)[1]使用建模与仿真的方法来确定最有效的剂量方案doripenem,碳青霉烯抗生素。他们的研究的目标是:

  • 开发一个PK / PD模型来描述doripenem反对几个铜绿假单胞菌菌株的抗菌效果

  • 使用蒙特卡罗模拟来比较四种常见抗生素剂量的疗效机制,并确定最有效的给药策略

  • 调查的影响肾功能的抗菌功效的治疗方法

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

引用

[1]t . Katsube y矢野,t . Wajima y Yamano和m . Takano。药代动力学/药效学建模与仿真为doripenem有效剂量方案确定。制药科学杂志》(2010)99 (5),2483 - 91。

PK / PD模型

Katsube等人认为两舱制注入模型与线性消除从中央室来描述doripenem的药物代谢动力学。细菌生长模型,他们认为由药物敏感细菌总数增长细胞,drug-insensitive休息。药物的抗菌作用是包含在通过一个简单的Emax杀死的细菌类型模型:

$ $杀死率= \压裂{Kmax *(药物)*(增长)}{KC50 +(药物)}$ $

在哪里(药物)是药物的浓度(ug /毫升)在中央室,然后呢(增长)细菌日益增长的人口的数量在CFU /毫升(CFU =集落形成单位)。Kmax是最大速率常数(1 /小时)死亡,KC50是Michaelis-Menten速率常数(ug /毫升)。

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

%负荷模型sbioloadproject (“AntibacterialPKPD.sbproj”,“m1”);

剂量方案

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

  • 250毫克每天两次(b.i.d)。

  • 250毫克每天三次(t.i.d)。

  • 500毫克每天两次(b.i.d)。

  • 500毫克每天三次(t.i.d)。

注入剂量被用在所有四个剂量方案,和注入时间设置为30分钟。在SimBiology,这些剂量方案已经被实现为剂量对象。

%选择剂量模型中的对象doseNames = {“250毫克报价”,“250毫克tid”,“500毫克报价”,“500毫克tid”};iDoseGrp = 1:长度(doseNames) doseRegimens (iDoseGrp) = sbioselect (m1,“名字”,doseNames {iDoseGrp});结束

描述的虚拟人口

生成一个虚拟人口的个人基于人口统计学变量和PK / PD参数的分布。的分布类型和分布参数的值是基于数据从doripenem的早期临床试验在日本进行的。

注:5000年[1],虚拟病人模拟在每个剂量组。在这个例子中,我们将使用每组1000例。来模拟不同的人口规模,改变的价值nPatients在下面。

%设置nPatients = 1000;%的患者数量每个剂量组nDoseGrps = 4;%的剂量方案进行测试

人口统计变量的分布:

体重(Wt)和年龄(年龄)样本来自正态分布的均值51.6公斤,71.8年,分别和标准偏差为11.8公斤和11.9年,分别。26%的人口被认为是女性。血清肌酐水平(可控硅)从典型值的对数正态分布采样(几何平均数)0.78 mg / dL,和变异系数(CV)的32.8%。肌酐清除率率(CrCL使用Cockcroft-Gault)计算方程。

输入到lognrnd函数是指(μ)和标准差(σ)相关的正态分布。这里,在这个例子中,μσ计算从报道典型值和对数正态分布的变异系数。您可以使用以下定义计算。看到lognstat文档的更多信息。

μ= @ (m v)日志(m ^ 2 /√(v + m ^ 2));σ= @ (m v)√日志(v / m ^ 2 + 1);m = @ (typicalValue) typicalValue;v = @ (typicalValue CV) typicalValue ^ 2 *简历^ 2;病人的人口百分比rng (“默认”);Wt = normrnd (51.6, 11.8, nPatients nDoseGrps);%单位:千克年龄= normrnd (71.8, 11.9, nPatients nDoseGrps);%单位:年Scr_mu =μ(m (0.78), v (0.78, 0.328);Scr_sigma =σ(m (0.78), v (0.78, 0.328);可控硅= lognrnd (Scr_mu Scr_sigma、nPatients nDoseGrps);%单位:毫升/分钟性别比例%id = 1: nPatients * nDoseGrps;idFemale = randsample (id、圆(0.26 * nDoseGrps * nPatients));% 26%为女性

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

CrCL =年龄(140 -)。* Wt. /(可控硅* 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 =μ(m (7.64), v (7.64, 0.20);Central_sigma =σ(m (7.64), v (7.64, 0.20);k12_mu =μ(m (1.59), v (1.59, 0.20);k12_sigma =σ(m (1.59), v (1.59, 0.20);k21_mu =μ(m (2.26), v (2.26, 0.2);k21_sigma =σ(m (2.26), v (2.26, 0.2);中央= lognrnd (Central_mu Central_sigma、nPatients nDoseGrps);%单位:升k12 = lognrnd (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毫升/分钟和标准偏差的22个毫升/分钟。

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

药效学(PD)的分布参数:

Growing-to-resting转换速率常数,k1k2从对数正态分布,采样的典型值5.59 e-5和0.0297 1 /小时,分别20%的简历。Kmax从一个对数正态分布采样典型值为3.5 1 /小时,15.9%的简历。

k1_mu =μ(m (5.59 e-5), v (5.59 e-5, 0.2));k1_sigma =σ(m (5.59 e-5), v (5.59 e-5, 0.2));k2_mu =μ(m (0.0297), v (0.0297, 0.2);k2_sigma =σ(m (0.0297), v (0.0297, 0.2);Kmax_mu =μ(m (3.50), v (3.50, 0.159);Kmax_sigma =σ(m (3.50), v (3.50, 0.159);k1 = lognrnd (k1_mu k1_sigma、nPatients nDoseGrps);%单位:1 /小时k2 = lognrnd (k2_mu k2_sigma、nPatients nDoseGrps);%单位:1 /小时Kmax = lognrnd (Kmax_mu Kmax_sigma、nPatients nDoseGrps);%单位:1 /小时

Katsube等人认为,价值观k1,k2Kmax独立于菌株被治疗。的价值β净增长速率常数是固定在1.5 - 1 /小时。

基于实验和几株,作者得出结论的价值KC50是线性相关的最低抑制浓度(MIC)的菌株通过以下方程。

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

在哪里\ varepsilon美元是一个正态分布的添加剂残留误差采样0均值和标准偏差为1.06 ug /毫升。在仿真中,麦克风值采样的离散分布,KC50选择的值的计算麦克风使用上面的方程。

% MIC值的离散分布基于铜绿假单胞菌71株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从离散分布值麦克风=南(nPatients nDoseGrps);% preallocateiDoseGrp = 1: nDoseGrps麦克风(:,iDoseGrp) = randsample (micValue nPatients,真的,micFreq);结束KC50 = exp(-1.91 + 0.898 *日志(MIC) + 1.06 * randn (nPatients nDoseGrps));%单位:微克/毫升

仿真的设置与设计

创建一个SimFunction对象,允许您执行并行模型模拟和参数扫描。在本例中,您将8参数各不相同,中央,k12的,k21里面,CL,k1,k2,Kmax,KC50。选择生长和细菌计数,休息日益增长的休息作为响应,仿真结果要观察在不同的输入参数。

选择不同的参数。

params = {“中央”,“k12的”,k21里面的,“氯”,“k1”,“k2”,“Kmax”,“KC50”};

选择反应。

可见= {“[细菌生长模型].Growing”,“[细菌生长模型].Resting”};

设置一个模板剂。

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

创建一个SimFunction对象。集UseParallel启用并行计算为true。

simfunc = createSimFunction (m1, params,可见,tempdose,“UseParallel”,真正的);

创建一个输入矩阵φ每个剂量组。

φ=细胞(1、nDoseGrps);i = 1: nDoseGrpsφ{我}=[中央(:,i)、k12(:,我),k21(:,我)CL(:,我),k1 (:, i), k2(:,我)Kmax(:,我),KC50 (:, i)];结束

集群计算

这个示例使用预配置的本地集群配置文件到您的本地机器上。你也可以寻找其他的MATLAB®并行服务器运行在Amazon EC2®™集群。在选项卡中环境部分中,选择平行>发现集群。要访问这些集群,您必须提供MathWorks®账户登录信息。有关详细信息,请参见发现集群和集群配置文件使用(并行计算工具箱)

如果不存在创建一个平行的池。

如果parpool isempty (gcp);结束
开始平行池(parpool)使用“本地”概要文件…连接到平行池(工人数量:6)。

所有剂量的情况下,模型模拟t = 2周的时间,直到第一剂量。细菌总数,CFU采样每24小时(每天一次)给药方案的整个持续时间。

则= 0:24:336;%小时nTPoints =长度(则);%数量的采样点

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

药物的抗菌功效(PK / PD)可以使用不同的测量指标。Katsube等人设置的标准消灭细菌log10 (CFU) < 0,CFU细菌总数。每个剂量方案的有效性是衡量的人口比例达到成功标准剂量组。这个功效指标,公关{log10 (CFU) < 0},跟踪每个剂量组作为时间的函数。

在他们的模拟研究中,作者调查了功效两类患者的剂量方案:

  • 中度感染(最初的细菌数= 1 e4 CFU /毫升)

  • 严重感染(最初的细菌数= 1 e7 CFU /毫升)

在本例中,我们将复制的结果对于严重感染的情况。注意,您可以很容易地模拟另一个场景,患者中度感染,通过改变初始数量的细菌计数(日益增长的物种),在模型1 e4 CFU /毫升。

% Preallocatecfu =南(nTPoints nPatients);log10CFU =细胞(1、nDoseGrps);i = 1: nDoseGrps disp ([“模拟组”num2str(我),“……”])%的剂量表直接从现有的剂量为每一个对象%给药方案。doseTable =可以获得的(doseRegimens (i));%模拟simdata = simfunc(φ{我},[],doseTable则);%的增长,为每个病人休息细菌计数j = 1: nPatients cfu (:, j) =总和(simdata (j) . data, 2);结束%保存对数转换每个剂量组。log10CFU{我}= log10 (cfu);结束%保存结果log10CFU_250bid = log10CFU {1};log10CFU_250tid = log10CFU {2};log10CFU_500bid = log10CFU {3};log10CFU_500tid = log10CFU {4};
模拟组1…模拟组2…模拟组3…模拟组4…

关闭平行池。

删除(gcp (“nocreate”));

时间进程配置文件的细菌计数

我们情节中值(红色)和百分位(阴影)的概要文件log10 (CFU)所有四个剂量治疗的水平。观察到在所有四组,中位数时间进程配置文件表明,细菌在年底前彻底消灭这一治疗期(336小时)。然而,很明显更高百分比的资料,所有患者的治疗不成功。第95和第90百分位资料也表明,频率较高的剂量较低的数量(250 tid)比少更有效剂量较高的数量(500年)。

hax1(1) =次要情节(2 2 1)plotCFUCount (log10CFU_250bid,则“一个出价250剂量。”)hax1(2) =次要情节(2,2,2)plotCFUCount (log10CFU_250tid,则“250 b。剂量tid”)hax1(3) =次要情节(2,2,3)plotCFUCount (log10CFU_500bid,则“出价500剂量c。”)hax1(4) =次要情节(2,2,4)plotCFUCount (log10CFU_500tid,则“d剂量500 tid”。)%链接次要情节轴linkaxes (hax1)
hax1 =轴与属性:XLim: [0 1] YLim: [0 1] XScale:“线性”YScale:“线性”GridLineStyle:“-”位置:[0.1300 0.5838 0.3347 0.3412)单位:“正常化”的使用可以显示所有属性hax1 = 1×2轴阵列:轴轴hax1 = 1×3轴阵列:轴轴轴hax1 = 1×4轴阵列:轴轴轴轴

肾功能对抗菌活性的影响

最后,作者比较了功效的剂量方案作为肾脏功能的函数。他们将病人分成四个肾功能组根据肌酐清除率率(CrCL):

  • 肌酐清除率组1:CrCL< 30

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

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

  • 肌酐清除率组4:CrCL> = 70

下一个图显示的影响肾功能(肌酐清除率)抗菌功效的四个剂量方案。观察到在肾功能正常组(CrCL> = 70),概要文件的四个治疗策略效果明显不同。在这种情况下,500毫克t.i.d.剂量比另一个更有效的方案。相反,模拟涉及患者肾脏功能障碍(CrCL< 30、30 < =CrCL< 50),我们没有看到多少治疗组之间的差异。这表明患者肾脏功能障碍,那么激烈或少剂量策略几乎工作以及剂量策略与更高的频率或剂量。

% PreallocateidCrCLGrp = false (nPatients nDoseGrps);%线条样式ls = {的双相障碍:," b *:,“理查德·道金斯:”,的r *:};titleStr = {“CL_c_r < 30”,“30 < = CL_c_r < 50”,“< = CL_c_r < 70”,“CL_c_r > 70”};f =图;f。颜色=' w 'iCrCLGrp = 1:4%肌酐清除率组hax2 (iCrCLGrp) =次要情节(2,2,iCrCLGrp);标题(titleStr {iCrCLGrp});ylabel (“概率(log10CFU < 0)”);包含(的时间(小时));结束%设置轴属性集(hax2,“XTick”0:48:336,“XTickLabel”0:48:336,“Ylim”[0,1],“Xlim”336年[0],“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%肌酐清除率组%计算概率公关=总和(log10CFU {iDoseGrp} (:, idCrCLGrp (:, iCrCLGrp)”) < 0), 2) /笔(idCrCLGrp (:, iCrCLGrp));%的阴谋情节(hax2 (iCrCLGrp),则,公关,ls {iDoseGrp},“MarkerSize”7)结束结束传奇(hax2 (4) {“250 b.i.d。”,“250 t.i.d。”,“500 b.i.d。”,“500 t.i.d。”})传说位置西北传说boxofflinkaxes (hax2)
f =图(1)的属性:数量:1名称:“颜色:(1 1 1)位置:(680 678 560 420)单位:像素使用能显示所有属性