Nothing
## HCV example from software comparison in:
## Nyberg et al., "Methods and software tools for design evaluation
## for population pharmacokinetics-pharmacodynamics studies",
## Br. J. Clin. Pharm., 2014.
library(babelmixr2)
library(PopED)
f <- function() {
ini({
tp <- fix(100)
td <- fix(0.001)
te <- fix(1e-7)
ts <- fix(20000)
tKA <- log(0.8)
tKE <- log(0.15)
tVD <- log(100) #VD=log(100000),
tEC50 <- log(0.12) #EC50=log(0.00012),
tn <- log(2)
tdelta <- log(0.2)
tc <- log(7)
eta.KA ~ 0.25
eta.KE ~ 0.25
eta.VD ~ 0.25
eta.EC50 ~0.25
eta.n ~ 0.25
eta.delta ~ 0.25
eta.c ~ 0.25
add.sd.pk <- sqrt(0.04) # nlmixr2 uses sd
add.sd.pd <- sqrt(0.04)
})
model({
p <- tp
d <- td
e <- te
s <- ts
KA <- exp(tKA + eta.KA)
KE <- exp(tKE + eta.KE)
VD <- exp(tVD + eta.VD)
EC50 <- exp(tEC50 + eta.EC50)
n <- exp(tn + eta.n)
delta <- exp(tdelta + eta.delta)
c <- exp(tc + eta.c)
# # Apply the conditional logic -
# # This does not work right now - could be addressed in the future
# if ( (time - (floor(time / TAU) * TAU)) < TINF) {
# In <- DOSE / TINF # Infusion rate
# } else {
# In <- 0 # No infusion
# }
d/dt(depot) = -KA*depot # + In
d/dt(central) = KA*depot - KE*central
d/dt(TC) = s - TC*(e*VP+d) # target cells (TC)
d/dt(IC) = e*TC*VP-delta*IC # productively infected cells (IC)
d/dt(VP) = p*(1-(pow(central/VD,n)/(pow(central/VD,n)+pow(EC50,n))))*IC-c*VP # viral particles (VP)
# Initial conditions
dur(depot) = 1
# depot(0) <- DOSE
TC(0) =c*delta/(p*e)
IC(0) =(s*e*p-d*c*delta)/(p*delta*e)
VP(0) = (s*e*p-d*c*delta)/(c*delta*e)
# Concentration and effect are calculated
conc = central/VD
eff = log10(VP)
## And both are assumed to follow additive error
conc ~ add(add.sd.pk)
eff ~ add(add.sd.pd)
})
}
rxClean()
f <- f()
TAU = 7
TINF = 1
e1 <- et(c( 0,0.25,0.5,1,2,3,4,7,10,14,21,28)) %>%
add.dosing(dose=180, nbr.doses=4, dosing.interval=TAU, rate = 180/TINF) %>%
as.data.frame() %>%
dplyr::mutate(dvid=1)
e2 <- et(c( 0,0.25,0.5,1,2,3,4,7,10,14,21,28)) %>%
add.dosing(dose=0, nbr.doses=4, dosing.interval=TAU, rate = 180/TINF) %>%
as.data.frame() %>%
dplyr::mutate(dvid=2) %>%
dplyr::filter(is.na(ii))
e <- rbind(e1, e2)
babel.db <- nlmixr2(f, e, "poped",
popedControl(
groupsize=30
# ,a=list(c(DOSE=180,TINF=1,TAU=7))
))
## create plot of model without variability
plot_model_prediction(babel.db, facet_scales = "free", model_num_points = 1000)
evaluate_design(babel.db)
shrinkage(babel.db)
#' #####################################
#' The reduced FIM
#' ####################################
# computation time
tic(); FIM_babel <- evaluate.fim(babel.db); toc()
#' design evaluation
crit <- det(FIM_babel)^(1/length(get_unfixed_params(babel.db)[["all"]]))
crit
rse <- get_rse(FIM_babel,babel.db) # this is for the log of the fixed effect parameters
rse_norm <- sqrt(diag(inv(FIM_babel)))*100 # this is approximately the RSE for the normal scale of the fixed effects
rse[1:7] <- rse_norm[1:7] # replace the log scale for the normal scale RSE values
rse
#' Evaluation comparison to
#' Nyberg et al., "Methods and software tools for design evaluation
#' for population pharmacokinetics-pharmacodynamics studies",
#' Br. J. Clin. Pharm., 2014.
crit_reference_reduced <- 248.8
rse_reference_reduced <- c(12.1,10.5,10.0,15.8,10.4,9.4,11.0,40.0,30.8,28.8,60.4,28.8,27.2,32.8,8.5,9.0)
# the relative differences in percent
(rse - rse_reference_reduced)/rse_reference_reduced * 100
(crit - crit_reference_reduced)/crit_reference_reduced * 100
#' #####################################
#' The full FIM.
#' #####################################
FIM_babel_full <- evaluate.fim(babel.db,fim.calc.type = 0)
#' design evaluation
crit_full <- det(FIM_babel_full)^(1/length(get_unfixed_params(babel.db)[["all"]]))
crit_full
rse_full <- get_rse(FIM_babel_full,babel.db) # this is for the log of the fixed effect parameters
rse_norm_full <- sqrt(diag(inv(FIM_babel_full)))*100 # this is approximately the RSE for the normal scale of the fixed effects
rse_full[1:7] <- rse_norm_full[1:7] # replace the log scale for the normal scale RSE values
rse_full
#' Evaluation compared to
#' Nyberg et al., "Methods and software tools for design evaluation
#' for population pharmacokinetics-pharmacodynamics studies",
#' Br. J. Clin. Pharm., 2014.
crit_reference_full <- 318.2
rse_reference_full <- c(8.6,6.9,8.4,13.5,7.5,8.5,8.7,43.2,37.2,33.2,66.4,32.8,31.6,33.6,8.5,9.3)
# the relative differences in percent
(rse_full - rse_reference_full)/rse_reference_full * 100
(crit_full - crit_reference_full)/crit_reference_full * 100
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.