个人学习笔记

  • 首页
  • NONMEM
  • PBPK
  • R语言
  • 其他
  • 常用链接
  • 博客简介
  • 隐私政策
学海无涯勤可渡,书山万仞志能攀
  1. 首页
  2. NONMEM
  3. 正文

第7章 NONMEM软件自定义模型

2023年3月10日 3732点热度 0人点赞 0条评论

NONMEM软件可通过自定义方式,高度灵活地建立各种复杂的药动学药效学模型。 NONMEM软件中既有内设的药动学模型(ADVAN1、ADVAN2、ADVAN3、ADVAN4、 ADVAN10、ADVA、ADVAN11和ADVAN12),也可采用非限定的PRED及PREDPP模块,自由定义房室数目、参数和相关函数关系式等,描述复杂的药动学和药效学行为。例如, 零级和一级的混合吸收、渐进吸收、非线性消除、自身诱导等。这些特殊药动学行 为难以用NONMEM内置的ADVAN模块直接进行表征。

下图表征了某一级消除的一房室模型药物的 药动学模型结构。该药具有一级和零级动力学的混合吸收特征。参数FZ指经一级速率吸收药物的分 数,1-FZ指经零级速率吸收药物的分数,Ke指一级消除速率常数。

下图描述了含代谢产物的药动学模型,该药的药动学模型含6个房室,母药为两房室模型,代谢物为三房室模型。母药和代谢物在各房室间的转运为线性动力学过程。NONMEM的自定义模块可用于描述原药和代谢物的转运过程,进而拟合估算药动学参数。

自定义模型时,须定义模型的房室结构、参数、各房室间物质转运的数学关系式 等。除了编写控制文件外,还常须对数据集作相应的调整。

常用模块

一 、$PRED

因变量(y)和自变量(x)具有直接数学函数关系,因而可使用PRED模块对其函数关系式直接描述,进而估算模型参数。在药动学建模中,PRED模块可用于线性回归或非 线性回归模型的构建。PRED模块也可用于建立药效学模型,如最大效应模型描述药效 指标随治疗时间的变化过程;又如线性模型描述药效学与药动学的关系等。

二、PREDPP子程序

PREDPP子程序中ADVAN5、ADVAN6、ADVAN7、ADVAN8、ADVAN9和ADVAN13可 实现用户自定义模型。其中ADVAN5和ADVAN7以线性模型描述药物在不同房室间的 转运,ADVAN6、ADVAN8、ADVAN9、ADVAN13以自定义微分方程形式描述药物在不同房 室间的转运。下面将分别介绍。

$MODEL

$MODEL定义模型房室数量和属性,以COMP语句命名各房室并定义其属性。

$MODEL
  COMP(DEPOT, DEFDOS)   ;定义吸收室,DEFDOS:default doseing compartment
  COMP(CENTRAL, DEFOBS) ;定义中央室,DEFOBS:default observation compartment
  COMP(PeripheralSHALLOW) ;定义周边室,浅
  COMP(PeripheralDEEP)    ;定义周边室,深

房室的命名可以用NONMEM术语之外的任意字母数字。一般推荐采用具有实际意义的命名,便于更好地理解模型的结构。如上述代码中,DEPOT,CENTRAL,PeripheralSHALLOW,PeripheralDEEP
上述代码中, DEFDOS(defaultdosingcompartment)和DEFOBS(defaultobservation compartment)是NONMEM术语,分别指默认的给药室和观测室(血药浓度或药效指标等),不可更改。此外,须在数据集中同时定义CMT项,并与DEFDOS,和DEFOBS项中房 室的定义保持一致。

$SUBROUTINES

定义房室的数学关系,指定数学关系子程序。模型的数学解析算法由ADVAN子程序指定。房室间物质转运的关系通常由PK DES 和 ERROR模块中的参数和方程来定义。

  1. 通用线性模型
    ADVAN5和ADVAN7:通用线性模型可用于描述由一级速率转运的房室模型,其优势在于计算速度快。当速率常数矩阵的特征值为实数时(如大多数药动学结构),可采用ADVAN7进行计算。一般情况下,ADVAN7的运算速度比ADVAN5快。
    应用ADVAN5和ADVAN7时,须在 MODEL模块中定义房室数量,并在$PK模块中 定义房室间的药物转运。房室之间的转运可用一级速率常数k表示。k后面的数字代表房室间的转运,如k12定义从房室1到房室2的一级动力学转运,前1个数字是来源室, 后1个数字是目标室。当模型多于9个房室时,房室号增加至两位数。此时,数字间应用大写字母T分隔。如从房室1到房室10的转运应编码为k1T10。药物从体内消除的房室用 0编码,0为输出室,如K20表示药物从房室2以一级速率清除至体外。
    若采用具生理意义的药动学参数,如清除率和分布容积时,可通过CL/V等公式定义k。如图所示的具有一级吸收的三室模型的药物,可用以下代码描述其药动学行为。

