Package 'dfmta'

Title: Phase I/II Adaptive Dose-Finding Design for MTA
Description: Phase I/II adaptive dose-finding design for single-agent Molecularly Targeted Agent (MTA), according to the paper "Phase I/II Dose-Finding Design for Molecularly Targeted Agent: Plateau Determination using Adaptive Randomization", Riviere Marie-Karelle et al. (2016) <doi:10.1177/0962280216631763>.
Authors: Marie-Karelle Riviere [aut], Jacques-Henri Jourdan [aut, cre]
Maintainer: Jacques-Henri Jourdan <[email protected]>
License: GPL-3
Version: 1.7-6
Built: 2024-10-31 03:03:38 UTC
Source: https://github.com/cran/dfmta

Help Index


Phase I/II Adaptive Dose-Finding Design for MTA

Description

Phase I/II adaptive dose-finding design for single-agent Molecularly Targeted Agent (MTA), according to the paper "Phase I/II Dose-Finding Design for Molecularly Targeted Agent: Plateau Determination using Adaptive Randomization", Riviere Marie-Karelle et al. (2016) <doi:10.1177/0962280216631763>.

Details

The DESCRIPTION file:

Package: dfmta
Type: Package
Title: Phase I/II Adaptive Dose-Finding Design for MTA
Version: 1.7-6
Date: 2024-09-30
Authors@R: c(person(given = "Marie-Karelle", family = "Riviere", role = "aut"), person(given = "Jacques-Henri", family = "Jourdan", role = c("aut", "cre"), email = "[email protected]"))
Copyright: All files in src/CppBugs are copyright Whit Armstrong. All other files are copyright Institut de Recherches Internationales Servier and Institut national de la sante et de la recherche medicale.
Description: Phase I/II adaptive dose-finding design for single-agent Molecularly Targeted Agent (MTA), according to the paper "Phase I/II Dose-Finding Design for Molecularly Targeted Agent: Plateau Determination using Adaptive Randomization", Riviere Marie-Karelle et al. (2016) <doi:10.1177/0962280216631763>.
License: GPL-3
Depends: R (>= 3.4.0)
LinkingTo: RcppArmadillo (>= 0.7.100.3.1), BH (>= 1.55), RcppProgress (>= 0.2.1), Rcpp
NeedsCompilation: yes
Packaged: 2024-09-30 15:14:03 UTC; jjourdan
Author: Marie-Karelle Riviere [aut], Jacques-Henri Jourdan [aut, cre]
Maintainer: Jacques-Henri Jourdan <[email protected]>
Date/Publication: 2024-09-30 15:50:01 UTC
Repository: https://jhjourdan.r-universe.dev
RemoteUrl: https://github.com/cran/dfmta
RemoteRef: HEAD
RemoteSha: 9ff6c468195a87eaa09bba72ec56c1862d9208ee

Index of help topics:

dfmta-package           Phase I/II Adaptive Dose-Finding Design for MTA
mtaBin_next             Optimal dose determination for MTA with binary
                        outcomes
mtaBin_sim              Design Simulator for MTA with binary outcomes

Author(s)

Marie-Karelle Riviere [aut], Jacques-Henri Jourdan [aut, cre]

Maintainer: Jacques-Henri Jourdan <[email protected]>

References

Riviere, M-K., Yuan, Y., Jourdan, J-H., Dubois, F., and Zohar, S. Phase I/II Dose-Finding Design for Molecularly Targeted Agent: Plateau Determination using Adaptive Randomization.


Optimal dose determination for MTA with binary outcomes

Description

mtaBin_next is used to determine the next optimal dose to administer in a Phase I/II clinical trial for Molecularly Targeted Agent using the design proposed by Riviere et al. entitled "Phase I/II Dose-Finding Design for Molecularly Targeted Agent: Plateau Determination using Adaptive Randomization".

Usage

