diff --git a/DESCRIPTION b/DESCRIPTION index d221320..daf6de3 100755 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -12,7 +12,8 @@ Description: A model library for 'nlmixr2'. The models include Authors@R: c( person("Richard","Hooijmaijers", email="richardhooijmaijers@gmail.com",role="aut"), person("Matthew","Fidler", email="richardhooijmaijers@gmail.com",role=c("aut"), comment=c(ORCID="0000-0001-8538-6691")), - person("Bill", "Denney", email="wdenney@humanpredictions.com", role=c("aut", "cre"), comment=c(ORCID="0000-0002-5759-428X")) + person("Bill", "Denney", email="wdenney@humanpredictions.com", role=c("aut", "cre"), comment=c(ORCID="0000-0002-5759-428X")), + person("Kiranmayi", "Vedantham", email="kiranmayi.vedantham@gmail.com", role=c("aut"),comment=c(ORCID="0009-0003-0828-6445")) ) Depends: R (>= 4.0) diff --git a/data/modeldb.rda b/data/modeldb.rda index 35b0ff2..4adce96 100644 Binary files a/data/modeldb.rda and b/data/modeldb.rda differ diff --git a/inst/modeldb/therapeuticArea/oncology/tgi_no_sat_expo.R b/inst/modeldb/therapeuticArea/oncology/tgi_no_sat_expo.R index ab6c24b..b1a72f6 100644 --- a/inst/modeldb/therapeuticArea/oncology/tgi_no_sat_expo.R +++ b/inst/modeldb/therapeuticArea/oncology/tgi_no_sat_expo.R @@ -1,11 +1,12 @@ tgi_no_sat_expo <- function() { - description <- "One compartment TGI model with with exponential tumor growth, without saturation." + description <- "One-compartment TGI model with exponential tumor growth, without saturation." ini({ lts0 <- 0.8; label("Initial tumor size (TS0)") lka <- 0.45 ; label("Absorption rate (Ka)") lcl <- 1 ; label("Clearance (CL)") lvc <- 3.45 ; label("Central volume of distribution (V)") - lkge <- 0.7; label("FIrst-order exponential growth rate") + lkge <- 0.7; label("First-order exponential growth rate (kge)") + lkgl <- 0.7; label("Zero-order linear growth rate (kgl)") CcpropSd <- 0.5 ; label("PK proportional residual error (fraction)") tumorSizepropSd <- 0.5 ; label("Tumor size proportional residual error (fraction)") tumorSizeaddSd <- 30 ; label("Tumor size additive residual error (tumor volume)") @@ -14,15 +15,17 @@ tgi_no_sat_expo <- function() { ts0 <- exp(lts0) ka <- exp(lka) cl <- exp(lcl) - vc <- exp(lvc) + vc <- exp(lvc) kge <- exp(lkge) + kgl <- exp(lkgl) kel <- cl / vc tumorSize(0) <- ts0 + tau <- (1 / kge) * log(kgl / (kge * ts0)) - d/dt(depot) <- -ka*depot - d/dt(central) <- ka*depot-kel*central - d/dt(tumorSize) <- kge*tumorSize + d/dt(depot) <- -ka * depot + d/dt(central) <- ka * depot - kel * central + d/dt(tumorSize) <- ifelse(t <= tau, kge * tumorSize, kgl) Cc <- central / vc Cc ~ prop(CcpropSd) diff --git a/inst/modeldb/therapeuticArea/oncology/tgi_sat_Gompertz.R b/inst/modeldb/therapeuticArea/oncology/tgi_sat_Gompertz.R new file mode 100644 index 0000000..89e8a0b --- /dev/null +++ b/inst/modeldb/therapeuticArea/oncology/tgi_sat_Gompertz.R @@ -0,0 +1,37 @@ +tgi_sat_Gompertz<- function() { + description <- "One compartment TGI model with tumor growth proportional to tumor size through a generalized logistic function, with saturation." + ini({ + lts0 <- 0.3; label("Initial tumor size (TS0)") + ltsmax <- 0.9; label("Maximum tumor size at saturation (TSmax)") + lka <- 0.45 ; label("Absorption rate (Ka)") + lcl <- 1 ; label("Clearance (CL)") + lvc <- 3.45 ; label("Central volume of distribution (V)") + lkgl <- 0.7; label("Zero-order linear growth rate") + lalpha <- 0.6; label("parameter one") + lbeta <- 0.8; label("parameter two") + CcpropSd <- 0.5 ; label("PK proportional residual error (fraction)") + tumorSizepropSd <- 0.5 ; label("Tumor size proportional residual error (fraction)") + tumorSizeaddSd <- 30 ; label("Tumor size additive residual error (tumor volume)") + }) + model({ + ts0 <- exp(lts0) + tsmax <- exp(ltsmax) + ka <- exp(lka) + cl <- exp(lcl) + vc <- exp(lvc) + kgl <- exp(lkgl) + alpha <- exp(lalpha) + beta <- exp(lbeta) + + kel <- cl / vc + tumorSize(0) <- ts0 + + d/dt(depot) <- -ka*depot + d/dt(central) <- ka*depot-kel*central + d/dt(tumorSize) <- (alpha-beta*log(tumorSize))*tumorSize + + Cc <- central / vc + Cc ~ prop(CcpropSd) + tumorSize ~ prop(tumorSizepropSd) + add(tumorSizeaddSd) + }) +} diff --git a/inst/modeldb/therapeuticArea/oncology/tgi_sat_genLogistic.R b/inst/modeldb/therapeuticArea/oncology/tgi_sat_genLogistic.R new file mode 100644 index 0000000..ed565a3 --- /dev/null +++ b/inst/modeldb/therapeuticArea/oncology/tgi_sat_genLogistic.R @@ -0,0 +1,36 @@ +tgi_sat_genLogistic <- function() { + description <- "One compartment TGI model with tumor growth proportional to tumor size through a generalized logistic function, with saturation." + ini({ + lts0 <- 0.3; label("Initial tumor size (TS0)") + ltsmax <- 0.9; label("Maximum tumor size at saturation (TSmax)") + lka <- 0.45 ; label("Absorption rate (Ka)") + lcl <- 1 ; label("Clearance (CL)") + lvc <- 3.45 ; label("Central volume of distribution (V)") + lkgl <- 0.7; label("Zero-order linear growth rate") + lgamma <- 0.95; label("proliferative cells as a fraction of the full tumor volume (gamma)") + CcpropSd <- 0.5 ; label("PK proportional residual error (fraction)") + tumorSizepropSd <- 0.5 ; label("Tumor size proportional residual error (fraction)") + tumorSizeaddSd <- 30 ; label("Tumor size additive residual error (tumor volume)") + }) + model({ + ts0 <- exp(lts0) + tsmax <- exp(ltsmax) + ka <- exp(lka) + cl <- exp(lcl) + vc <- exp(lvc) + kgl <- exp(lkgl) + gamma <- exp(lgamma) + + kel <- cl / vc + tumorSize(0) <- ts0 + + d/dt(depot) <- -ka*depot + d/dt(central) <- ka*depot-kel*central + d/dt(tumorSize) <- kge*tumorSize*(1-(tumorSize/tsmax)^gamma) + + Cc <- central / vc + Cc ~ prop(CcpropSd) + tumorSize ~ prop(tumorSizepropSd) + add(tumorSizeaddSd) + + }) +} diff --git a/man/modeldb.Rd b/man/modeldb.Rd index 8523506..946913e 100644 --- a/man/modeldb.Rd +++ b/man/modeldb.Rd @@ -5,7 +5,7 @@ \alias{modeldb} \title{Model library for nlmixr2} \format{ -A data frame with 52 rows and 9 columns +A data frame with 54 rows and 9 columns \describe{ \item{name}{Model name that can be used to extract the model from the model library} \item{description}{Model description in free from text; in model itself}