示例代码:

$PROBLEM 3 CMT
$INPUT ID TIME AMT DV CMT EVID MDV 
$DATA 7-1.csv IGNORE=#
$SUBROUTINES ADVAN5
$MODEL
  COMP(DEPOT, DEFDOS)
  COMP(CENTRAL, DEFOBS)
  COMP(PeripheralSHALLOW)
  COMP(PeripheralDEEP)
$PK
 ;定义清除率和分布容积相关参数
  KA  = THETA(1)
  V2  = THETA(2) * EXP(ETA(1))
  CL  = THETA(3) * EXP(ETA(2))
  Q1  = THETA(4)
  Q2  = THETA(5) 
  V3  = THETA(6)
  V4  = THETA(7) 
; 定义ADVAN 5 & 7 的速率常数
  K12 = KA
  K20 = CL/V2
  K23 = Q1/V2
  K32 = Q1/V3
  K34 = Q2/V3
  K43 = Q2/V4 
$ERROR
 IPRED = F
 Y     = F * (1+ERR(1))
 IRES  = DV - IPRED
 DEL   = 0
 IF (DV .EQ. 0) DEL=1
 IWRES = (1-DEL) * IRES / (DV + DEL)
$THETA 
  (0,0.3)         ;KA
  (0,1.63)        ;V2
  (0,0.978)       ;CL
  15 FIXED      ;Q1
  10 FIXED      ;Q2
  40 FIXED      ;V3 
  60 FIXED      ;V4   
$OMEGA
  0.25    ;BSV_V2  
  0.25    ;BSV_CL
$SIGMA
  0.16    ;ERR1
$ESTIMATION METH=1 INTE MAXEVAL=9999 PRINT=20 NOABORT
$COVARIANCE PRINT=E
$TABLE ID TIME AMT DV CMT EVID MDV DV IPRED PRED NOHEADER NOPRINT NOAPP FILE=7-1.fit
  1. 通用非线性模型
    模块:ADVAN6、ADVAN8、ADVAN9、ADVAN13、ADVAN8。通过微分方程描述模型特征,还需要定义计算的精确度TOL
    ADVAN6、ADVAN8、ADVAN9和ADVAN13间的主要区别在于微分方程的求解算法 不同。ADVAN6和ADVAN8针对刚性与非刚性微分方程进行了优化,ADVAN9和 ADVAN13使用了其他算法求解微分方程。上述模块中,ADVAN6的运算速度常最快,适用 于大多数情况;ADVAN9则更为稳健,有时优于ADVAN6。对于结构复杂的模型,NONMEM 创始人StuartBeal提供了一种选择最佳ADVAN模块的方法。首先,为每个待比较的ADVAN模块编写控制文件,在ESTIMATION模块中加入ESTIMATION MAXEVAL=1, 使每个ADVAN仅作一次迭代估算,然后分别运行,比较每种ADVAN的计算输出速度。 最快给出第一次迭代结果的ADVAN模块是首选方法。

  2. $DES
    $DES模块包含一系列微分方程组,每个房室均有一个方程,表征房室中瞬时质量、 浓度或效应量的变化率。此外,房室中物质的转运变化须符合物料平衡原理。
    微分方程组用DADT(i)表示,其中i是定义的房室数。以经典的一级口服吸收和一 级消除的两房室模型为例,胃肠道室(房室1)、中央室(房室2)、周边室(房室3)药物量的 变化,可用如下微分方程表征:

    $\frac{d A(1)}{d t}=-k_{\mathrm{a}} \times A(1)$

    $\frac{d A(2)}{d t}=k_4 \times A(1)-\left(k_{23}+k_{20}\right) \times A(2)+k_{32} \times A(3)$

    $\frac{d A(3)}{d t}=k_{23} \times A(2)-k_{32} \times A(3)$