mtaBin_next(ngroups=1, group_cur=1, ndose, prior_tox, prior_eff, tox_max,
eff_min, cohort_start, cohort, final=FALSE, method="MTA-RA",
s_1=function(n_cur){0.2}, s_2=0.07,  group_pat, id_dose, toxicity, tite=TRUE,
efficacy, time_follow, time_eff, time_full, cycle, c_tox=0.90, c_eff=0.40,
seed = 8)

Arguments

ngroups

Number of groups for the dose-finding process leading to the recommendation of different dose levels. Several groups of efficacy (e.g. based on biomarker) sharing the same toxicity can be considered. The default value is set at 1.

group_cur

Group number for which the estimation and the optimal dose determination is required by the function. The default value is set at 1.

ndose

Number of dose levels.

prior_tox

A vector of initial guesses of toxicity probabilities associated with the doses. Must be of same length as ndose.

prior_eff

A vector of initial guesses of efficacy probabilities associated with the doses for group_cur. Must be of same length as ndose.

tox_max

Toxicity upper bound, i.e. maximum acceptable toxicity probability.

eff_min

Efficacy lower bound, i.e. minimum acceptable efficacy probability.

cohort_start

Cohort size for the start-up phase.

cohort

Cohort size for the model phase.

final

A boolean with value TRUE if the trial is finished and the recommended dose for further phases should be given, or FALSE (default value) if the dose determination is performed for the next cohort of patients.

method

A character string to specify the method for dose allocation (<=> plateau determination). The default method "MTA-RA" use adaptive randomization on posterior probabilities for the plateau location. Method based on difference in efficacy probabilities is specified by "MTA-PM".

s_1

A function depending on the number of patients included used for adaptive randomization in plateau determination, only used if the estimation method chosen is "MTA-RA". The default function is function(n_cur,n){0.2}.

s_2

Cutoff value for plateau determination, only used if the estimation method chosen is "MTA-PM". Can be seen as the minimal efficacy difference of practical importance. The default value is 0.07.

group_pat

A vector indicating the group number associated with each patient included in the trial.

id_dose

A vector indicating the dose levels administered to each patient included in the trial. Must be of same length as group_pat.

toxicity

A vector of observed toxicities (DLTs) for each patient included in the trial. Must be of same length as group_pat.

tite

A boolean indicating if the efficacy is considered as a time-to-event (default value TRUE), or if it is a binary outcome (FALSE).

efficacy

A vector of observed efficacies for each patient included in the trial. Must be of same length as group_pat. This argument is used/required only if tite=FALSE. The observed efficacies of patients belonging to other groups than group_cur should also be filled (although not used) in the same order as group_pat (NA can be put).

time_follow

A vector of follow-up times for each patient included in the trial. Must be of same length as group_pat. This argument is used/required only if tite=TRUE.

time_eff

A vector of times-to-efficacy for each patient included in the trial. If no efficacy was observed for a patient, must be filled with +Inf. Must be of same length as group_pat. This argument is used/required only if tite=TRUE.

time_full

Full follow-up time window. This argument is used only if tite=TRUE.

cycle

Minimum waiting time between two dose cohorts (usually a toxicity cycle). This argument is used only if tite=TRUE.

c_tox

Tocixity threshold for decision rules. The default value is set at 0.90.

c_eff

Efficacy threshold for decision rules. The default value is set at 0.40.

seed

Seed of the random number generator. Default value is set at 8.

Value

An object of class "mtaBin_next" is returned, consisting of determination of the next optimal dose level to administer and estimations. Objects generated by mtaBin_next contain at least the following components:

prior_tox

Prior toxicities.

prior_eff

Prior efficacies.

pat_incl_group

Number of patients included.

n_tox_tot

Number of observed toxicities.

pi

Estimated toxicity probabilities (if the start-up ended).

ptox_inf

Estimated probabilities that the toxicity probability is inferior to tox_max (if the start-up ended).

n_eff

Number of observed efficacies.

resp

Estimated efficacy probabilities (if the start-up ended).

1-qeff_inf

Estimated probabilities that the efficacy probability is superior to eff_min (if the start-up ended).

proba_tau

Posterior probabilities for the plateau location.

