第三章相关 R 包

3.1 常微分方程求解

这里简要的将rxode2和其他的定量药理学ODE(Ordinary Differential Equation,常微分方程)求解器R添加包做了比较。

这里罗列了一些用于求解微分方程的R添加包。其中最受欢迎的是deSolve

然而,对于定量药理学特异性的ODE求解器, 除了rxode2 以外在 CRAN 上发布的只有 2 个R添加包。它们每个都使用编译后的代码来更快地求解 ODE。

mrgsolve,它使用 C++ lsoda 求解器求解ODE系统。用户需要使用由R/C++混合编写的代码创建mrgsolve所使用的模型文件,用户编写的模型会被mrgsolve在执行时转换为C++代码后求解。

相比之下,rxode2具有一个类似R语言风格的迷你语言,可以被解析为 求解ODE系统的C代码。

rxode2不同,mrgsolve目前不支ODE系统的符号操作,如自动雅可比计算或前向灵敏度计算(目前rxode2支持这一点并且这是nlmixr2的FOCEi算法的基础)

dMod,它使用一种独特的语法来创建“反应(reactions)”。这些反应创建底层的ODEs,然后为编译后的deSolve模型创建c代码。

相比之下,rxode2在较低级别定义了ODE系统。rxode2的迷你语言的解析来自C,而dMod的解析来自R。

rxode2一样,dMod支持ODE系统的符号操作,并且支持计算系统的前向灵敏度( forward sensitivities)和伴随灵敏度( adjoint sensitivities)。

rxode2不同,dMod不是线程安全的,因为deSolve还不是线程安全的。

PKPDsim,它用类似R语言的语法风格定义模型,并将系统转换为已编译的代码。【译者注:此添加包未在CRAN上发布,仅发布在了github上】

mrgsolve一样,PKPDsim目前不支持ODE系统的符号操作。

PKPDsim不是线程安全的。

开放的定量药理学开源社区相当友好,rxode2维护者与列出的所有ODE求解器的定量药理学项目都有积极的互动。

3.2已求解的PK系统

rxode2支持带梯度1-3房室模型(使用Stan 数学的自动微分)。目前,它使用与PKADVAN相同的方程来允许时变协变量。

rxode2中,用户可以混合使用ODE和已求解的系统(solved systems)。【译者注:类似于NONMEM中的ADVANs模型,Phoenix NLME中的勾选了“Closed-form”选项后的内置模型,这类模型的好处时已经预先编译处理好了,相对于ODE运行的更快,缺点时已经编译好了不能修改已有的模型。而当前rxode2特意描述了它支持混合使用ODE和已求解的系统,相当于用于可以在已有的预编译的模型上添加新的ODE进行扩展,从而兼具快速与灵活这两个特性】

3.2.1以下在CRAN上的软件包含有已求解的PK系统

  • mrgsolve目前内置了1-2房室(多指数模型)模型。已求解的系统和ode目前不能混合。
  • pmxTools目前内置了1-3房室(超级定位)模型。这是一个纯r实现。
  • PKPDsim使用“ADVAN”1-3解析,使用非叠加。
  • PKPDmodels有一个带梯度的一房室模型。

3.2.2非CRAN库中的程序包:

  • PKADVAN提供了1-3房室模型使用非叠加。这允许时变协变量。