在NONMEM中的代码为:

$$
\begin{aligned}
& \operatorname{DADT}(1)=-K A * A(1) \
& \text { DADT (2) }=\mathrm{KA} * A(1)-(\mathrm{K} 23+\mathrm{K} 20) * A(2)+\mathrm{K} 32 * A(3) \
& \operatorname{DADT}(3)=\quad \mathrm{K} 23 \quad * \mathrm{~A}(2)-\mathrm{K} 32 * \mathrm{~A}(3) \
&
\end{aligned}
$$

A(n)是t时刻房室n中的药物的量,KA是吸收速率常数,K20是一级消除速率 常数,K23和K32是房室间转运的一级速率常数。KA、K23、K32和K20是固定效应参数,须在PK或DES模块中定义,并在THETA(模块中赋予初始值。此外,须注意本例中参数定义与传统参数定义不同。如中央室到周边室的速率常数为k23,而通常定义为k12。

典型示例

一、多元线性回归

二、零级和一级的混合吸收

  1. 已定义吸收分数
$PROBLEM example3
$DATA 7-3.csv IGNORE=#
$INPUT ID TIME DV AMT EVID RATE MDV CMT
$SUBROUTINES ADVAN6 TOL=3 
$MODEL ;定义模型的房室结构
COMP (DEPOT1,DEFDOS)
COMP (CENTRAL,DEFOBS)

$PK
  KA     = THETA(1)*EXP(ETA(1))    ;一级吸收速率常数
  ALAG2  = 2                       ;零级吸收时滞
  D2     = THETA(2)                ;零级吸收输注时间
  CL     = THETA(3)*EXP(ETA(2))    ;中央室清除率
  V      = THETA(4)                ;中央室分布容积
  K      = CL/V                    ;消除速率常数
  S2     = V

$DES
  DADT(1) = -A(1)*KA          ;房室1的药量
  DADT(2) =  A(1)*KA-A(2)*K   ;房室2的药量

$ERROR
  IPRED = F
  Y     = F*(1+ERR(1)) 
$THETA 
  (0,1)   ;KA
  (0,2)   ;D2
  (0,10)  ;CL
  (0,20)  ;V

$OMEGA
  0.09    ;BSV_KA
  0.09    ;BSV_CL
$SIGMA
  0.16    ;ERR1


$ESTIMATION METH=1 MAXEVAL=9999 PRINT=20 NOABORT
$COVARIANCE PRINT=E
$TABLE ID TIME DV AMT EVID RATE MDV CMT IPRED PRED NOHEADER NOPRINT NOAPP FILE=7-3.fit
  1. 未定义吸收分数
$PROBLEM Parallel first-order and zero-Order Abs.
$DATA 7-4.csv IGNORE=#
$INPUT ID TIME DV AMT EVID RATE MDV CMT
$SUBROUTINES ADVAN2; TRANS2 

$PK
 ;定义清除率和分布容积相关参数
  F1    = THETA(1)                ;经一级吸收途径药物的分数
  F2    = 1-F1                    ;经零级吸收药物的分数
  ALAG2 = THETA(2)                ;零级吸收时滞
  D2    = THETA(3)                ;零级吸收输注时间
  KA    = THETA(4)                ;一级吸收速率常数
  TVV   = THETA(5)
  V     = TVV * EXP(ETA(1))       ;中央室分布容积
  TVK   = THETA(6)
  K     = TVK * EXP(ETA(2))       ;消除速率常数  
  S2    = V/1000                  ;DOSE=mg;DV=ng/ml

$ERROR
  IPRED = F
  Y     = F*(1+EPS(1))
$THETA 
  (0,0.2)   ;F1
  2 FIXED   ;ALAG2
  (0,2)     ;D2
  (0,1)     ;KA
  (0,20)    ;V
  (0,0.5)   ;K  
$OMEGA
  0.09     ;BSV_V
  0.09     ;BSV_CL
$SIGMA
  0.16     ;ERR1

$ESTIMATION METH=1 MAXEVAL=9999 PRINT=20 NOABORT
$COVARIANCE PRINT=E
$TABLE ID TIME DV AMT EVID RATE MDV CMT IPRED PRED NOHEADER NOPRINT NOAPP FILE=7-4.fit
$PROBLEM Parallel first-order and zero-Order Abs.
$DATA 7-5.csv IGNORE=#
$INPUT ID TIME DV AMT EVID RATE MDV CMT
$SUBROUTINES ADVAN6 TOL=4
$MODEL                            ;定义模型的房室结构
 COMP (DEPOT1,DEFDOS)
 COMP (CENTRAL,DEFOBS)
$PK
 ;定义清除率和分布容积相关参数
  F1    = THETA(1)                ;经一级吸收途径药物的分数
  F2    = 1-F1                    ;经零级吸收药物的分数
  ALAG2 = THETA(2)                ;零级吸收时滞
  D2    = THETA(3)                ;零级吸收输注时间
  KA    = THETA(4)                ;一级吸收速率常数
  TVV   = THETA(5)
  V2    = TVV * EXP(ETA(1))       ;中央室分布容积
  TVK   = THETA(6)
  K     = TVK * EXP(ETA(2))       ;消除速率常数  
  S2    = V2/1000                 ;DOSE=mg;DV=ng/ml

$DES
  DADT(1) = -A(1)*KA          ;房室1的药量
  DADT(2) =  A(1)*KA-A(2)*K   ;房室2的药量

$ERROR
  IPRED = F
  Y     = F*(1+ERR(1))
$THETA 
  (0,0.2)   ;F1
  2 FIXED   ;ALAG2
  (0,2)     ;D2
  (0,1)     ;KA
  (0,20)    ;V
  (0,0.5)   ;K  
$OMEGA
  0.09     ;BSV_V
  0.09     ;BSV_CL
$SIGMA
  0.16     ;ERR1


$ESTIMATION METH=1 MAXEVAL=9999 PRINT=20 NOABORT
$COVARIANCE PRINT=E
$TABLE ID TIME DV AMT EVID RATE MDV CMT IPRED PRED NOHEADER NOPRINT NOAPP FILE=7-5.fit

三、母药和代谢物

$PROBLEM Model of Parent and Metabolite
$DATA 7-6.csv IGNORE=#
$INPUT ID TIME DV AMT EVID MDV CMT
$SUBROUTINES ADVAN6 TOL=4 
$MODEL
 COMP(DEPOT, DEFDOS)
 COMP(PARE,DEFOBS)
 COMP(METB)
$PK
 ;定义清除率和分布容积相关参数

 V2      = THETA(1) *EXP(ETA(1))
 KA      = THETA(2)
 VMAX    = THETA(3)
 KM      = THETA(4)
 K30     = THETA(5) *EXP(ETA(2))
 V3      = THETA(6)
 S2      = V2/1000
 S3      = V3/1000 

$DES
 DADT(1) = -A(1)* KA   
 DADT(2) =  A(1)* KA- (VMAX*A(2))/(KM+A(2))
 DADT(3) =  -A(3)* K30 + ((VMAX*A(2))/(KM+A(2)))

$ERROR
 IPRED  =  F
 IF(CMT.EQ.2)  TYPE=0    ;母药
 IF(CMT.EQ.3)  TYPE=1    ;代谢物
 Y      = (F*EXP(EPS(1)))*(1-TYPE)+ (F*EXP(EPS(2)))*TYPE  ;比例残差模型

$THETA 
  (0,10)    ;V2
  (0,2)    ;KA
  (0,10)   ;VMAX
  (0,5)    ;KM
  (0,1)    ;K30
  (0,10)   ;V3
$OMEGA
  0.09     ;BSV_K20
  0.09     ;BSV_V2
$SIGMA
  0.16  ;EPS1
  0.16  ;EPS2

$ESTIMATION METH=1 INTE MAXEVAL=9999 PRINT=20 NOABORT
$COVARIANCE PRINT=E
$TABLE ID TIME DV AMT EVID MDV CMT IPRED PRED NOHEADER NOPRINT NOAPP FILE=7-6.fit
标签: NONMEN POPPK
最后更新:2023年4月4日

MSxiaoming

得失从缘,心无增减

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
站内搜索

MSxiaoming

得失从缘,心无增减

标签聚合
PBPK模型 POPPK NONMEN NONMEM R语言,数据管理 群体药代动力学 R语言 折腾

COPYRIGHT © 2023 个人学习笔记. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

皖ICP备2023004398号-1