group_cur

Current Group for dose determination.

in_startup

Start-up phase is ended or not.

cdose

NEXT RECOMMENDED DOSE.

ngroups

Number of groups.

final

Maximim sample size reached.

method

Allocation method.

tox_max

Toxicity upper bound (if the start-up ended).

eff_min

Efficacy lower bound (if the start-up ended).

c_tox

Toxicity threshold (if the start-up ended).

c_eff

Efficacy threshold (if the start-up ended).

tite

Type of outcome for efficacy (time-to-event or binary).

time_full

If efficacy is a time-to-event, full follow-up time is also reminded.

cycle

If efficacy is a time-to-event, minimum waiting time between two dose cohorts (cycle) is also reminded.

Note

The "MTA-PM" method is not implemented for non-binary efficacy, as "MTA-RA" is recommended for general use.

Author(s)

Jacques-Henri Jourdan and Marie-Karelle Riviere-Jourdan [email protected]

References

Riviere, M-K., Yuan, Y., Jourdan, J-H., Dubois, F., and Zohar, S. Phase I/II Dose-Finding Design for Molecularly Targeted Agent: Plateau Determination using Adaptive Randomization.

See Also

mtaBin_sim.

Examples

prior_tox = c(0.02, 0.06, 0.12, 0.20, 0.30, 0.40)
prior_eff = c(0.12, 0.20, 0.30, 0.40, 0.50, 0.59)
group_pat_1 = rep(1,33)
id_dose_1 = c(1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,4,4,4,5,5,5,6,6,6,3,3,3,4,4,4,3,3,3)
tox_1 = c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0)
time_follow_1 = c(rep(7,30),6.8,5,3.5)
time_eff_1 = c(rep(+Inf,8),4,+Inf,+Inf,+Inf,3,6,+Inf,+Inf,2,+Inf,+Inf,4.5,+Inf,
+Inf,3.2,+Inf,+Inf,2.4,6.1,+Inf,5.8,+Inf,+Inf,2.1,3.6)
eff_2 = c(0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,1,0,0,1,1)
group_pat_3 = c(1,2,3,2,1,2,3,1,2,3,3,2,2,1,3,1,2,3,1,2,3,3,3,2,1,1,2,1,2,2)
id_dose_3 = c(1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,3,2,2,3,3,3,3,3,1,1,2,1,2,2)
toxicity_3 = c(0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0)
efficacy_3 = c(NA,0,NA,0,NA,1,NA,NA,0,NA,NA,1,0,NA,NA,NA,0,NA,NA,1,NA,NA,NA,
0,NA,NA,0,NA,1,1)
s_1=function(n_cur){0.2*(1-n_cur/60)}


# One group, time-to-event
mta1 = mtaBin_next(ngroups=1, group_cur=1, ndose=6, prior_tox=prior_tox,
       prior_eff=prior_eff, tox_max=0.35, eff_min=0.20, cohort_start=3,
       cohort=3, method="MTA-PM", group_pat=group_pat_1, id_dose=id_dose_1,
       toxicity=tox_1, tite=TRUE, time_follow=time_follow_1,
       time_eff=time_eff_1, time_full=7, cycle=3, c_tox=0.90, c_eff=0.40)
mta1

# One group, binary
mta2 = mtaBin_next(ngroups=1, group_cur=1, ndose=6, prior_tox=prior_tox,
       prior_eff=prior_eff, tox_max=0.35, eff_min=0.20, cohort_start=3,
       cohort=3, final = TRUE, method="MTA-RA", group_pat=group_pat_1,
       id_dose=id_dose_1, toxicity=tox_1, tite=FALSE, efficacy=eff_2,
       seed = 190714)
mta2

# Three groups, binary
mta3 = mtaBin_next(ngroups=3, group_cur=2, ndose=6, prior_tox=prior_tox,
       prior_eff=prior_eff, tox_max=0.35, eff_min=0.20, cohort_start=3,
       cohort=3, final = FALSE, s_1=s_1, group_pat=group_pat_3,
       id_dose=id_dose_3, toxicity=toxicity_3, tite=FALSE, efficacy=efficacy_3)
