Title: | Extrapolation and Bridging of Adult Information in Early Phase Dose-Finding Paediatrics Studies |
---|---|
Description: | A unified method for designing and analysing dose-finding trials in paediatrics, while bridging information from adults, is proposed in the 'dfped' package. The dose range can be calculated under three extrapolation methods: linear, allometry and maturation adjustment, using pharmacokinetic (PK) data. To do this, it is assumed that target exposures are the same in both populations. The working model and prior distribution parameters of the dose-toxicity and dose-efficacy relationships can be obtained using early phase adult toxicity and efficacy data at several dose levels through 'dfped' package. Priors are used into the dose finding process through a Bayesian model selection or adaptive priors, to facilitate adjusting the amount of prior information to differences between adults and children. This calibrates the model to adjust for misspecification if the adult and paediatric data are very different. User can use his/her own Bayesian model written in Stan code through the 'dfped' package. A template of this model is proposed in the examples of the corresponding R functions in the package. Finally, in this package you can find a simulation function for one trial or for more than one trial. These methods are proposed by Petit et al, (2016) <doi:10.1177/0962280216671348>. |
Authors: | Artemis Toumazi <[email protected]>, Caroline Petit <[email protected]>, Sarah Zohar <[email protected]> |
Maintainer: | Artemis Toumazi <[email protected]> |
License: | GPL (>= 3) |
Version: | 1.1 |
Built: | 2025-02-02 05:11:30 UTC |
Source: | https://github.com/artemis-toumazi/dfped |
A unified method for designing and analysing dose-finding trials in paediatrics, while bridging information from adults, is proposed in the 'dfped' package. The dose range can be calculated under three extrapolation methods: linear, allometry and maturation adjustment, using pharmacokinetic (PK) data. To do this, it is assumed that target exposures are the same in both populations. The working model and prior distribution parameters of the dose-toxicity and dose-efficacy relationships can be obtained using early phase adult toxicity and efficacy data at several dose levels through 'dfped' package. Priors are used into the dose finding process through a Bayesian model selection or adaptive priors, to facilitate adjusting the amount of prior information to differences between adults and children. This calibrates the model to adjust for misspecification if the adult and paediatric data are very different. User can use his/her own Bayesian model written in Stan code through the 'dfped' package. A template of this model is proposed in the examples of the corresponding R functions in the package. Finally, in this package you can find a simulation function for one trial or for more than one trial. These methods are proposed by Petit et al, (2016) <doi:10.1177/0962280216671348>.
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Maintainer: Artemis Toumazi [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Compute the value of albumin (alb) concentration (g/L) according to age (year) for children - Truncated at 10000 days, i.e. 27 y.o.
albAge(age)
albAge(age)
age |
The age of child. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
age <- 8 albAge(age)
age <- 8 albAge(age)
Compute the value of alpha1-acid glycoprotein (alpha1AG) concentration (g/L) according to age (year) for children.
alpha1AGage(age)
alpha1AGage(age)
age |
The age of children. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
age <- 2 alpha1AGage(age)
age <- 2 alpha1AGage(age)
Compute the clearance of the unbound fraction of a specific molecule for the adult population.
Cladu(Clad, fuAd, Fad)
Cladu(Clad, fuAd, Fad)
Clad |
The apparent clearance for adults. |
fuAd |
Unbound bioavailability for adults for the molecule. |
Fad |
Bioavailability for adults. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Cl_ad <- 3.95 F_ad <- 0.6 fu_ad <- 1 Cladu(Cl_ad, fu_ad, F_ad)
Cl_ad <- 3.95 F_ad <- 0.6 fu_ad <- 1 Cladu(Cl_ad, fu_ad, F_ad)
Compute the paediatric clearance according to the allometry adjustment (AA) for a specific age.
Clch.Allo(age, w, Clad, Wad)
Clch.Allo(age, w, Clad, Wad)
age |
The age of child. |
w |
The weight of child. |
Clad |
Apparent clearance of adult. |
Wad |
Weight of adult (or average weight in the adult population). |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age W <- children$Weight W_ad <- 70 Cl_ad <- 3.95 Clch_allo <- Clch.Allo(AGE, W, Cl_ad, W_ad) ## End(Not run)
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age W <- children$Weight W_ad <- 70 Cl_ad <- 3.95 Clch_allo <- Clch.Allo(AGE, W, Cl_ad, W_ad) ## End(Not run)
Compute the paediatric clearance according to the linear adjustment (LA) for a specific age.
Clch.Linear(age, w, Clad, Wad)
Clch.Linear(age, w, Clad, Wad)
age |
The age of child. |
w |
The weight of child. |
Clad |
The apparent clearance of adult. |
Wad |
Weight of adult (or average weight in the adult population). |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age W <- children$Weight W_ad <- 70 Cl_ad <- 3.95 Clch.Linear(AGE, W, Cl_ad, W_ad) ## End(Not run)
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age W <- children$Weight W_ad <- 70 Cl_ad <- 3.95 Clch.Linear(AGE, W, Cl_ad, W_ad) ## End(Not run)
Compute the paediatric clearance according to the maturation adjustment (MA) for a specific age.
Clch.Mat(age, w, Clad, Wad, dataMolecule)
Clch.Mat(age, w, Clad, Wad, dataMolecule)
age |
The age of child. |
w |
The weight of child. |
Clad |
The apparent clearance of adult. |
Wad |
Weight of adult (or average weight in the adult population). |
dataMolecule |
The database of molecule. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age W <- children$Weight W_ad <- 70 Cl_ad <- 3.95 F_ad <- 0.6 Eg <- 0 Eh <- 0.058 f_abs <- F_ad/((1 - Eh)*(1-Eg)) fu_ad <- 1 perc_CYPh <- data.frame("CYP3A4_5" = 0.7, "CYP1A2" = 0.3) perc_CYPg <- data.frame("CYP3A4_5" = 1) perc_alb <- 1 perc_alpha1AG <- 0 data_molecule <- list(F_ad, f_abs, Eg, Eh, fu_ad, perc_CYPg, perc_CYPh, perc_alb, perc_alpha1AG) Clch.Mat(AGE, W, Cl_ad, W_ad, data_molecule) ## End(Not run)
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age W <- children$Weight W_ad <- 70 Cl_ad <- 3.95 F_ad <- 0.6 Eg <- 0 Eh <- 0.058 f_abs <- F_ad/((1 - Eh)*(1-Eg)) fu_ad <- 1 perc_CYPh <- data.frame("CYP3A4_5" = 0.7, "CYP1A2" = 0.3) perc_CYPg <- data.frame("CYP3A4_5" = 1) perc_alb <- 1 perc_alpha1AG <- 0 data_molecule <- list(F_ad, f_abs, Eg, Eh, fu_ad, perc_CYPg, perc_CYPh, perc_alb, perc_alpha1AG) Clch.Mat(AGE, W, Cl_ad, W_ad, data_molecule) ## End(Not run)
Compute the clearance of the unbound fraction of a specific molecule for the paediatric population.
Clchu(age, w, Clad, Wad, fabs, fuAd, Fad, Eg, Eh, percCYPh)
Clchu(age, w, Clad, Wad, fabs, fuAd, Fad, Eg, Eh, percCYPh)
age |
The age of children. |
w |
The weight of child. |
Clad |
The apparent clearance in the adult population. |
Wad |
The weight of adult (or average weight in the adult population). |
fabs |
Coefficient of absorption for the molecule. |
fuAd |
Unbound bioavailability for adults for the molecule. |
Fad |
Bioavailability for adults. |
Eg |
Coefficient of intestinal extraction. |
Eh |
Coefficient of hepatic extraction. |
percCYPh |
Vector giving the percentage of the molecule metabolised for each cytochrome in the liver in adults. Dataframe with two column - column 1: CYP name, column 2: percentage of the molecule metabolised. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age W <- children$Weight W_ad <- 70 Cl_ad <- 3.95 F_ad <- 0.6 Eg <- 0 Eh <- 0.058 f_abs <- F_ad/((1 - Eh)*(1-Eg)) fu_ad <- 1 perc_CYPh <- data.frame("CYP3A4_5" = 0.7, "CYP1A2" = 0.3) Clchu(AGE, W, Cl_ad, W_ad, f_abs, fu_ad, F_ad, Eg, Eh, perc_CYPh) ## End(Not run)
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age W <- children$Weight W_ad <- 70 Cl_ad <- 3.95 F_ad <- 0.6 Eg <- 0 Eh <- 0.058 f_abs <- F_ad/((1 - Eh)*(1-Eg)) fu_ad <- 1 perc_CYPh <- data.frame("CYP3A4_5" = 0.7, "CYP1A2" = 0.3) Clchu(AGE, W, Cl_ad, W_ad, f_abs, fu_ad, F_ad, Eg, Eh, perc_CYPh) ## End(Not run)
Compute the concentration of a specific molecule in plasma for the adult population according to the percentage binding with albumin and alpha1-acid glycoprotein.
concAd(percAlb, percAlpha1AG)
concAd(percAlb, percAlpha1AG)
percAlb |
Percentage of the molecule binding with albumin. |
percAlpha1AG |
Percentage of the molecule binding with alpha1-acid glycoprotein. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
perc_alb <- 1 perc_alpha1AG <- 0 concAd(perc_alb, perc_alpha1AG)
perc_alb <- 1 perc_alpha1AG <- 0 concAd(perc_alb, perc_alpha1AG)
Compute the concentration of a specific molecule in plasma for the paediatric population according to age, the percentage binding with albumin and alpha1-acid glycoprotein.
concCh(age, percAlb, percAlpha1AG)
concCh(age, percAlb, percAlpha1AG)
age |
The age of children. |
percAlb |
Percentage of the molecule binding with albumin. |
percAlpha1AG |
Percentage of the molecule binding with alpha1-acid glycoprotein. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age perc_alb <- 1 perc_alpha1AG <- 0 concCh(AGE, perc_alb, perc_alpha1AG) ## End(Not run)
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age perc_alb <- 1 perc_alpha1AG <- 0 concCh(AGE, perc_alb, perc_alpha1AG) ## End(Not run)
Algorithm giving the next dose which is the safe most successful dose (sMSD).
doseChoice(probaTox, probaEff, p, targetTox, givenDose)
doseChoice(probaTox, probaEff, p, targetTox, givenDose)
probaTox |
The probability of toxicity estimated with STAN model. |
probaEff |
The probability of efficacy estimated with STAN model. |
p |
The probability of success. |
targetTox |
The target of toxicity. |
givenDose |
The vector of doses given to patients so far. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
r <- 0.10 q <- 0.17 p <- 0.9 targetTox <- 0.6 givenDose <- 2 newDose <- doseChoice(r, q, p, targetTox, givenDose) newDose
r <- 0.10 q <- 0.17 p <- 0.9 targetTox <- 0.6 givenDose <- 2 newDose <- doseChoice(r, q, p, targetTox, givenDose) newDose
This function gives the dose-range for paediatrics, given the adult apparent clearance, the paediatric apparent clearance (known or estimated) and the adult doses. The paediatric apparent clearance can be estimated using the maturation adjustment (through the function Clch.Mat
), allometric adjustment (through the function Clch.Allo
) or linear adjustment (through the function Clch.Linear
).
doseRange(Clch, Clad, doseAd)
doseRange(Clch, Clad, doseAd)
Clch |
The paediatric apparent clearance which can be calculated using the maturation ( |
Clad |
The clearance of adult. |
doseAd |
The dose which is given to adult. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## # Doses of adults doseAd <- data.frame("d1" = 100, "d2" = 150,"d3" = 200,"d4"= 250,"d5" =300) Cl_ad <- 3.95 children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age W <- children$Weight W_ad <- 70 Cl_ad <- 3.95 F_ad <- 0.6 Eg <- 0 Eh <- 0.058 f_abs <- F_ad/((1 - Eh)*(1-Eg)) fu_ad <- 1 perc_CYPh <- data.frame("CYP3A4_5" = 0.7, "CYP1A2" = 0.3) perc_CYPg <- data.frame("CYP3A4_5" = 1) perc_alb <- 1 perc_alpha1AG <- 0 data_molecule <- list(F_ad, f_abs, Eg, Eh, fu_ad, perc_CYPg, perc_CYPh, perc_alb, perc_alpha1AG) # Compute the clearance of children using maturation adjustment via # the function Clch.Mat(). Clch_mat <- Clch.Mat(AGE, W, Cl_ad, W_ad, data_molecule) doseRange(Clch_mat, Cl_ad, doseAd) ## End(Not run)
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## # Doses of adults doseAd <- data.frame("d1" = 100, "d2" = 150,"d3" = 200,"d4"= 250,"d5" =300) Cl_ad <- 3.95 children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age W <- children$Weight W_ad <- 70 Cl_ad <- 3.95 F_ad <- 0.6 Eg <- 0 Eh <- 0.058 f_abs <- F_ad/((1 - Eh)*(1-Eg)) fu_ad <- 1 perc_CYPh <- data.frame("CYP3A4_5" = 0.7, "CYP1A2" = 0.3) perc_CYPg <- data.frame("CYP3A4_5" = 1) perc_alb <- 1 perc_alpha1AG <- 0 data_molecule <- list(F_ad, f_abs, Eg, Eh, fu_ad, perc_CYPg, perc_CYPh, perc_alb, perc_alpha1AG) # Compute the clearance of children using maturation adjustment via # the function Clch.Mat(). Clch_mat <- Clch.Mat(AGE, W, Cl_ad, W_ad, data_molecule) doseRange(Clch_mat, Cl_ad, doseAd) ## End(Not run)
Bioavailability of a child according to his/her age.
Fch(age, fabs, Eg, Eh, percCYPg, percCYPh)
Fch(age, fabs, Eg, Eh, percCYPg, percCYPh)
age |
The age of children. |
fabs |
Coefficient of the absorption. |
Eg |
Coefficient of intestinal extraction. |
Eh |
Coefficient of hepatic extraction. |
percCYPg |
Vector giving the percentage of the molecule metabolised for each cytochrome in the guts in adults. Dataframe with two column - column 1: CYP name, column 2: percentage of the molecule metabolised. |
percCYPh |
Vector giving the percentage of the molecule metabolised for each cytochrome in the liver in adults. Dataframe with two column - column 1: CYP name, column 2: percentage of the molecule metabolised. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age F_ad <- 0.6 Eg <- 0 Eh <- 0.058 f_abs <- F_ad/((1 - Eh)*(1-Eg)) perc_CYPg <- data.frame("CYP3A4_5" = 1) perc_CYPh <- data.frame("CYP3A4_5" = 0.7, "CYP1A2" = 0.3) Fch(AGE, f_abs, Eg, Eh, perc_CYPg, perc_CYPh) ## End(Not run)
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age F_ad <- 0.6 Eg <- 0 Eh <- 0.058 f_abs <- F_ad/((1 - Eh)*(1-Eg)) perc_CYPg <- data.frame("CYP3A4_5" = 1) perc_CYPh <- data.frame("CYP3A4_5" = 0.7, "CYP1A2" = 0.3) Fch(AGE, f_abs, Eg, Eh, perc_CYPg, perc_CYPh) ## End(Not run)
Unbound fraction of the molecule in the plasma for children.
fuCh(age, fuAd, percAlb, percAlpha1AG)
fuCh(age, fuAd, percAlb, percAlpha1AG)
age |
The age of children. |
fuAd |
Unbound fraction of the molecule in adults. |
percAlb |
Percentage of the molecule binding with albumin. |
percAlpha1AG |
Percentage of the molecule binding with alpha1-acid glycoprotein. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age fu_ad <- 1 perc_alb <- 1 perc_alpha1AG <- 0 fuCh(AGE, fu_ad, perc_alb, perc_alpha1AG) ## End(Not run)
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age fu_ad <- 1 perc_alb <- 1 perc_alpha1AG <- 0 fuCh(AGE, fu_ad, perc_alb, perc_alpha1AG) ## End(Not run)
Compute the value of the fraction of adult CYP1A2 abundance according to the children age. It is described by a hyperbolic function.
KCYP1A2(age)
KCYP1A2(age)
age |
The age of children. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
KCYP2B6
, KCYP2C8
, KCYP2C9
, KCYP2C18_19
, KCYP2D6
, KCYP2E1
, KCYP3A4_5
, KCYP3A
age <- 1 KCYP1A2(age)
age <- 1 KCYP1A2(age)
Compute the value of the fraction of adult CYP2B6 abundance according to the children age. It is described by a hyperbolic function.
KCYP2B6(age)
KCYP2B6(age)
age |
The age of children. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
KCYP1A2
, KCYP2C8
, KCYP2C9
, KCYP2C18_19
, KCYP2D6
, KCYP2E1
,
KCYP3A4_5
, KCYP3A
age <- 4 KCYP2B6(age)
age <- 4 KCYP2B6(age)
Compute the value of the fraction of adult CYP2C18/CYP2C19 abundance according to the children age. It is described by a hyperbolic function.
KCYP2C18_19(age)
KCYP2C18_19(age)
age |
The age of children. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
KCYP1A2
, KCYP2B6
, KCYP2C8
, KCYP2C9
, KCYP2D6
, KCYP2E1
,
KCYP3A4_5
, KCYP3A
age <- 18 KCYP2C18_19(age)
age <- 18 KCYP2C18_19(age)
Compute the value of the fraction of adult CYP2C8 abundance according to the children age. It is described by a hyperbolic function.
KCYP2C8(age)
KCYP2C8(age)
age |
The age of children. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
KCYP1A2
, KCYP2B6
, KCYP2C9
, KCYP2C18_19
, KCYP2D6
, KCYP2E1
,
KCYP3A4_5
, KCYP3A
age <- 2 KCYP2C8(age)
age <- 2 KCYP2C8(age)
Compute the value of the fraction of adult CYP2C9 abundance according to the children age. It is described by a hyperbolic function.
KCYP2C9(age)
KCYP2C9(age)
age |
The age of children. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
KCYP1A2
, KCYP2B6
, KCYP2C8
, KCYP2C18_19
, KCYP2D6
, KCYP2E1
,
KCYP3A4_5
, KCYP3A
age <- 3 KCYP2C9(age)
age <- 3 KCYP2C9(age)
Compute the value of the fraction of adult CYP2D6 abundance according to the children age. It is described by a hyperbolic function.
KCYP2D6(age)
KCYP2D6(age)
age |
The age of children. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
KCYP1A2
, KCYP2B6
, KCYP2C8
, KCYP2C9
, KCYP2C18_19
, KCYP2E1
,
KCYP3A4_5
, KCYP3A
age <- 2 KCYP2D6(age)
age <- 2 KCYP2D6(age)
Compute value of the fraction of adult CYP2E1 abundance according to the children age. It is described by a hyperbolic function.
KCYP2E1(age)
KCYP2E1(age)
age |
The age of children. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
KCYP1A2
, KCYP2B6
, KCYP2C8
, KCYP2C9
, KCYP2C18_19
, KCYP2D6
,
KCYP3A4_5
, KCYP3A
age <- 2 KCYP2E1(age)
age <- 2 KCYP2E1(age)
Compute the value of the fraction of adult CYP3A abundance according to the children age. It is described by a hyperbolic function.
KCYP3A(age)
KCYP3A(age)
age |
The age of children. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
KCYP1A2
, KCYP2B6
, KCYP2C8
, KCYP2C9
, KCYP2C18_19
, KCYP2D6
,
KCYP3A4_5
, KCYP2E1
age <- 2 KCYP3A(age)
age <- 2 KCYP3A(age)
Compute the value of the fraction of adult CYP3A4/CYP3A5 abundance according to the children age. It is described by a hyperbolic function.
KCYP3A4_5(age)
KCYP3A4_5(age)
age |
The age of children. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Johnson T., Rostami-Hodjegan A. and Tucker G. (2006) Prediction of clearance of eleven drugs and associated variability in neonates, infants and children, Clin. Pharmacokinet., 45:931-956.
KCYP1A2
, KCYP2B6
, KCYP2C8
, KCYP2C9
, KCYP2C18_19
, KCYP2D6
,
KCYP3A
, KCYP2E1
age <- 1 KCYP3A4_5(age)
age <- 1 KCYP3A4_5(age)
An algorithm that control if we have at least one 0 and one 1 for both efficacy and toxicity.
kickoffControl(tox, currentDose, cohortSize, nbDoses)
kickoffControl(tox, currentDose, cohortSize, nbDoses)
tox |
The vector of toxicity outcomes. |
currentDose |
The current dose of a patient. |
cohortSize |
The size of the cohort; must be integer. |
nbDoses |
The maximum number of the doses. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
## Not run: tox <- c(0.1301477, 0.2774171, 0.4184642, 0.6486846, 0.8257219) currentDose <- 3 cohortSize <- 1 nbDoses <- 5 kickoffControl(tox, currentDose, cohortSize, nbDoses) ## End(Not run)
## Not run: tox <- c(0.1301477, 0.2774171, 0.4184642, 0.6486846, 0.8257219) currentDose <- 3 cohortSize <- 1 nbDoses <- 5 kickoffControl(tox, currentDose, cohortSize, nbDoses) ## End(Not run)
A function of meta-analysis for dose-finding studies in clinical trials proposed by Zohar et al, (2011).
metaPhase(dataTox, doses, nbSimu)
metaPhase(dataTox, doses, nbSimu)
dataTox |
A database of the toxicity outcomes for each patient; must be a dataframe. |
doses |
The drug's dose levels. |
nbSimu |
The number of simulations. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Zohar, S., et al, (2011) An approach to meta-analysis of dose-finding studies, Statistics in Medicine.
## Not run: pardos_2006 <- rbind(c(100,0/3, 3), c(150, 1/3,3), c(200, 0/3, 3), c(250, 3/6, 6)) thepot_2014 <- rbind(c(100, 0/5, 5), c(150,3/25, 25)) calvo_2007 <- rbind(c(150, 1/25, 25)) raizer_2010 <- rbind(c(150,11/99, 99)) vanDenBent_2009 <- rbind( c(200, 6/54, 54)) sheikh_2012 <- rbind(c(150, 0.544, 307)) rocheNTC00531934 <- rbind(c(150, 0.186, 59)) dataTox <- rbind(pardos_2006, thepot_2014, calvo_2007, raizer_2010, vanDenBent_2009, rocheNTC00531934, sheikh_2012) dataTox <- data.frame(dataTox) colnames(dataTox) <- c("doses", "proba", "nbPatients") nbTox <- dataTox$proba*dataTox$nbPatients dataTox <- data.frame(dataTox, nbTox) doses <- c(100,150,200, 250) nbSimu <- 10 metaPhase(dataTox, doses, nbSimu) ## End(Not run)
## Not run: pardos_2006 <- rbind(c(100,0/3, 3), c(150, 1/3,3), c(200, 0/3, 3), c(250, 3/6, 6)) thepot_2014 <- rbind(c(100, 0/5, 5), c(150,3/25, 25)) calvo_2007 <- rbind(c(150, 1/25, 25)) raizer_2010 <- rbind(c(150,11/99, 99)) vanDenBent_2009 <- rbind( c(200, 6/54, 54)) sheikh_2012 <- rbind(c(150, 0.544, 307)) rocheNTC00531934 <- rbind(c(150, 0.186, 59)) dataTox <- rbind(pardos_2006, thepot_2014, calvo_2007, raizer_2010, vanDenBent_2009, rocheNTC00531934, sheikh_2012) dataTox <- data.frame(dataTox) colnames(dataTox) <- c("doses", "proba", "nbPatients") nbTox <- dataTox$proba*dataTox$nbPatients dataTox <- data.frame(dataTox, nbTox) doses <- c(100,150,200, 250) nbSimu <- 10 metaPhase(dataTox, doses, nbSimu) ## End(Not run)
Algorithm of the decision function for the choice of variance (sigmaHI or sigmaLI) in the adaptive prior variance calibration.
priorChoice(tox, givenDose, skeletonTox, lesb)
priorChoice(tox, givenDose, skeletonTox, lesb)
tox |
The vector of toxicity. |
givenDose |
The vector of doses given to patients so far. |
skeletonTox |
Skeleton of toxicity for the BMA bivariate CRM or the bivariate CRM model. |
lesb |
A vector containing the parameters b; (resp. 0 <- b1 < ... < bk < 1). |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Zhang J., Braun T., and J. Taylor. (2013) Adaptive prior variance calibration in the bayesian continual reassessment method. Stat. Med.
tox <- c(0.10, 0.21, 0.33, 0.55, 0.76) givenDose <- 2 skeleton_tox1 <- c(0.10, 0.21, 0.33, 0.55, 0.76) skeleton_tox2 <- c(0.21, 0.33, 0.55, 0.76, 0.88) skeleton_tox3 <- c(0.05, 0.10, 0.21, 0.33, 0.55) skeleton_tox4 <- c(0.025, 0.05,0.1, 0.21, 0.33) skeleton_tox5 <- c(0.0125, 0.025, 0.05,0.1, 0.21) skeletonTox <- data.frame(skeleton_tox1, skeleton_tox2, skeleton_tox3, skeleton_tox4, skeleton_tox5) lesb <- c(0.10, 0.16, 0.23, 0.25, 0.30) priorChoice(tox, givenDose, skeletonTox, lesb)
tox <- c(0.10, 0.21, 0.33, 0.55, 0.76) givenDose <- 2 skeleton_tox1 <- c(0.10, 0.21, 0.33, 0.55, 0.76) skeleton_tox2 <- c(0.21, 0.33, 0.55, 0.76, 0.88) skeleton_tox3 <- c(0.05, 0.10, 0.21, 0.33, 0.55) skeleton_tox4 <- c(0.025, 0.05,0.1, 0.21, 0.33) skeleton_tox5 <- c(0.0125, 0.025, 0.05,0.1, 0.21) skeletonTox <- data.frame(skeleton_tox1, skeleton_tox2, skeleton_tox3, skeleton_tox4, skeleton_tox5) lesb <- c(0.10, 0.16, 0.23, 0.25, 0.30) priorChoice(tox, givenDose, skeletonTox, lesb)
Let be the prior normal distribution
.
The variance
was fixed such that the information introduced by the prior would be equivalent to the information introduced by a
fixed number of patients, which was calibrated to control the amount of information. This approach is based on the effective sample size (ESS): the higher the ESS, the more informative the prior. For an ESS
, parameters
were chosen such that
sigmaEss(mStar, sigma, Mmin, Mmax, meana, c, wm, Tmc)
sigmaEss(mStar, sigma, Mmin, Mmax, meana, c, wm, Tmc)
mStar |
The number of patients anticipated for the trial. |
sigma |
The vector of sigma. |
Mmin |
The minimum number of patients for which the effective sample size (ESS) is computed. |
Mmax |
The maximum number of patients for which the effective sample size (ESS) is computed. |
meana |
Mean value of the prior distribution (known or chosen). |
c |
The maximum number of iteration for the algorithm to compute the ESS. See references for more details. |
wm |
The working model. |
Tmc |
The number of draw in the normal distribution in the ESS algorithm. See references for more details. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Morita S., Thall P.F., and Muller P. (2008) Determining the effective sample size of a parametric prior. Biometrics.
Morita S. (2011) Application of the continual reassessment method to a phase I dose-finding trial in japanese patients: East meets west. Stat. Med.
## Not run: wm_mat <- c(0.10, 0.21, 0.33, 0.55, 0.76 ) wm_allo <- c(0.13, 0.27, 0.48, 0.70, 0.88) wm_linear <- c(0.07, 0.13, 0.21, 0.33, 0.55) c <- 10000 meana <- 0.88 Tmc <- 100000 Mmax <- 30 Mmin <- 1 sigma_vect <- seq(0.1, 2, by = 0.01) mStar <- 30 sigmaEss(mStar, sigma_vect, Mmin, Mmax, meana, c, wm_mat, Tmc) ## End(Not run)
## Not run: wm_mat <- c(0.10, 0.21, 0.33, 0.55, 0.76 ) wm_allo <- c(0.13, 0.27, 0.48, 0.70, 0.88) wm_linear <- c(0.07, 0.13, 0.21, 0.33, 0.55) c <- 10000 meana <- 0.88 Tmc <- 100000 Mmax <- 30 Mmin <- 1 sigma_vect <- seq(0.1, 2, by = 0.01) mStar <- 30 sigmaEss(mStar, sigma_vect, Mmin, Mmax, meana, c, wm_mat, Tmc) ## End(Not run)
Compute the informative prior variance for the adaptive prior based on the assumption that every dose has the same probability to be the maximum tolerated dose (MTD), i.e. uniform distribution.
sigmaHI(wm, meanbeta, a = NULL, model, tau, threshold)
sigmaHI(wm, meanbeta, a = NULL, model, tau, threshold)
wm |
The selected working model; for example the skeleton of toxicity; must be a vector. |
meanbeta |
The mean value of variable beta. |
a |
The variable a; the default value is NULL. |
model |
A valid model; for example "power_log" model. |
tau |
The target of toxicity. |
threshold |
A threshold of the model. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Zhang J., Braun T., and J. Taylor. Adaptive prior variance calibration in the bayesian continual reassessment method. Stat. Med., 32:2221-34, 2013.
targetTox <- 0.25 # target of toxicity ####### Skeleton ########### skeleton_tox1 <- c(0.10, 0.21, 0.33, 0.55, 0.76) skeleton_tox2 <- c(0.21, 0.33, 0.55, 0.76, 0.88) skeleton_tox3 <- c(0.05, 0.10, 0.21, 0.33, 0.55) skeleton_tox4 <- c(0.025, 0.05, 0.1, 0.21, 0.33) skeleton_tox5 <- c(0.0125, 0.025, 0.05, 0.1, 0.21) skeletonTox <- data.frame(skeleton_tox1, skeleton_tox2, skeleton_tox3, skeleton_tox4, skeleton_tox5) mu <- -0.34 sigmaHI <- sigmaHI(skeletonTox[ ,1], mu, a = NULL, "power_log", targetTox, 0.80)
targetTox <- 0.25 # target of toxicity ####### Skeleton ########### skeleton_tox1 <- c(0.10, 0.21, 0.33, 0.55, 0.76) skeleton_tox2 <- c(0.21, 0.33, 0.55, 0.76, 0.88) skeleton_tox3 <- c(0.05, 0.10, 0.21, 0.33, 0.55) skeleton_tox4 <- c(0.025, 0.05, 0.1, 0.21, 0.33) skeleton_tox5 <- c(0.0125, 0.025, 0.05, 0.1, 0.21) skeletonTox <- data.frame(skeleton_tox1, skeleton_tox2, skeleton_tox3, skeleton_tox4, skeleton_tox5) mu <- -0.34 sigmaHI <- sigmaHI(skeletonTox[ ,1], mu, a = NULL, "power_log", targetTox, 0.80)
Compute the least informative prior variance for the adaptive prior based on the assumption that every dose has the same probability to be the maximum tolerated dose (MTD), i.e. uniform distribution.
sigmaLI(wm, meanbeta, a = NULL, model, tau)
sigmaLI(wm, meanbeta, a = NULL, model, tau)
wm |
The selected working model; for example the skeleton of toxicity; must be a vector. |
meanbeta |
The mean value of variable beta. |
a |
The variable a; defaults to NULL. |
model |
A valid model; for example the "power_log" model. |
tau |
The target of toxicity. |
Artemis Toumazi [email protected] Caroline Petit [email protected] Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Zhang J., Braun T., and J. Taylor. Adaptive prior variance calibration in the bayesian continual reassessment method. Stat. Med., 32:2221-34, 2013.
targetTox <- 0.25 # target of toxicity ####### Skeleton ########### skeleton_tox1 <- c(0.10, 0.21, 0.33, 0.55, 0.76) skeleton_tox2 <- c(0.21, 0.33, 0.55, 0.76, 0.88) skeleton_tox3 <- c(0.05, 0.10, 0.21, 0.33, 0.55) skeleton_tox4 <- c(0.025, 0.05, 0.1, 0.21, 0.33) skeleton_tox5 <- c(0.0125, 0.025, 0.05, 0.1, 0.21) skeletonTox <- data.frame(skeleton_tox1, skeleton_tox2, skeleton_tox3, skeleton_tox4, skeleton_tox5) mu <- -0.34 sigmaLI <- sigmaLI(skeletonTox[ ,1], mu, a = NULL, "power_log", targetTox)
targetTox <- 0.25 # target of toxicity ####### Skeleton ########### skeleton_tox1 <- c(0.10, 0.21, 0.33, 0.55, 0.76) skeleton_tox2 <- c(0.21, 0.33, 0.55, 0.76, 0.88) skeleton_tox3 <- c(0.05, 0.10, 0.21, 0.33, 0.55) skeleton_tox4 <- c(0.025, 0.05, 0.1, 0.21, 0.33) skeleton_tox5 <- c(0.0125, 0.025, 0.05, 0.1, 0.21) skeletonTox <- data.frame(skeleton_tox1, skeleton_tox2, skeleton_tox3, skeleton_tox4, skeleton_tox5) mu <- -0.34 sigmaLI <- sigmaLI(skeletonTox[ ,1], mu, a = NULL, "power_log", targetTox)
Simulate a single dose-finding clinical trial with the given scenarios of toxicity and efficacy.
simu(targetTox, targetEff, skeletonTox, skeletonEff, startingDose, nbSubjects, crmModel, cohortSize, scenarioTox, scenarioEff, nbDesign, mu, sd = NULL, lesb, sigmaLI, sigmaHI, adaptivePrior)
simu(targetTox, targetEff, skeletonTox, skeletonEff, startingDose, nbSubjects, crmModel, cohortSize, scenarioTox, scenarioEff, nbDesign, mu, sd = NULL, lesb, sigmaLI, sigmaHI, adaptivePrior)
targetTox |
Target/threshold of toxicity; must be a integer/double. |
targetEff |
Target/threshold of efficacy; must be a integer/double. |
skeletonTox |
Skeleton of toxicity for the BMA bivariate CRM, or the bivariate CRM. Must be a dataframe with the number of row corresponding to the number of doses and the number of columns corresponding to the number of working models for toxicity. |
skeletonEff |
Skeleton of efficacy for the BMA bivariate CRM, or the bivariate CRM. Must be a dataframe with the number of row corresponding to the number of doses and the number of columns corresponding to the number of working models for efficacy. |
startingDose |
First dose to be assigned; must be an integer. |
nbSubjects |
Maximum number of allocated patients; must be an integer. |
crmModel |
A model for STAN in C++. |
cohortSize |
The size of the cohorts for the 3+3 based algorithm before kickoff of the CRM; must be an integer. |
scenarioTox |
Toxicity scenario for the simulations with the probability of toxicity for each dose; must be a vector of length the number of doses. |
scenarioEff |
Efficacy scenario for the simulations; must be a vector of length the number of doses. |
nbDesign |
The number of different designs for the model selection using the Watanabe-Akaike information criteria (WAIC); must be an integer. |
mu |
The mean value which the model is using. |
sd |
The standard deviation. |
lesb |
A vector consisting of the variables b. |
sigmaLI |
The standard deviation when the model using non-informative prior. |
sigmaHI |
The standard deviation when the model using informative prior. |
adaptivePrior |
TRUE if you want to use as a prior an adaptive prior; FALSE otherwise. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
## Not run: library(rstan) adaptivePrior <- TRUE ####### Targets ########### targetTox <- 0.25 # target of toxicity targetEff <- 0.20 # target of efficacy ####### Skeleton ########### skeleton_tox1 <- c(0.10, 0.21, 0.33, 0.55, 0.76) skeleton_tox2 <- c(0.21, 0.33, 0.55, 0.76, 0.88) skeleton_tox3 <- c(0.05, 0.10, 0.21, 0.33, 0.55) skeleton_tox4 <- c(0.025, 0.05,0.1, 0.21, 0.33) skeleton_tox5 <- c(0.0125, 0.025, 0.05,0.1, 0.21) skeleton_eff <- c(0.04937516, 0.20496890, 0.43388003, 0.64409781, 0.79313693) skeleton_tox <- data.frame(skeleton_tox1, skeleton_tox2, skeleton_tox3, skeleton_tox4, skeleton_tox5) skeleton_eff <- data.frame(skeleton_eff, skeleton_eff, skeleton_eff, skeleton_eff, skeleton_eff) ############# Priors ############ priorModel <- list(rep(1/5,5), 0.001) sd <- 0.65 mu <- -0.34 ####### Trial settings ############# startingDose <- 1 nbSubjects <- 15 cohortSize <- 3 nbDesign <- length(skeleton_tox[1,]) nbDoses <- length(scenario_tox) lesb <- calcul.bi(skeleton_tox[,1], mu, a = NULL, "power_log", targetTox) sigmaLI <- sigmaLI(skeleton_tox[,1], mu, a = NULL, "power_log", targetTox) sigmaHI <- sigmaHI(skeleton_tox[,1], mu, a = NULL, "power_log", targetTox, 0.80) ################## Scenarios ############## scenario_tox <- c(0.1301477, 0.2774171, 0.4184642, 0.6486846, 0.8257219) scenario_eff <- c(0.07945205, 0.20000000, 0.33686856, 0.59537737, 0.80996173) stancode <- 'data { int <lower = 0> J; //nb of patients int <lower = 0> K; // nb of doses and dose reference real r[K]; // skeleton for tox - K doses real q[K]; // skeleton for efficacy - K doses int y[J]; // toxicity of patient j int v[J]; // efficacy of patient j int d[J]; // dose received by patient j real moy; // mean for the normal prior of toxicity real standardError; //standard error of the normal prior of toxicity } parameters { real <lower = 0> alpha; real <lower = 0> beta; } transformed parameters{ real <lower = 0, upper = 1> varphi[K]; // marginal probability of toxicity for dose k real <lower = 0, upper = 1> psi[K]; // marginal probability of efficacy for dose k // defining the marginal probabilities for each value of a and b for each dose real p01[K]; // tox = 0, eff = 1 real p10[K]; // tox = 1, eff = 0 real p11[K]; // tox = 1, eff = 1 real p00[K]; // tox = 0, eff = 0 vector[J] logLike; for (k in 1:K){ varphi[k] = exp(alpha*log(r[k])); psi[k] = exp(beta*log(q[k])); } // computing the marginal probabilities for each dose for (k in 1:K){ p01[k] = (1-varphi[k])*psi[k]; p10[k] = varphi[k]*(1-psi[k]); p00[k] = (1-varphi[k])*(1-psi[k]); p11[k] = varphi[k]*psi[k]; } // Computing the log-likelihood for (j in 1:J){ logLike[j] = y[j]*v[j]*log(p11[d[j]]) + y[j]*(1-v[j])*log(p10[d[j]]) + (1-y[j])*v[j]*log(p01[d[j]]) + (1-y[j])*(1-v[j])*log(p00[d[j]]); } } model { // priors alpha ~lognormal(moy, standardError); beta ~ lognormal(0,sqrt(1.34)); increment_log_prob(sum(logLike)); }' crm_model <- stan_model(model_code = stancode) ################## Simulation ############## simu(targetTox, targetEff, skeleton_tox, skeleton_eff, startingDose, nbSubjects, crm_model, cohortSize, scenario_tox, scenario_eff, nbDesign, mu, sd = sd, lesb, sigmaLI, sigmaHI, adaptivePrior) ## End(Not run)
## Not run: library(rstan) adaptivePrior <- TRUE ####### Targets ########### targetTox <- 0.25 # target of toxicity targetEff <- 0.20 # target of efficacy ####### Skeleton ########### skeleton_tox1 <- c(0.10, 0.21, 0.33, 0.55, 0.76) skeleton_tox2 <- c(0.21, 0.33, 0.55, 0.76, 0.88) skeleton_tox3 <- c(0.05, 0.10, 0.21, 0.33, 0.55) skeleton_tox4 <- c(0.025, 0.05,0.1, 0.21, 0.33) skeleton_tox5 <- c(0.0125, 0.025, 0.05,0.1, 0.21) skeleton_eff <- c(0.04937516, 0.20496890, 0.43388003, 0.64409781, 0.79313693) skeleton_tox <- data.frame(skeleton_tox1, skeleton_tox2, skeleton_tox3, skeleton_tox4, skeleton_tox5) skeleton_eff <- data.frame(skeleton_eff, skeleton_eff, skeleton_eff, skeleton_eff, skeleton_eff) ############# Priors ############ priorModel <- list(rep(1/5,5), 0.001) sd <- 0.65 mu <- -0.34 ####### Trial settings ############# startingDose <- 1 nbSubjects <- 15 cohortSize <- 3 nbDesign <- length(skeleton_tox[1,]) nbDoses <- length(scenario_tox) lesb <- calcul.bi(skeleton_tox[,1], mu, a = NULL, "power_log", targetTox) sigmaLI <- sigmaLI(skeleton_tox[,1], mu, a = NULL, "power_log", targetTox) sigmaHI <- sigmaHI(skeleton_tox[,1], mu, a = NULL, "power_log", targetTox, 0.80) ################## Scenarios ############## scenario_tox <- c(0.1301477, 0.2774171, 0.4184642, 0.6486846, 0.8257219) scenario_eff <- c(0.07945205, 0.20000000, 0.33686856, 0.59537737, 0.80996173) stancode <- 'data { int <lower = 0> J; //nb of patients int <lower = 0> K; // nb of doses and dose reference real r[K]; // skeleton for tox - K doses real q[K]; // skeleton for efficacy - K doses int y[J]; // toxicity of patient j int v[J]; // efficacy of patient j int d[J]; // dose received by patient j real moy; // mean for the normal prior of toxicity real standardError; //standard error of the normal prior of toxicity } parameters { real <lower = 0> alpha; real <lower = 0> beta; } transformed parameters{ real <lower = 0, upper = 1> varphi[K]; // marginal probability of toxicity for dose k real <lower = 0, upper = 1> psi[K]; // marginal probability of efficacy for dose k // defining the marginal probabilities for each value of a and b for each dose real p01[K]; // tox = 0, eff = 1 real p10[K]; // tox = 1, eff = 0 real p11[K]; // tox = 1, eff = 1 real p00[K]; // tox = 0, eff = 0 vector[J] logLike; for (k in 1:K){ varphi[k] = exp(alpha*log(r[k])); psi[k] = exp(beta*log(q[k])); } // computing the marginal probabilities for each dose for (k in 1:K){ p01[k] = (1-varphi[k])*psi[k]; p10[k] = varphi[k]*(1-psi[k]); p00[k] = (1-varphi[k])*(1-psi[k]); p11[k] = varphi[k]*psi[k]; } // Computing the log-likelihood for (j in 1:J){ logLike[j] = y[j]*v[j]*log(p11[d[j]]) + y[j]*(1-v[j])*log(p10[d[j]]) + (1-y[j])*v[j]*log(p01[d[j]]) + (1-y[j])*(1-v[j])*log(p00[d[j]]); } } model { // priors alpha ~lognormal(moy, standardError); beta ~ lognormal(0,sqrt(1.34)); increment_log_prob(sum(logLike)); }' crm_model <- stan_model(model_code = stancode) ################## Simulation ############## simu(targetTox, targetEff, skeleton_tox, skeleton_eff, startingDose, nbSubjects, crm_model, cohortSize, scenario_tox, scenario_eff, nbDesign, mu, sd = sd, lesb, sigmaLI, sigmaHI, adaptivePrior) ## End(Not run)
It starts the process of simulations for a required number of simulated trials and return NULL. A dataframe is saved in the url named as "save_name" with the number of rows equals to the number of simulations lines and 26 columns containing the different estimates, the selected dose of each trial, etc.
simulation(stanModel, scenarioTox, scenarioEff, nbSubjects, nbSimu, skeletonTox, skeletonEff, targetTox, targetEff, cohortSize, startingDose, sd = NULL, mu, adaptivePrior, saveName)
simulation(stanModel, scenarioTox, scenarioEff, nbSubjects, nbSimu, skeletonTox, skeletonEff, targetTox, targetEff, cohortSize, startingDose, sd = NULL, mu, adaptivePrior, saveName)
stanModel |
A compiled STAN model. |
scenarioTox |
Toxicity scenario for simulations, with the probability of toxicity for each dose; must be a vector of length the number of doses. |
scenarioEff |
Efficacy scenario for simulations; must be a vector of length the number of doses. |
nbSubjects |
The maximum number of allocated patients; must be an integer. |
nbSimu |
The number of simulated trials; must be an integer. |
skeletonTox |
The skeleton of toxicity for the BMA bivariate CRM or the bivariate CRM; must be a dataframe with the number of rows corresponding to the number of doses and the number of columns corresponding to the number of working models for toxicity. |
skeletonEff |
The skeleton of efficacy for the BMA bivariate CRM or the bivariate CRM; must be a dataframe with the number of rows corresponding to the number of doses and the number of columns corresponding to the number of working models for efficacy. |
targetTox |
Target/threshold of toxicity; must be a double. |
targetEff |
Target/threshold of efficacy; must be a double. |
cohortSize |
The size of the cohorts for the 3+3 based algorithm before kickoff of the CRM; must be an integer. |
startingDose |
First dose to be assigned; must be an integer. |
sd |
The standard deviation; defaults to NULL. |
mu |
The mean value which using the model. |
adaptivePrior |
TRUE if you want to use as a prior an adaptive prior; FALSE otherwise. |
saveName |
The name of the RData that simulation will be stored; must be a string. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Zohar, S., et al, (2011) An approach to meta-analysis of dose-finding studies, Statistics in Medicine.
## Not run: library("rstan") adaptivePrior <- TRUE targetTox <- 0.25 # target of toxicity targetEff <- 0.20 # target of efficacy ####### Skeleton ########### skeleton_tox1 <- c(0.10, 0.21, 0.33, 0.55, 0.76) skeleton_tox2 <- c(0.21, 0.33, 0.55, 0.76, 0.88) skeleton_tox3 <- c(0.05, 0.10, 0.21, 0.33, 0.55) skeleton_tox4 <- c(0.025, 0.05, 0.1, 0.21, 0.33) skeleton_tox5 <- c(0.0125, 0.025, 0.05, 0.1, 0.21) skeleton_eff <- c(0.04937516, 0.20496890, 0.43388003, 0.64409781, 0.79313693) skeleton_tox <- data.frame(skeleton_tox1, skeleton_tox2, skeleton_tox3, skeleton_tox4, skeleton_tox5) skeleton_eff <- data.frame(skeleton_eff, skeleton_eff, skeleton_eff, skeleton_eff, skeleton_eff) ########## Priors ########### priorModel <- list(rep(1/5,5), 0.001) sd <- 0.65 mu <- -0.34 ####### Trial settings ############# startingDose <- 1 nbSubjects <- 15 cohortSize <- 3 ####### Number of simulation desired ########### nbSimu <- 10 ################# CRM model ################ ############# Prior Normal ################# stancode <- 'data { int <lower = 0> J; //nb of patients int <lower = 0> K; // nb of doses and dose reference real r[K]; // skeleton for tox - K doses real q[K]; // skeleton for efficacy - K doses int y[J]; // toxicity of patient j int v[J]; // efficacy of patient j int d[J]; // dose received by patient j real moy; // mean for the normal prior of toxicity real standardError; //standard error of the normal prior of toxicity } parameters { real <lower = 0> alpha; real <lower = 0> beta; } transformed parameters{ real <lower = 0, upper = 1> varphi[K]; // marginal probability of toxicity for dose k real <lower = 0, upper = 1> psi[K]; // marginal probability of efficacy for dose k // defining the marginal probabilities for each value of a and b for each dose real p01[K]; // tox = 0, eff = 1 real p10[K]; // tox = 1, eff = 0 real p11[K]; // tox = 1, eff = 1 real p00[K]; // tox = 0, eff = 0 vector[J] logLike; for (k in 1:K){ varphi[k] = exp(alpha*log(r[k])); psi[k] = exp(beta*log(q[k])); } // computing the marginal probabilities for each dose for (k in 1:K){ p01[k] = (1-varphi[k])*psi[k]; p10[k] = varphi[k]*(1-psi[k]); p00[k] = (1-varphi[k])*(1-psi[k]); p11[k] = varphi[k]*psi[k]; } // Computing the log-likelihood for (j in 1:J){ logLike[j] = y[j]*v[j]*log(p11[d[j]]) + y[j]*(1-v[j])*log(p10[d[j]]) + (1-y[j])*v[j]*log(p01[d[j]]) + (1-y[j])*(1-v[j])*log(p00[d[j]]); } } model { // priors alpha ~lognormal(moy, standardError); beta ~ lognormal(0,sqrt(1.34)); increment_log_prob(sum(logLike)); }' stan_model <- stan_model(model_code = stancode) ################## Scenarios ############## scenario_tox <- c(0.1301477, 0.2774171, 0.4184642, 0.6486846, 0.8257219) scenario_eff <- c(0.07945205, 0.20000000, 0.33686856, 0.59537737, 0.80996173) ################# Simulation BMA - Normal prior ################ simulation(stan_model, scenario_tox, scenario_eff, nbSubjects, nbSimu, skeleton_tox, skeleton_eff, targetTox, targetEff, cohortSize, startingDose, sd, mu, TRUE, tempfile()) ## End(Not run)
## Not run: library("rstan") adaptivePrior <- TRUE targetTox <- 0.25 # target of toxicity targetEff <- 0.20 # target of efficacy ####### Skeleton ########### skeleton_tox1 <- c(0.10, 0.21, 0.33, 0.55, 0.76) skeleton_tox2 <- c(0.21, 0.33, 0.55, 0.76, 0.88) skeleton_tox3 <- c(0.05, 0.10, 0.21, 0.33, 0.55) skeleton_tox4 <- c(0.025, 0.05, 0.1, 0.21, 0.33) skeleton_tox5 <- c(0.0125, 0.025, 0.05, 0.1, 0.21) skeleton_eff <- c(0.04937516, 0.20496890, 0.43388003, 0.64409781, 0.79313693) skeleton_tox <- data.frame(skeleton_tox1, skeleton_tox2, skeleton_tox3, skeleton_tox4, skeleton_tox5) skeleton_eff <- data.frame(skeleton_eff, skeleton_eff, skeleton_eff, skeleton_eff, skeleton_eff) ########## Priors ########### priorModel <- list(rep(1/5,5), 0.001) sd <- 0.65 mu <- -0.34 ####### Trial settings ############# startingDose <- 1 nbSubjects <- 15 cohortSize <- 3 ####### Number of simulation desired ########### nbSimu <- 10 ################# CRM model ################ ############# Prior Normal ################# stancode <- 'data { int <lower = 0> J; //nb of patients int <lower = 0> K; // nb of doses and dose reference real r[K]; // skeleton for tox - K doses real q[K]; // skeleton for efficacy - K doses int y[J]; // toxicity of patient j int v[J]; // efficacy of patient j int d[J]; // dose received by patient j real moy; // mean for the normal prior of toxicity real standardError; //standard error of the normal prior of toxicity } parameters { real <lower = 0> alpha; real <lower = 0> beta; } transformed parameters{ real <lower = 0, upper = 1> varphi[K]; // marginal probability of toxicity for dose k real <lower = 0, upper = 1> psi[K]; // marginal probability of efficacy for dose k // defining the marginal probabilities for each value of a and b for each dose real p01[K]; // tox = 0, eff = 1 real p10[K]; // tox = 1, eff = 0 real p11[K]; // tox = 1, eff = 1 real p00[K]; // tox = 0, eff = 0 vector[J] logLike; for (k in 1:K){ varphi[k] = exp(alpha*log(r[k])); psi[k] = exp(beta*log(q[k])); } // computing the marginal probabilities for each dose for (k in 1:K){ p01[k] = (1-varphi[k])*psi[k]; p10[k] = varphi[k]*(1-psi[k]); p00[k] = (1-varphi[k])*(1-psi[k]); p11[k] = varphi[k]*psi[k]; } // Computing the log-likelihood for (j in 1:J){ logLike[j] = y[j]*v[j]*log(p11[d[j]]) + y[j]*(1-v[j])*log(p10[d[j]]) + (1-y[j])*v[j]*log(p01[d[j]]) + (1-y[j])*(1-v[j])*log(p00[d[j]]); } } model { // priors alpha ~lognormal(moy, standardError); beta ~ lognormal(0,sqrt(1.34)); increment_log_prob(sum(logLike)); }' stan_model <- stan_model(model_code = stancode) ################## Scenarios ############## scenario_tox <- c(0.1301477, 0.2774171, 0.4184642, 0.6486846, 0.8257219) scenario_eff <- c(0.07945205, 0.20000000, 0.33686856, 0.59537737, 0.80996173) ################# Simulation BMA - Normal prior ################ simulation(stan_model, scenario_tox, scenario_eff, nbSubjects, nbSimu, skeleton_tox, skeleton_eff, targetTox, targetEff, cohortSize, startingDose, sd, mu, TRUE, tempfile()) ## End(Not run)
The construction of the working model's skeleton.
skeleton(doseChildren, doseAdult, dataTox, dataAuc = NULL, Clad, Clch, nbSimu, graph = TRUE)
skeleton(doseChildren, doseAdult, dataTox, dataAuc = NULL, Clad, Clch, nbSimu, graph = TRUE)
doseChildren |
The paediatric dose level. |
doseAdult |
The adult dose level. |
dataTox |
The database of the toxicities. |
dataAuc |
The database of the AUC; defaults to NULL. |
Clad |
The clearance of the adults. |
Clch |
Paediatric clearance (known or estimated). An estimate can be computed using maturation adjustment (MA), allometric adjustment (AA) or linear adjustment (LA) for a specific group of age. |
nbSimu |
The number of simulation using in meta analysis function |
graph |
A choice to plot the estimates using the function |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age W <- children$Weight W_ad <- 70 Cl_ad <- 3.95 F_ad <- 0.6 Eg <- 0 Eh <- 0.058 f_abs <- F_ad/((1 - Eh)*(1-Eg)) fu_ad <- 1 perc_CYPh <- data.frame("CYP3A4_5" = 0.7, "CYP1A2" = 0.3) perc_CYPg <- data.frame("CYP3A4_5" = 1) perc_alb <- 1 perc_alpha1AG <- 0 data_molecule <- list(F_ad, f_abs, Eg, Eh, fu_ad, perc_CYPg, perc_CYPh, perc_alb, perc_alpha1AG) Clch_mat <- Clch.Mat(AGE, W, Cl_ad, W_ad, data_molecule) #################################### ########## WORKING MODEL ########### #################################### children <- data.frame(children, Clch_mat) ########## Children from 2 to 5 years old children2_5 <- children[children$Age >= 2 & children$Age <= 5 ,] Cl_ch <- mean(children2_5$Clch_mat) # Doses for paediatric using maturation adjustment dCh_mat_2_5 <- c(30, 45, 55, 70, 85) Cl_ad <- 3.95 AUCThomas <- c(20,40, 60) probaToxThomas <- c(0.1,0.25, 0.55) ################# Non-parametric PAVA estimate ################### # data from the publications of toxicity in the erlotinib pardos_2006 <- rbind(c(100,0/3, 3), c(150, 1/3,3), c(200, 0/3, 3), c(250, 3/6, 6)) thepot_2014 <- rbind(c(100, 0/5, 5), c(150,3/25, 25)) calvo_2007 <- rbind(c(150, 1/25, 25)) raizer_2010 <- rbind(c(150,11/99, 99)) vanDenBent_2009 <- rbind( c(200, 6/54, 54)) sheikh_2012 <- rbind(c(150, 0.544, 307)) rocheNTC00531934 <- rbind(c(150, 0.186, 59)) dataTox <- rbind(pardos_2006, thepot_2014, calvo_2007, raizer_2010, vanDenBent_2009, rocheNTC00531934, sheikh_2012) dataTox <- data.frame(dataTox) colnames(dataTox) <- c("doses", "proba", "nbPatients") nbTox <- dataTox$proba*dataTox$nbPatients dataTox <- data.frame(dataTox, nbTox) data_auc <- data.frame(AUCThomas, probaToxThomas ) dose_children <- dCh_mat_2_5[1:4] dose_adult <- c(100,150,200, 250) graph <- TRUE skeleton(dose_children, dose_adult, dataTox, data_auc, Cl_ad, Cl_ch, nbSimu = 10, graph = TRUE) ## End(Not run)
## Not run: ######## # Note: For this example we are using a paediatric database that we have including data of # children from 0 to 19 years old. ######## children <- read.csv("/Users/artemistoumazi/paediatric_data_p3m/children_0_19.csv") AGE <- children$Age W <- children$Weight W_ad <- 70 Cl_ad <- 3.95 F_ad <- 0.6 Eg <- 0 Eh <- 0.058 f_abs <- F_ad/((1 - Eh)*(1-Eg)) fu_ad <- 1 perc_CYPh <- data.frame("CYP3A4_5" = 0.7, "CYP1A2" = 0.3) perc_CYPg <- data.frame("CYP3A4_5" = 1) perc_alb <- 1 perc_alpha1AG <- 0 data_molecule <- list(F_ad, f_abs, Eg, Eh, fu_ad, perc_CYPg, perc_CYPh, perc_alb, perc_alpha1AG) Clch_mat <- Clch.Mat(AGE, W, Cl_ad, W_ad, data_molecule) #################################### ########## WORKING MODEL ########### #################################### children <- data.frame(children, Clch_mat) ########## Children from 2 to 5 years old children2_5 <- children[children$Age >= 2 & children$Age <= 5 ,] Cl_ch <- mean(children2_5$Clch_mat) # Doses for paediatric using maturation adjustment dCh_mat_2_5 <- c(30, 45, 55, 70, 85) Cl_ad <- 3.95 AUCThomas <- c(20,40, 60) probaToxThomas <- c(0.1,0.25, 0.55) ################# Non-parametric PAVA estimate ################### # data from the publications of toxicity in the erlotinib pardos_2006 <- rbind(c(100,0/3, 3), c(150, 1/3,3), c(200, 0/3, 3), c(250, 3/6, 6)) thepot_2014 <- rbind(c(100, 0/5, 5), c(150,3/25, 25)) calvo_2007 <- rbind(c(150, 1/25, 25)) raizer_2010 <- rbind(c(150,11/99, 99)) vanDenBent_2009 <- rbind( c(200, 6/54, 54)) sheikh_2012 <- rbind(c(150, 0.544, 307)) rocheNTC00531934 <- rbind(c(150, 0.186, 59)) dataTox <- rbind(pardos_2006, thepot_2014, calvo_2007, raizer_2010, vanDenBent_2009, rocheNTC00531934, sheikh_2012) dataTox <- data.frame(dataTox) colnames(dataTox) <- c("doses", "proba", "nbPatients") nbTox <- dataTox$proba*dataTox$nbPatients dataTox <- data.frame(dataTox, nbTox) data_auc <- data.frame(AUCThomas, probaToxThomas ) dose_children <- dCh_mat_2_5[1:4] dose_adult <- c(100,150,200, 250) graph <- TRUE skeleton(dose_children, dose_adult, dataTox, data_auc, Cl_ad, Cl_ch, nbSimu = 10, graph = TRUE) ## End(Not run)
Model selection can be performed for each working model (WM) using the Watanabe-Akaike information criteria (WAIC) developed by Watanabe.
waic(stanfit, s)
waic(stanfit, s)
stanfit |
Estimates obtained with the STAN fit. You can use the |
s |
Integer specifying the number of models used to compute the WAIC selection. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
Watanabe S. Asymptotic Equivalence of Bayes cross vallidation and widely applicable information criterion in singular learning theory, volume 11. 2010.
## Not run: for(s in 1:nbDesign){ fitj <- fitDataj(stan_model, nbPatientsj, nbDoses, tox, eff, given_dose, skeleton_tox, skeleton_eff, mu, sigma, s) waicj <- waic(stanfit=fitj, s) } ## End(Not run)
## Not run: for(s in 1:nbDesign){ fitj <- fitDataj(stan_model, nbPatientsj, nbDoses, tox, eff, given_dose, skeleton_tox, skeleton_eff, mu, sigma, s) waicj <- waic(stanfit=fitj, s) } ## End(Not run)
Proportion of the molecule metabolised by the CYPs. A weighted sum is computed. For each CYP, the proportion metabolised in adults is multiplied with the fraction of CYP (KCYP) available for a child according to age.
weightCYPsum(age, percCYP)
weightCYPsum(age, percCYP)
age |
The age of child. |
percCYP |
Dataframe giving the percentage of the molecule metabolised for each cytochrome in adults. Dataframe with two column - column 1: CYP name, column 2: percentage of the molecule metabolised. |
Artemis Toumazi [email protected], Caroline Petit [email protected], Sarah Zohar [email protected]
Petit, C., et al, (2016) Unified approach for extrapolation and bridging of adult information in early phase dose-finding paediatric studies, Statistical Methods in Medical Research, <doi:10.1177/0962280216671348>.
age <- 2 perc_CYP <- data.frame("CYP3A4_5" = 0.7, "CYP1A2" = 0.3) weightCYPsum(age, perc_CYP)
age <- 2 perc_CYP <- data.frame("CYP3A4_5" = 0.7, "CYP1A2" = 0.3) weightCYPsum(age, perc_CYP)