mta3


# Dummy example, running quickly
useless = mtaBin_next(ngroups=1, group_cur=1, ndose=4,
          prior_tox=c(0.12,0.20,0.30,0.40), prior_eff=c(0.20,0.30,0.40,0.50),
          tox_max=0.35, eff_min=0.20, cohort_start=3, cohort=3,
          group_pat=rep(1,9), id_dose=c(1,1,1,2,2,2,2,2,2),
          toxicity=c(0,0,0,1,0,0,0,0,0), efficacy=c(0,0,0,0,0,1,0,1,0), tite=FALSE)

Design Simulator for MTA with binary outcomes

Description

mtaBin_sim is used to generate simulation replicates of Phase I/II clinical trial for Molecularly Targeted Agent using the design proposed by Riviere et al. entitled "Phase I/II Dose-Finding Design for Molecularly Targeted Agent: Plateau Determination using Adaptive Randomization".

Usage

mtaBin_sim(ngroups=1, ndose, p_tox, p_eff, tox_max, eff_min, prior_tox,
prior_eff, poisson_rate=1, n, cohort_start=3, cohort=3, tite=TRUE, time_full,
method="MTA-RA", s_1=function(n_cur){0.2}, s_2=0.07, cycle, nsim, c_tox=0.90,
c_eff=0.40, seed=8, threads=0)

Arguments

ngroups

Number of groups for the dose-finding process leading to the recommendation of different dose levels. Several groups of efficacy (e.g. based on biomarker) sharing the same toxicity can be considered. The default value is set at 1.

ndose

Number of dose levels.

p_tox

A vector of the true toxicity probabilities associated with the doses.

p_eff

A vector (or matrix if several groups) of the true efficacy probabilities associated with the doses.

tox_max

Toxicity upper bound, i.e. maximum acceptable toxicity probability.

eff_min

Efficacy lower bound, i.e. minimum acceptable efficacy probability.

prior_tox

A vector of initial guesses of toxicity probabilities associated with the doses. Must be of same length as p_tox.

prior_eff

A vector (or matrix if several groups) of initial guesses of efficacy probabilities associated with the doses. Must be of same length as p_eff.

poisson_rate

(A Vector, if several groups, of the) Rate(s) for the Poisson process used to simulate patient arrival (for each group), i.e. expected number of arrivals per observation window. The default value is set at 1.

n

Total number of patients (per groups if several) to include in the dose-finding trial.

cohort_start

Cohort size for the start-up phase. The default value is set at 3.

cohort

Cohort size for the model phase. The default value is set at 3.

tite

A boolean indicating if the efficacy is considered as a time-to-event (default value TRUE), or if it is a binary outcome (FALSE).

time_full

Full follow-up time window. This argument is used only if tite=TRUE.

method

A character string to specify the method for dose allocation (<=> plateau determination). The default method "MTA-RA" use adaptive randomization on posterior probabilities for the plateau location. Method based on difference in efficacy probabilities is specified by "MTA-PM".

s_1

A function depending on the number of patients included used for adaptive randomization in plateau determination, only used if the estimation method chosen is "MTA-RA". The default function is function(n_cur){0.2}.

s_2

Cutoff for plateau determination, only used if the estimation method chosen is "MTA-PM". Can be seen as the minimal efficacy difference of practical importance. The default value is 0.07.

cycle

Minimum waiting time between two dose cohorts (usually a toxicity cycle). This argument is used only if tite=TRUE.

nsim

Number of simulations.

c_tox

Tocixity threshold for decision rules. The default value is set at 0.90.

c_eff

Efficacy threshold for decision rules. The default value is set at 0.40.

seed

Seed of the random number generator. Default value is set at 8.

threads

Number of threads to use to do the computations. If 0, it uses as many threads as available processors.

Value

An object of class "mtaBin_sim" is returned, consisting of the operating characteristics of the design specified. Objects generated by mtaBin_sim contain at least the following components:

p_tox

True toxicities.

p_eff

True efficacies (for each group).

prior_tox

Prior toxicities.

prior_eff

Prior efficacies (for each group).

rec_dose

Percentage of Selection (for each group).

n_pat_dose

Number of patients at each dose (for each group).

n_tox

Number of toxicities at each dose (for each group).

n_eff

Number of efficacies at each dose (for each group).

inconc

Percentage of inclusive trials (for each group).

method

Allocation method.

nsim

Number of simulations.

n_pat_tot

Total patients accrued.

tox_max

Toxicity upper bound.

eff_min

Efficacy lower bound.

poisson_rate

Rate for Poisson process.

c_tox

Toxicity threshold.

c_eff

Efficacy threshold.

cohort_start

Cohort size start-up phase.

cohort

Cohort size model phase.

tite

Type of outcome for efficacy (time-to-event or binary).

time_full

If efficacy is a time-to-event, full follow-up time is also reminded.

cycle

If efficacy is a time-to-event, minimum waiting time between two dose cohorts (cycle) is also reminded.

duration

If efficacy is a time-to-event, trial mean duration is also returned.

Note

The "MTA-PM" method is not implemented for non-binary efficacy, as "MTA-RA" is recommended for general use.

Author(s)

Jacques-Henri Jourdan and Marie-Karelle Riviere-Jourdan [email protected]

References

Riviere, M-K., Yuan, Y., Jourdan, J-H., Dubois, F., and Zohar, S. Phase I/II Dose-Finding Design for Molecularly Targeted Agent: Plateau Determination using Adaptive Randomization.

See Also

mtaBin_next.

Examples

p_tox_sc1 = c(0.005, 0.01, 0.02, 0.05, 0.10, 0.15)
p_eff_sc1_g1 = c(0.01, 0.10, 0.30, 0.50, 0.80, 0.80)
p_tox_sc2 = c(0.01, 0.05, 0.10, 0.25, 0.50, 0.70)
p_eff_sc2_g2 = matrix(c(0.40, 0.01, 0.40, 0.02, 0.40, 0.05, 0.40, 0.10, 0.40,
0.35, 0.40, 0.55), nrow=2)
prior_tox = c(0.02, 0.06, 0.12, 0.20, 0.30, 0.40)
prior_eff = c(0.12, 0.20, 0.30, 0.40, 0.50, 0.59)
prior_eff2 = rbind(prior_eff, prior_eff)
s_1=function(n_cur){0.2}
n=60


# With only one group and efficacy as time-to-event
sim1 = mtaBin_sim(ngroups=1, ndose=6, p_tox= p_tox_sc1, p_eff= p_eff_sc1_g1,
       tox_max=0.35, eff_min=0.20, prior_tox=prior_tox, prior_eff= prior_eff,
       poisson_rate=0.28, n=60, cohort_start=3, cohort=3, tite=TRUE,
       time_full=7, cycle=3, nsim=1)
sim1

# With only one group and efficacy binary
sim2 = mtaBin_sim(ngroups=1, ndose=6, p_tox= p_tox_sc1, p_eff= p_eff_sc1_g1,
       tox_max=0.35, eff_min=0.20, prior_tox=prior_tox, prior_eff= prior_eff,
       n=n, cohort_start=3, cohort=3, tite=FALSE, method="MTA-RA",
       s_1=function(n_cur){0.2*(1-n_cur/n)}, nsim=1)
sim2

# With only two groups and efficacy as time-to-event
sim3 = mtaBin_sim(ngroups=2, ndose=6, p_tox= p_tox_sc2, p_eff= p_eff_sc2_g2,
               tox_max=0.35, eff_min=0.20, prior_tox=prior_tox,
               prior_eff= prior_eff2, poisson_rate=c(0.40,0.25) , n=60,
               cohort_start=3, cohort=3, tite=TRUE, time_full=7,
               method="MTA-PM", s_2=0.07, cycle=3, nsim=1, c_tox=0.90,
               c_eff=0.40)
sim3