Abstract
Background:
Phase I and/or I/II oncology trials are conducted to find the maximum tolerated dose (MTD) and/or optimal biological dose (OBD) of a new drug or treatment. In these trials, for cytotoxic agents, the primary aim of the single-agent or drug-combination is to find the MTD with a certain target toxicity rate, while for the cytostatic agents, a more appropriate target is the OBD, which is often defined by considering of toxicity and efficacy simultaneously. Accessible software packages to achieve both these aims are needed.
Results:
The objective of this study is to develop a software package that can provide tools for both MTD- and OBD-finding trials, which implements the Keyboard design for single-agent MTD-finding trials as reported by Yan et al. (2017), the Keyboard design for drug-combination MTD-finding trials by Pan et al. (2020), and a phase I/II OBD-finding method by Li et al. (2017) in a single R package, called Keyboard. For each of the designs, the Keyboard package provides corresponding functions such as get.boundary () for deriving the optimal dose escalation and de-escalation boundaries, select.mtd () for selecting the MTD when the trial is completed, select.obd () for selecting the OBD at the end of a trial, and get.oc () for generating the operating characteristics.
Conclusion:
The Keyboard R package developed herein provides convenient tools for designing, conducting and analyzing single-agent, drug-combination, phase I/II OBD-finding trials.
Keywords: Maximum tolerated dose, Optimal biological dose, Dose-finding, Phase I/II trials, Bayesian adaptive design
1. Introduction
Phase I dose-finding clinical trials are critical in new drug/treatment development because they determine the dose that will be further investigated in the subsequent phase II or III trials. For the cytotoxic agent, one of the primary objectives is to find the maximum tolerated dose (MTD), which is defined as the highest dose that has a dose-limiting toxicity (DLT) rate less than or close to a prespecified target rate. The identified MTD will then be examined in later phases, e.g., phase II clinical trials. Statistical methods for the single-agent MTD-finding designs include algorithm-based designs, such as the 3 + 3 design [1], and the biased-coin design [2], [3], [4], the model-based designs, such as the continual reassessment method (CRM) [5], [6], and model-assisted designs, such as mTPI [7], BOIN [8], and Keyboard [9] designs.
It should be noted that all the above methods were developed for the cytotoxic agent to identify the MTD. Cytotoxic drug development, however, rests on the premise that agents must be cytotoxic to be effective. By equating efficacy with toxicity, the traditional drug development, and progressing from phase I through phase III clinical studies, has allowed us to find the highest effective dose that does not induce intolerable levels of toxicity. This essentially justifies the goal of finding the MTD for phase I dose-finding trials. This assumption, while reasonable for cytotoxic agents, however, may not hold true for cytostatic or molecularly targeted agents. For example, the chimeric antigen receptor (CAR) therapies require a balance of a boosting of the immune system to combat cancer while avoiding over-stimulation. In this case, preliminary dose exploration should aim to capture effective biological activity rather than DLT alone. Therefore, the optimal biological dose (OBD), which usually refers to a safe dose with acceptable efficacy is more appropriate than the MTD since it considers both the toxicity and efficacy. In the literature, the associated methods for finding OBD are termed as phase I/II dose-finding designs. These include many designs, for example, the model-based methods [10], [11], [12], [13], [14] and model-assisted methods [15], [16], [17], [18], [19], [20]. In addition to these designs, Li et al. [15] proposed a toxicity and efficacy probability interval (TEPI) design, which was shown to have desirable operating characteristics and was simple and transparent to practitioners with a physician-elicited decision table that maps the two-dimensional probability intervals to a set of dosing decisions. The Keyboard package develops multiple R functions to implement this design since the method behind this design is also interval based which is the core of the Keyboard design. Noted that recently another method uTPI has been proposed [20], which uses approaches similar to that for the TEPI design [15]. Since the uTPI has provided the R code in their paper, we are not incorporating this method into the Keyboard package.
In modern clinical trials, it is common to treat patients with a combination of agents. This is especially true in case of cancer patients, as they are more effective and less susceptible to drug resistance than those undergoing single-agent trials. Trial designs for drug-combination studies involve several distinct features that are beyond the scope of the methods for single-agent studies. A major challenge in designing combination trials is that dose combinations are only partially ordered in terms of toxicity probability. For instance, consider a trial combining doses of agent A and doses of agent B, that is, we now have an dose matrix. A major challenge in designing combination trials is that dose combinations are only partially ordered in terms of toxicity probability. That is, a priori, we cannot fully rank the dose matrix from low to high based on their toxicity probabilities. Various designs have been proposed for the drug-combination MTD-finding trials: a design based on the order of the restricted inference [4], a copula-type regression model [19], latent contingency tables [20], the partial order CRM method (POCRM) [21], the sequential dose-finding strategy [22], [23], a Bayesian optimal interval design [24], the Keyboard combination design [25], and Bayesian data augmentation for late-onset toxicity [26], among others. The Keyboard package implements the Keyboard combination design proposed by Pan et al. [25].
In summary, we have developed an R package, Keyboard, that includes three methods [9], [15], [25] for practitioners and these methods can be easily accessed. All these methods use the Bayesian interval-based method, which is the underlying theoretical basis for the Keyboard design. Therefore, we will incorporate these three methods in one package.
The paper is organized as follows. We will first concisely introduce the three designs, Keyboard single-agent method [9], Keyboard combination design [25], and Keyboard phase I/II design [15] in Section 2. Section 3 gives three exemplary trials and demonstrates how to use the Keyboard package to design trials for single-agent, drug combinations of MTD- or OBD-dose finding. Section 4 gives the conclusion. The appendix provides detailed step-by-step implementations of these methods using the Keyboard R package.
2. Material and methods
2.1. Design for the MTD dose-finding single-agent trials
The design of this package for the single-agent MTD-finding was proposed by Yan et al. [9], and its theoretical properties were further explored by Pan et al. [25]. We have termed this as the single-agent Keyboard design, or simply, the Keyboard design. This design uses the toxicity probability’s posterior distribution to guide dose transitions. To decide whether to escalate or de-escalate the dose, by using the Keyboard design, we first need to specify a target key, which is an equivalence interval also used in the mTPI design, and then identify the strongest key, which is defined as the interval with the maximum posterior probability in terms of the toxicity rate, based on the current information. If the strongest key is to the left of the target key, we escalate the dose because data suggest that current dose is likely to be low. If the strongest key is to the right of the target key, then we de-escalate the dose because the observed data suggest that the current dose is likely to be over-toxic, and if the strongest key is the target key, then we stay at the current dose because the observed data support the notion that the current dose is likely to be in the right dose interval (See Fig. 1).
Fig. 1.
Dose transition schema of the Keyboard design.
Let be the target toxicity rate specified by the investigator and denote the toxicity probability of dose level . refers to the number of patients treated at dose , and is the number of patients with DLT among the treated patients. In this case, data can be denoted as . The beta-binomial model is used in the Keyboard design: , . Given , posterior distribution of the toxicity rate at dose is . Here we denote the target key as , with and being small positive values, for instance, both are 0.05. Then, a unit probability interval of [0,1] can be partitioned into a series of equally-wide keys/intervals, denoted by . To decide whether to escalate or de-escalate the dose, the Keyboard design calculates the strongest key :
Dose-transition rules for the Keyboard design are as follows:
-
•
If , is most likely to be overdosing, de-escalation to a lower dose will be applied.
-
•
If , is most likely to be underdosing, escalation to a higher dose will be applied.
-
•
If , is most likely to be the proper dose, stay at the current dose will be applied.
A desirable feature of the Keyboard design is that the dose-transition rules can be provided before the start of the trial and no real-time computation is required during the trial. Practitioners only need the total number of patients and number of patients experiencing DLT at various dose levels to make the dose-transition rules. Table 1 below presents an example.
Table 1.
Pre-tabulated decision rules of the Keyboard design for single-agent .
| Number of patients treated at the current dose |
||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | |
| with the target key = (0.17, 0.23) | ||||||||||||||||
| Escalate if number of DLTs | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 |
| De-escalate if number of DLTs | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 4 | 4 | 4 |
| with the target key=(0.25, 0.35) | ||||||||||||||||
| Escalate if number of DLTs | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 |
| De-escalate if number of DLTs | 1 | 1 | 2 | 2 | 2 | 3 | 3 | 3 | 4 | 4 | 4 | 5 | 5 | 5 | 6 | 6 |
For the safety of patients, in practice, the following safety rules are applied to the Keyboard design:
-
•
(i) If and %, we eliminate the current dose and any higher doses from the trial to avoid exposing future patients to unacceptably toxic doses.
-
•
(ii) If current dose is the lowest dose in (i), the trial is terminated and no dose is selected as the MTD.
2.2. Keyboard design for drug-combination phase I dose-finding trials
Recent advances in drug discovery have intensified the interest in using dual agents in phase I clinical trials. The design and conduct of the phase 1 combination trial present specific challenges. A fundamental assumption for cytotoxic/biologic agents is monotonicity between toxicity and doses, For single agents, this assumption induces a complete ordering of the doses. However, in the case of drug combination treatment where the two agents are allowed to vary, it induces a partial ordering constraint on the probabilities of toxicities (see Fig. 2). The monotonicity assumption coupled with the small sample size in phase I clinical trials and higher dimension of the dose space, makes the design of combination trials challenging [25], [27].
Fig. 2.

Two dimensional drug-combination trial.
Herein, we list some of the proposed combination designs in literature [12], [20], [25], [27]. Among these methods, the Keyboard combination design proposed by Pan et al. [25] is one method that has empirically and theoretically demonstrated to have desirable properties.
Let be the toxicity probability of the dual agents agent at level and agent B at level , be the number of patients treated at the dose combination and be the number of patients who experienced DLT at the dose combination .
The algorithm of the Keyboard combination design is given as below:
-
Step 1.
Treat the first cohort of patients at the dose combination (1, 1) or a specified dose combination.
-
Step 2.At the dose combination , given the observed data , find the strongest key based on the updated posterior distribution of :
-
•If , then we escalate the dose.
-
•If , then we deescalate the dose.
-
•Otherwise, if , then we stay at the current dose.
-
•
-
Step 3.
Continue this process until the pre-specified maximum sample size is achieved.
Note: Here, means that is at the left (right) of the , and means that the two intervals overlap.
However, in the above algorithm, it is not clear how to decide to escalate/de-escalate, since for combination trials with dual-agents, if the decision is, for example, to escalate, there exist more than one directions. For example, we can escalate only agent , only agent , or both simultaneously.
The Keyboard design uses the admissible dose escalation/ de-escalation sets to derive the dose-transition path explicitly. The admissible sets are defined as:
and
For instance, means that escalation can be only allowed to move agent A from to , or move agent B from to . That is, diagonal movement is prohibited in escalation/de-escalation in if there are safety concerns. The admissible set can be interpreted similarly.
The dose-transition algorithm is then given as follows:
-
•
Escalation: Escalate to the dose combination that belongs to and has the highest value of where .
-
•
De-escalation: De-escalate to the dose combination that belongs to and has the highest value of where .
If there are multiple optimal dose combinations with the same value of , we will randomly choose one. The trial is completed when the maximum sample size is reached. After seeing all observed data at the completion of the trial, the matrix isotonic regression will be used to obtain the estimates of ’s value and select the MTD as the combination with a estimated toxicity probability that is closest to the target. The same set of safety rules for the single-agent Keyboard design are also used here.
2.3. Design for the single-agent OBD-finding trials
Traditionally, the purpose of having a phase I dose-finding design in cancer has been to find the MTD based solely on the toxicity and traditional designs considering the DLT data implicitly assumes a monotonically increasing relationship between dose and response efficacy. Monotone efficacy may be a reasonable assumption for cytotoxic agents. However, for molecular targeted agents, little toxicity may arise within the therapeutic dose range and the dose–response curves may not be strictly monotone. This challenges the conventional principle of more is better. Instead, the OBD, which is defined as the lowest dose with the highest rate of efficacy while safe, is a more appropriate endpoint. A study by Corbaux et al. [28] showed that the dose approved by the Food and Drug Administration (FDA) is consistent with an OBD of 83% of drugs in a total of 87 completed trials for evaluating molecular targeted agents.
Li et al. [15] proposed a TEPI phase I design for finding the OBD. This approach incorporates efficacy outcomes to inform dosing decisions to optimize efficacy and safety simultaneously, with the purpose of finding the dose with the most desirable outcome for safety and efficacy. The key features of TEPI are its simplicity, flexibility, and transparency, because all decision rules can be prespecified prior to trial initiation.
Assume that there are doses in a trial. We still assume that the toxicity probability increases with dose level . However, the efficacy probability may increase initially and then reach a plateau from which minimal improvement or even decreasing efficacy may be seen with increasing dose. For this reason, is assumed to be not monotone with . In the TEPI design, and are assumed to be independent for simplicity. Suppose that the current dose is , number of patients treated at this dose level is , number of patients who experienced toxicity is , and the number of responses is . The trial data can be represented as .
Similar to Keyboard design in Section 2.1, in TEPI design, we partition the unit intervals for and into subintervals by using and as generic subintervals in the partition for and respectively. The interval combination (a, b) (c, d) forms the basis for dose-finding decisions. A dose-finding decision table should firstly be elicited by investigators for all interval combinations. Li et al. call this a “preset table” for the TEPI design, which is fixed and elicited prior to the trial. An example of such a two-dimensional table is given in Table 2. We can see from this table there are four subintervals for toxicity (rows) and efficacy (columns), the intersection of which forms sixteen interval combinations. Each of the 16 combinations corresponds to a specific decision. Decision “E” denotes escalation (i.e., treating the next cohort of patients at the next higher dose). Decision “S” denotes staying at the current dose for treating the next cohort of patients. Decision “D” denotes de-escalation (i.e., treating the next cohort of patients at the next lower dose). These reflect the practical clinical actions needed when a particular combination of toxicity and efficacy data are observed at a certain dose level. For example, Table 2 shows that the interval combination for and corresponds to an action of “E”-escalation. This means that if the observed toxicity rate for a dose falls in (0.15, 0.25) and the observed efficacy rate is in (0, 0.25) with a high probability, the next patient cohort would be recommended to be treated at the next higher dose level. In order to formulate this table, we should have determined the following: (i) the maximum tolerated toxicity rate, , and (ii) the minimum acceptable efficacy rate, , at which the clinician is willing to treat future patients at the current dose level but should not be lower. For example, in Table 2, the values elicited by the clinical team for this trial are based on and .
Table 2.
An example of a pre-specified decision table for the OBD-finding design.
| Efficacy.low | Efficacy.moderate | Efficacy.high | Efficacy.superb | ||
|---|---|---|---|---|---|
| (0,0.25) | (0.25,0.45) | (0.45,0.65) | (0.65,1) | ||
| Toxicity.low | (0,0.15) | E | E | E | E |
| Toxicity.moderate | (0.15,0.25) | E | E | E | S |
| Toxicity.high | (0.25,0.35) | D | S | S | S |
| Toxicity.unacceptable | (0.35,1.0) | D | D | D | D |
Based on the preset table, Li et al. proposed a “local” decision-theoretic framework and derived a Bayes rule, which is equivalent to computing the joint unit probability mass (JUPM) for the TEPI. For a given region A, the JUPM is defined as the ratio of probability of the region versus the size of the region . Considering the two-dimensional unit square , the JUPM for each interval combination is
Here, is the posterior probability of and falling in the subinterval (a,b) and (c,d). Assume the priors for both and follow independent beta distributions and independently. The posterior distributions for and are and . Using these posterior distributions to update the JUPMs for all sixteen combination rectangular areas, we can find the highest JUPM value and its corresponding combination rectangular area (a*, b*) and (c*, d*), which can be used to guide the dose-transition to treat the next cohort of patients.
The basic dose-finding concept of TEPI is as follows. We assume that the current patient cohort is treated at dose . After the current cohort completes DLT and response evaluation, we compute the JUPMs for all the interval combinations in Table 2 . The TEPI design recommends “E”, ”S”, or “D” corresponding to the combination with the highest JUPM value. Because for a given trial there are a finite number of possible toxicity and efficacy outcomes as binomial counts, for any toxicity and efficacy counts that can be observed in the trial, the TEPI dose-finding decisions can be precalculated. For example, if given the current computation, the combination rectangular area (0.15,0.25) (0.25,0.45) has the largest JUPM, in Table 2, the corresponding decision is “E”, that is, then we should escalate the dose.
To address ethical constraints, the Safety rule and futility rule are used as shown below.
-
•
Safety rule: If for a close to 1 (say, 0.95), exclude dose from future use for this trial (i.e., these doses will never be tested again in the trial) and the next cohort of patients will be treated at dose . This corresponds to a dosing action of “” to de-escalate due to unacceptably high toxicity.
-
•
Futility rules: If for a small (say 0.3), then exclude dose from future use in the trial. This corresponds to a dosing action of “” - escalate and never return due to unacceptable low efficacy – or “” – de-escalate and never return this dose due to unacceptable low efficacy.
A dose level is considered “available” if it satisfies both the safety and futility rules. Only these doses can be used to treat subsequent patients.
At the end of the trial, we select the most desirable dose based on a utility score to balance between the toxicity and efficacy tradeoff. Utility-based decision criteria have been adopted widely in recent dose-finding trials An elicited utility function for safety and efficacy should be constructed based on and by discussing with clinicians. In the developed Keyboard package, we provide the following three utility function options.
The first utility function is a function of the toxicity and the efficacy , where and denote the toxicity and efficacy rate. Both and are truncated linear functions, given by
| (1) |
| (2) |
where the ’s and ’s are prespecified cutoff values. From the above, we can see that utility is 1 if , and 0 if , and linearly decreasing with if . Utility is set in a similar manner.
By assuming that the toxicity and efficacy are independent, the utility function that quantifies the benefit-risk trade-off at the current dose that is defined as follows:
| (3) |
For each dose , we can use a numerical approximation approach to compute the posterior expected utility, . For example, we can generate a total of random samples from the posterior distributions. For each sample , we generate and as a random sample of probabilities of toxicity and efficacy, respectively. We perform the isotonic transformation on to obtain , where if , which ensures the non-decreasing toxicity with the increased dose. For each dose , based on the samples and , the corresponding utility score is . Thus, the estimated posterior expected utility is given by .
Finally, the selected the optimal dose is given by
Another utility function depends on a marginal toxicity probability and a marginal efficacy probability , which is defined as follows:
| (4) |
where, is a pre-specified weight. This trade-off function describes how many patients are willing to trade an increase of in the DLT rate for a unit increase in the efficacy rate. If 0, we have a special case in which the dose with the highest efficacy is the most desirable.
The third utility function also depends on the marginal toxicity probability and the efficacy probability , but it puts an additional penalty for over-toxicity and is defined as follows:
| (5) |
where and are pre-specified weights, is an indicator function, and is a pre-specified toxicity threshold deemed of substantial concern and can be chosen as the target toxicity rate. Compared to the above second utility function of (4), this trade-off function is more flexible and allows for imposing a higher penalty (i.e., ) when the true DLT rate exceeds the threshold .
Once the utility score is computed for all the doses, then the OBD can be identified by:
3. Trial examples
In this section, we demonstrate how to design various phase I dose-finding trials with examples. Detailed steps of how to implement the Keyboard R package are included in Appendix.
3.1. Single-agent phase I trial
Consider a single-agent phase I trial with five dose levels, in which the objective is to find the MTD with a target DLT rate of 0.3. The maximum sample size is 30 patients with a cohort size of 3. To design and conduct this trial, we first use the function get.boundary.kb(target = 0.3, ncohort = 10, cohortsize = 3) to yield the dose escalation and de-escalation decision rules shown in Table 3.
Table 3.
Dose escalation and de-escalation rules for the Keyboard design .
| Number of patients treated |
||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 | 30 | |
| Escalate if number of DLT | 0 | 1 | 2 | 2 | 3 | 4 | 5 | 5 | 6 | 7 |
| De-escalate if number of DLT | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| Eliminate if number of DLT | 3 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | 12 | 14 |
If we assume that the trial starts by treating the first cohort of three patients at dose 1, based on Table 3, none of the patients have the DLT (0/3). Therefore, we should escalate to dose 2 to treat the next cohort of patients. If at dose level 2, none of the patients experience the DLT (0/3), we should escalate to dose 3. If at dose level 3, two of three patients experience the DLT (2/3), based on Table 3, we should de-escalate from dose 3 to dose 2. Note that as of now, 6 patients will be treated at dose 2. If one of the patients among these six has DLT (1/6), we will escalate to dose 3 again. Currently, we have 6 patients at dose 3. If among these 3 newly enrolled patients, none has DLT, that is, at dose 3, there are a total of 2 DLTs among 6 (2/6), based on Table 3, we should stay. That is, we continue to treat the next cohort of patients at dose 3. Note that the number of patients at dose 3 will finally be 9 in total. This process will continue to make dose transitions until exhausting the maximum sample size or meeting early stopping criteria. In Fig. 3, we show the complete path of dose-transition from this trial.
Fig. 3.
Dose-transition path of a single-agent phase I dose-finding trial using the Keyboard design.
Upon finishing the trial, we would have selected the MTD. We assume that the observed number of patients and DLTs across five doses are n = c(3, 6, 12, 3, 0) and y = c(0, 1, 3, 2, 0), respectively, that is, this study finally stopped with a total of sample size 24 instead of 30 pre-planned in the protocol. We can use the function select.mtd.kb(target = 0.3, ntox = y, npts = n), which recommends dose 3 as the MTD, with an estimated DLT rate of 25.0% with 95% CI of (6%, 52%).
3.2. Drug-combination trial
Consider a drug-combination trial, there are 3 doses for agent A and 5 doses for agent B. The objective is to find the MTD with a target DLT rate of 0.3. The maximum sample size is 30 patients, treated in cohorts with the size of 3. We assume that the trial starts by treating the first cohort of 3 patients at the lowest dose combination (1,1), which means dose level 1 is combination of agent A and B. If no DLT was observed, the observed data can be described in the following matrices.
where records the number of patients treated at each dose combination, and records the number of patients who experience DLT at each dose combination. In matrices and , each entry records the observed data associated with combination .
To determine the dose for the second cohort of patients, we use the function next.comb.kb(target = 0.3, npts = n, ntox = y, dose.curr = c(1, 1)), which recommends escalating the dose to combination (2,1). If after treating the second cohort of patients, none experiences the DLT, the updated data matrices are
To determine the dose f or the third cohort of patients, we use next.comb.kb(target = 0.3, npts = n, ntox = y, dose.curr = c(2,1)) with updated y, n and dose.curr and recommends escalating the dose from (2,1) to (3,1) to treat the third cohort of patients. We repeat this procedure until the maximum sample size was reached. Fig. 4 shows the dose assignments path for all 30 patients. For example, at dose combination (3,2), there were 0 DLTs; the function recommends escalating the dose to combination (3,3). When the trial is completed, the number of patients treated at each dose combination and the corresponding number of patients who experienced toxicity at each dose combination are
Fig. 4.
Illustration of a 3 × 5 combination trial with the cohort size of three to find the MTD. Open circle indicates patients without the DLT, and solid circle denotes patients with the DLT.
We use the function select.mtd.comb.kb(target = 0.3, npts = n, ntox = y), which recommends the dose combination (3, 3) as the MTD.
3.3. Phase I/II trial to find the optimal biological dose (OBD)
Consider a single-agent phase I trial with five dose levels, the primary objective is to find the OBD. The maximum sample size is 30 patients, treated in cohorts with the size of 3. Clinical team determines that the maximum tolerated toxicity rate is 0.20 and the minimum acceptable efficacy rate is 0.40.
To design and show how to conduct this trial, we use the following function in the first place to set up the “preset table” shown in Table 2 . Partial outputs of decision rules are presented in Table 4, which can be generated by executing the following code.
Table 4.
Dose escalation and de-escalation table for the phase I/II OBD-finding design (partial outputs).
| N | T | R | Decision | |
|---|---|---|---|---|
| 1 | 3 | 0 | 0 | EUE |
| 2 | 3 | 0 | 1 | E |
| 3 | 3 | 0 | 2 | E |
| 4 | 3 | 0 | 3 | E |
| 5 | 3 | 1 | 0 | DUE |
| 6 | 3 | 1 | 1 | S |
| 7 | 3 | 1 | 2 | S |
| 8 | 3 | 1 | 3 | S |
| 9 | 3 | 2 | 0 | DUE |
| 10 | 3 | 2 | 1 | D |
| 11 | 3 | 2 | 2 | D |
| 12 | 3 | 2 | 3 | D |
| 13 | 3 | 3 | 0 | DUT |
| 14 | 3 | 3 | 1 | DUT |
| 15 | 3 | 3 | 2 | DUT |
| 16 | 3 | 3 | 3 | DUT |
| 17 | 6 | 0 | 0 | EUE |
| 18 | 6 | 0 | 1 | EUE |
| 19 | 6 | 0 | 2 | E |
| 20 | 6 | 0 | 3 | E |
| 21 | 6 | 0 | 4 | E |
| 22 | 6 | 0 | 5 | E |
| 23 | 6 | 0 | 6 | E |
| 24 | 6 | 1 | 0 | EUE |
| 25 | 6 | 1 | 1 | EUE |
| 26 | 6 | 1 | 2 | E |
| 27 | 6 | 1 | 3 | E |
| 28 | 6 | 1 | 4 | E |
| 29 | 6 | 1 | 5 | S |
| 30 | 6 | 1 | 6 | S |
| 31 | 6 | 2 | 0 | DUE |
| 32 | 6 | 2 | 1 | DUE |
| 33 | 6 | 2 | 2 | S |
| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |
| 99 | 9 | 3 | 3 | S |
| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |
| 210 | 12 | 3 | 5 | S |
| ⋮ | ⋮ | ⋮ | ⋮ | ⋮ |
To show how to use the above decision table, for example, if a trial starts by treating the first cohort of 3 patients at dose level 1 with none of the patients having the DLT and one patient showing response, according to the second row - (N 3, T 0, R 1), the ‘Decision’ is ’E”, that is, we should escalate the dose to level 2 to treat the second cohort of 3 patients. We also can run the function decision.finding(out.matrix = output.matrix, n = 3, t = 0,r = 1) to guide the next recommend dose level.
If currently at dose 2, one of three patients experienced DLT and two have responses, by using the decision table of looking at the sixth row - (N 3, T 1, R 1) or by using the command decision.finding(out.matrix = output.matrix, n = 3, t = 1,r = 1), the ‘Decision’ is ‘S’, that is, to continue to treat the next cohort of patients at dose 2. If at dose 2, among the newly enrolled three patients, none has the DLT and one has the responses, that is, currently, (N 6, T 1, R 2), the ‘Decision’ is ‘E’, that is, we should escalate to treat next cohort of patients at dose 3. We repeat this process until maximum sample size reached or stopping rules are satisfied. The complete dose-transition path is shown in Fig. 5.
Fig. 5.
Illustration of a single-agent phase I/II trial for finding the optimal biology dose (OBD).
For the above trial path plot, we can see that, at the end of the trial, at dose 1, there were 3 patients with 0 DLT and 1 responses, at dose 2, there were 6 patients with 1 DLT and 2 responses, at dose 3, there were 12 patients with 3 DLTs and 5 responses, and at dose 4, there were 3 patients with 2 DLTs and 2 responses. These numbers can be in the format of n = c(3,6,12,3,0), and t = c(0,1,3,2,0), and r = c(1,2,5,2,0) and we use function select.obd.kb(target.toxicity = 0.2, target,efficacy = 0.4, npts = n,ntox = t, neff=r) to select the OBD. The recommended dose level using utility functions of (3) as an example is dose 3.
4. Conclusion
In this paper, we review three interval-based Bayesian design methods, the keyboard single- and dual-agent phase I dose-finding design for the MTD and the TEPI design for identifying the OBD. These designs have been demonstrated to have desirable performances and their usages are simple and transparent due to pre-tabulated decision tables. We developed an R package Keyboard, which can assist practitioners to design, conduct, and analyze trials by using these methods. We also use examples to demonstrate how to use this package and step-by-step codes are included in Appendix.
5. Availability and requirements
Project name: Keyboard
Project home page:
https://cran.r-project.org/web/packages/Keyboard/index.html
Operating system(s): Platform independent
Programming language: R
Other requirements: R 3.4.0 or above
License: GPL-2
Any restrictions to use by non-academics: none
6. Abbreviations
MTD: maximum tolerated dose; OBD: optimal biological dose; DLT: dose-limiting toxicity; CRM: continual reassessment method; TEPI: toxicity and efficacy probability interval; JUPM: joint unit probability mass; BOIN: Bayesian optimal interval design.
Funding
Cheng’s work was partially supported by NIH/NCI cancer Center Support Grant, United States of America CA21765. Li’s work was partially supported by National Natural Science Foundation of China Grant 82273728. Pan, Tang, Sun, and Cheng’s work were partially supported by American Lebanese Syrian Associated Charities (ALSAC), United States of America .
Declaration of Competing Interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Acknowledgments
We thank the editor and two anonymous reviewers for their constructive comments, which helped us to improve the manuscript. We also thank Dr. Vani Shanker for scientific editing of this manuscript.
Contributor Information
Li Tang, Email: li.tang@stjude.org.
Haitao Pan, Email: haitao.pan@stjude.org.
Appendix.
R package Keyboard contains functions that implement the designs introduced in the main paper. In this Appendix, we show how to implement these methods step-by-step by using the Keyboard R package. We firstly list the corresponding functions for the three design methods introduced in the main paper in the following.
Single-agent MTD-finding design
-
•
get.boundary.kb(): This function is used to generate the optimal dose-escalation and de-escalation boundaries for conducting a single-agent trial with the Keyboard design.
-
•
select.mtd.kb(): This function is used to select the MTD after the single-agent trial is completed.
-
•
get.oc.kb(): This function is used to generate the operating characteristics of the Keyboard design for single-agent trials.
Drug-combination MTD-finding design
-
•
get.boundary.comb.kb(): This function is used to generate the optimal dose escalation and de-escalation boundaries for conducting a drug-combination trial with the Keyboard design.
-
•
next.comb.kb(): This function is used to determine the dose combination for the next cohort of patients in drug-combination trials that aim to find one MTD.
-
•
select.mtd.comb.kb(): This function is used to select the MTD after the drug-combination trial is completed.
-
•
get.oc.comb.kb(): This function is used to generate the operating characteristics of the Keyboard design for drug- combination trials.
Phase I/II trial OBD-finding design
-
•
get.decision.obd.kb(): This function is used to generate the boundary table and decision matrix for single-agent phase I/II trials designed to find the OBD.
-
•
select.obd.kb(): This function is used to select the OBD at the end of a trial.
-
•
get.oc.obd.kb(): This function is used to generate operating characteristics.
Phase I/II trial-automatically generating decision tables
Different from the above, the following functions do not rely on pre-specified decision tables (Details and example are introduced shortly).
-
•
get.decision.obd2.kb(): This function is used to provide the boundary table and decision matrix for the phase I/II trials automatically.
-
•
select.obd.kb(): This function is used to select the optimal biological dose (OBD) at the end of a single-agent phase I/II trial.
-
•
get.oc.obd2.kb(): This function is used to generate the operating characteristics, and the decision tables is generated automatically.
A.1. Phase I dose-finding trial with a single agent
To design a phase I dose-finding trial with a single agent, we can use the function get.boundary.kb() to obtain the dose escalation and de-escalation boundaries. This function has the following arguments:
-
•
target The target dose-limiting toxicity (DLT) rate.
-
•
ncohort The total number of cohorts.
-
•
cohortsize The number of patients in the cohort.
-
•
marginL The difference between the target and the lower bound of the “target key” (proper dosing interval) to be defined — the default value is 0.05.
-
•
marginR The difference between the target and the upper bound of the “target key” (proper dosing interval) to be defined — the default value is 0.05.
-
•
n.earlystop The early stopping parameter. If the number of patients treated at the current dose reaches n.earlystop, then stop the trial and select the MTD based on the observed data.
-
•
cutoff.eli The cutoff value to eliminate the over-toxic dose and all higher doses for safety — the default value is 0.95.
-
•
extrasafe Set extrasafe = TRUE to impose a stricter stopping rule for extra safety, expressed as the stopping boundary value in the result.
For the extrasafe, it means that a dose will be eliminated due to toxicity if cutoff.eli - offset. For instance, the default value offset = 0.05.
Here we show an example. Assuming we want to conduct a phase I trial with dose levels and the target toxicity rate of . The maximum sample size is 30 patients, and patients are treated in cohorts of size 3. Using the default values of marginL, marginR, and cutoff.eli, we can obtain the decision boundary by applying get.boundary.kb() with the outputs shown as in Fig. 6
Fig. 6.
Boundary table of a phase I dose-finding example for the single-agent.
For developing the trial protocol, we need to provide operating characteristics (OCs) of scenarios interested by the clinical team. There is a get.oc.kb() can be used by simulations to provide the empirical OCs. For example, if we want to explore the OC of a scenario with assumed true toxicity rates of for five doses. For this scenario, we assume that dose 3 is the true MTD. We can use the Fig. 7 code to get the empirical OCs for this scenario.
Fig. 7.
Empirical operating characteristics (OCs) of a phase I dose-finding example for the single-agent.
From the above outputs, many results are reported. For instance, there is 54.3% chance to select dose 3 to be the MTD if using the keyboard design, among 30 patients, on average, there will have 10.995 patients being treated at dose 3. All the other outputs can be found detailed explanations in the R package manual.
When a trial completes, we should select the MTD based on the data. For example, assuming that observed number of patients and DLTs across five doses are n = c(3, 6, 12, 3, 0) and y = c(0, 1, 3, 2, 0), respectively, that is, this study finally stopped with a total of sample size 24 instead of 30 pre-planned in the protocol. We can use the function select.mtd.kb(target = 0.3, ntox = y, npts = n), which recommends dose 3 as the MTD, with the estimated DLT rate of 25.0% with 95% CI of (6%, 52%) (see Fig. 8).
Fig. 8.
Selecting the MTD of a phase I dose-finding example for the single-agent.
A.2. Phase I dose-finding drug combination trial
We are now showing how to use the Keyboard R package to design a drug combination phase I dose-finding trial (see Fig. 9).
Fig. 9.
Recommend a next dose for a phase I drug combination trial.
Conduct the trial
The function next.comb.kb() can be used to find which dose should be assigned to new cohort of patients based on the updated data. This function shares a similar set of arguments with the function get.boundary.kb() described previously:
-
•
npts A matrix recording the number of patients treated at each dose combination.
-
•
ntox A matrix recording the number of patients who experienced toxicity at each dose combination.
-
•
dose.curr The current dose combination (the dose combination that was used to treat the most recently enrolled cohort of patients).
Suppose that we have a 3 × 4 drug-combination trial with 3 dose levels of agent A and 4 dose levels of agent B, aiming to find a MTD that has a target toxicity rate of 0.3. The maximum sample size is assumed to be 48 patients, and patients are treated in cohort sizes of 3. Let denote the combination of the th dose level of agent A and the th dose level of agent B. The trial can be conducted as follows. We start the trial by treating the first cohort of 3 patients at the lowest dose . Assuming that none of the patients experienced DLT, the data from the first cohort of patients are given by
where records the number of patients treated at each dose combination, and records the number of patients who experienced toxicity at each dose combination. In matrixes and , entry records the data associated with combination . To determine the dose for the second cohort of patients, we call function next.comb.kb():
From the above output, the recommended dose combination for next cohort of patients is (3, 2). Therefore, we should escalate to dose 3 for agent A and still at dose 2 for agent B. We repeat this procedure until the maximum sample size is reached.
Obtain the operating characteristics
The function get.oc.comb.kb() can be used to obtain the operating characteristics of the Keyboard drug-combination design. This function also shares the same set of arguments as the function get.oc.kb(), except that p.true is now a matrix (rather than a vector) and startdose is a vector of length 2 (rather than a scalar) (see Fig. 11)
Fig. 11.
Selecting the MTD for a phase I drug combination trial.
Consider a 3 × 5 combination trial scenario with the true toxicity probabilities
and the target toxicity rate of 0.30. Here, we show how to obtain the operating characteristics (OCs) based on 1000 simulated trials with a maximum sample size of 45 by a cohort size of 3. Partial outputs are shown as in Fig. 10.
Fig. 10.
Empirical operating characteristics (OCs) of a phase I drug combination trial.
Select a MTD when the trial is completed
When the trial is completed, based on the observed data, we can select a MTD using the function select.mtd.comb.kb(). This function has seven arguments: target, npts, ntox, cutoff.eli, extrasafe, and offset, where the descriptions of cutoff.eli, extrasafe, and offset are the same as those in get.boundary. kb(). Assume that the number of patients treated at each dose combination and the corresponding number of patients who experienced toxicity at each dose combination are
From the above output, we can see that dose combination (2, 2), that is, combination of agent A of dose 2 and agent B of dose 2 is selected as the MTD.
A.3. Phase I trial for the optimal biological dose (OBD)
Design and conduct the trial To design a phase I/II trial for finding the OBD, we need to run the function get.decision.obd.kb() to obtain the boundary table and decision table. This function needs the following arguments to input:
-
•
toxicity.low The upper boundary for the low toxicity interval.
-
•
toxicity.moderate The upper boundary for the moderate toxicity interval.
-
•
toxicity.high The upper boundary for the high toxicity interval.
-
•
efficacy.low The upper boundary for the low efficacy interval.
-
•
efficacy.moderate The upper boundary for the moderate efficacy interval.
-
•
efficacy.high The upper boundary for the high efficacy interval.
-
•
target.toxicity The target DLT rate.
-
•
target.efficacy The target efficacy rate.
-
•
ncohort The total number of cohorts.
-
•
cohortsize The number of patients in the cohort.
-
•
cutoff.eli.toxicity The cutoff value to eliminate a dose with an unacceptably high toxicity for safety — the default value is 0.95.
-
•
cutoff.eli.efficacy The cutoff value to eliminate a dose with unacceptably low efficacy — the default value is 0.3.
As an example, suppose we want to conduct a phase trial for finding the OBD with dose levels with a target toxicity rate of 0.20 and a target efficacy rate of 0.40. Maximum number of patients is 30 and patients are treated by the cohort size of 3. We can use the function get.decision.obd.kb() to derive the decision table (see Fig. 12).
Fig. 12.
Code to drive the decision table of a phase I trial to find the optimal biological dose (OBD).
The “preset” table of 4-by-4 can be obtained by applying decision.obd$boundary.table (see Fig. 13).
Fig. 13.
Code to generate the “preset” table of a phase I trial to find the optimal biological dose (OBD).
Detailed decision lists can be obtained by applying decision.obd$decision.matrix and part of outputs are shown in Fig. 14.
Fig. 14.

Decision lists (part) of a phase I trial to find the optimal biological dose (OBD).
Here are explanations for the above decision actions. Assuming the current does is ,
-
•
D: deescalate to a previous dose .
-
•
E: escalate to a next dose .
-
•
S: stay at the current dose .
-
•
EUE: escalate to a higher dose due to the unacceptable low efficacy.
-
•
DUE: deescalate to a lower dose due to the unacceptable low efficacy.
-
•
DUT: deescalate to a lower dose due to the unacceptable high toxicity.
-
•
Safety stopping rule: if , the default value of is 0.95, then any dose will be excluded from the trial.
-
•
Default futility rule: if , the default value of is 0.3, then dose will be excluded from the trial.
From the above output, for example, we can see that if there are 3 patients on a specific dose level with 1 toxicity and 1 response, the decision would be “S” (the sixth row in Fig. 14), that is, we will continue to administer the current dose to the next cohort of patients.
Obtain the operating characteristics
The function get.oc.obd.kb() can be used to obtain the operating characteristics (OCs) for the phase I trial to find the OBD. This function needs the following arguments to input:
-
•
toxicity.low The upper boundary for the low toxicity interval.
-
•
toxicity.moderate The upper boundary for the moderate toxicity interval.
-
•
toxicity.high The upper boundary for the high toxicity interval.
-
•
efficacy.low The upper boundary for the low efficacy interval.
-
•
efficacy.moderate The upper boundary for the moderate efficacy interval.
-
•
efficacy.high The upper boundary for the high efficacy interval.
-
•
target.toxicity The target DLT rate.
-
•
target.efficacy The target efficacy rate.
-
•
ncohort The total number of cohorts.
-
•
cohortsize The number of patients in a cohort.
-
•
n.early The early stopping parameter. If the number of patients treated at the current dose reaches n.early, then we stop the trial and select the MTD based on the observed data.
-
•
startdose The starting dose level.
-
•
p.true A vector containing the true toxicity probabilities of the investigational dose levels.
-
•
q.true A vector containing the true efficacy probabilities of the investigational dose levels.
-
•
ntrial The total number of trials to be simulated.
-
•
seed The random seed for simulation.
-
•
p1 The cutoff lower limit for safety utility function (3): . f(p) is the function for toxicity probability, and f(q) is the function for efficacy probability.
-
•
p2 The cutoff upper limit for safety utility function (3).
-
•
q1 The cutoff lower limit for efficacy utility function (3).
-
•
q2 The cutoff upper limit for efficacy utility function (3).
-
•
cutoff.eli.toxicity The cutoff value to eliminate a dose with unacceptably high toxicity for safety. The default value is 0.95.
-
•
cutoff.eli.efficacy The cutoff value for the futility rule, the acceptably lower efficacy. The default value is 0.30.
-
•
w1.toxicity The weight for toxicity utility function (4), (5) The recommended is the target toxicity rate.
-
•
w2.toxicity The weight for toxicity utility function (5).
-
•
indicator The indicator cutoff value for utility function (5).
Using the same setting as above and by assuming a scenario in which the true toxicity rates are p.true = and the true responses are q.true ; we can use the function get.oc.obd.kb() to obtain the operating characteristics. Fig. 15 are outputs based on 1000 simulated trials.
Fig. 15.
Empirical operating characteristics (OCs) of a phase I trial to find the optimal biological dose (OBD).
The outputs show that dose 3 is recommended as the OBD by simulations for this scenario irrespective of which utility function is employed.
Select the OBD when the trial is completed
When a trial is completed, we can select the OBD based on the observed data using the function select.obd.kb(). This function needs the following arguments to input:
-
•
target.toxicity The target DLT rate.
-
•
target.efficacy The target efficacy rate.
-
•
npts The vector containing the total number of patients treated at each dose level.
-
•
ntox The vector containing the number of subjects at each dose level who have the toxicities.
-
•
neff The vector containing the number of subjects at each dose level who have the responses.
-
•
p1 The cutoff lower limit for safety utility function (3): . f(p) is the function for toxicity probability, and f(q) is the function for efficacy probability.
-
•
p2 The cutoff upper limit for safety utility function (3).
-
•
q1 The cutoff lower limit for efficacy utility function (3).
-
•
q2 The cutoff upper limit for efficacy utility function (3).
-
•
cutoff.eli.toxicity The cutoff value to eliminate a dose with unacceptable high toxicity for safety — the default value is 0.95.
-
•
cutoff.eli.efficacy The cutoff value for the futility rule, the acceptable lowest efficacy — the default value is 0.30.
-
•
w1.toxicity The weight for toxicity utility function (4), (5) — the recommended is the target toxicity rate as the default value.
-
•
w2.toxicity The weight for toxicity utility function (5).
-
•
indicator The indicator cutoff for utility function (5).
Assume that the number of patients treated at four doses is npts , the corresponding number of patients who experienced toxicity is ntox , and the corresponding number of patients who experienced efficacy is neff . From the Fig. 16 outputs, we can see the dose 3 is selected as the OBD based on these data irrespective of which utility functions being used.
Fig. 16.
Selecting an OBD of a phase I trial to find the optimal biological dose (OBD).
A.4. Option 2: Alternative approach to partition the toxicity and efficacy intervals
We provide another function which can partition the toxicity and efficacy intervals without pre-specifying the parameters of toxicity.low, toxicity.moderate, , efficacy.high in the last section. We use the Bayesian optimal interval design(BOIN) as a tool to automatically partition the toxicity and efficacy intervals but with “clinical” rationales. To be specific, given the target toxicity rate, the BOIN algorithm will produce two cutoffs, which can be use to divide the toxicity interval into toxicity.low, toxicity-acceptable, toxicity-high sub-intervals. For example, if the target toxicity rate is 0.2, by executing the following code of using the function get.boundary() from the BOIN R package, the toxicity unit probability interval can be divided into three sub-intervals, (0, 0.16), (0.16, 0.24), and (0.24, 1), which correspond to the toxicity.low, toxicity-acceptable, toxicity-high sub-intervals.
In a similar vein, to generate the sub-intervals for the efficacy, we would firstly input the target failure rate to the above get.boundary (.) function from BOIN R package to get the two cutoffs. The target failure rate is defined as 1-target efficacy rate, that is, if the target efficacy rate is 0.4, then, the target failure rate is 0.6. Then, we can use find two cutoffs by using the target failure rate as the value for the target parameter in the get.boundary(.) function. Since the BOIN algorithm is for finding the MTD with assumption of the monotone increasing in terms of toxicity with the dose, we firstly reverse the two cutoffs and then subtract the two cutoffs by 1 to generate the sub-intervals in terms of the efficacy outcome. In literature, a similar strategy was adopted by Zohar et al. [29] in which the continual reassessment method (CRM) was adapted to find the minimal effective dose (MinED) in a phase II trial.
Here is an example. Ff the target efficacy rate is 0.4, by executing the following code, we get two original cutoffs of 0.48 and 0.73.
Then, the efficacy interval can be obtained as: (0, 1-0.73), (1-0.73, 1-0.48), (1-0.48, 1), that is, (0, 0.27), (0.27, 0.52), and (0.52, 1) correspond to the efficacy.low, efficacy-acceptable, efficacy-high sub-intervals.
From the above, we can generate the following sub-intervals for toxicity:
-
•
The low interval for toxicity is (0, toxicity.lower.boundary).
-
•
The acceptable interval for toxicity is (toxicity.lower.boundary, toxicity.upper.boundary).
-
•
The high interval for toxicity is (toxicity.upper.boundary, 1).
and the sub-intervals for efficacy:
-
•
The low interval for efficacy is (0, efficacy.lower.boundary).
-
•
The acceptable interval for efficacy is (efficacy.lower.boundary, efficacy.upper.boundary).
-
•
The high interval for efficacy is (efficacy.upper.boundary, 1).
If a “preset” table is given (an example shown below), we can then use the corresponding functions to design a trial.
| Efficacy.low | Efficacy.moderate | Efficacy.high | ||
| (0,0.27) | (0.27,0.52) | (0.52,1) | ||
| Toxicity.low | (0,0.16) | E | E | S |
| Toxicity.moderate | (0.16,0.24) | S | S | S |
| Toxicity. high | (0.24,1) | D | D | D |
For example, in the above “preset” table, the interval combination (0, 0.16) (0.27,0.52) corresponds to a decision “S”.
We develop a function get.decision.obd2.kb(), which can automatically generate the sub-intervals based on the procedures we described above and provide the decision table.
For example, for a trial, there are 5 doses with the target toxicity rate of 0.2 and target efficacy rate of 0.4. Patients are assumed to be treated in cohorts size of 3 and the number of cohorts is 10. We can see from the following code that we are only needed to input target.toxicity and target.efficacy without requiring to input a set of parameters toxicity.low, toxicity.moderate, , efficacy.high if using the function get.decision.obd.kb() in the last section.
The 3-by-3 “preset” table can be obtained (see Fig. 17).
Fig. 17.
A 3-by-3 “preset” table.
A part of the decision lists are shown as Fig. 18.
Fig. 18.

A part of decision lists.
We also develop the function get.oc.obd2.kb() to conduct simulations to get the operating characteristics and the function select.obd.kb() to select the OBD in this context. Detailed examples can be found in Keyboard R package manual.
References
- 1.Storer B.E. Design and analysis of phase I clinical trials. Biometrics. 1989;45(3):925–937. [PubMed] [Google Scholar]
- 2.Durham S.D., Rosenberger FWF. A random walk rule for phase I clinical trials. Biometrics. 1997;53(2):745–760. [PubMed] [Google Scholar]
- 3.Ivanova A., Montazer-Haghighi A., Mohanty S.G., Durham S.D. Improved up-and-down designs for phase I trials. Stat. Med. 2003;22(1):69–82. doi: 10.1002/sim.1336. [DOI] [PubMed] [Google Scholar]
- 4.Stylianou M., Follmann D.A. The accelerated biased coin up-and-down design in phase I trials. J. Biopharm. Statist. 2004;14(1):249–260. doi: 10.1081/bip-120028518. [DOI] [PubMed] [Google Scholar]
- 5.O’Quigley J., Pepe M., Fisher L. Continual reassessment method. a practical design for phase 1 clinical trials in cancer. Biometrics. 1990;46(1):33–48. [PubMed] [Google Scholar]
- 6.Ying Kuen Cheung. CRC Press; 2011. Dose Finding By the Continual Reassessment Method. [Google Scholar]
- 7.Ji Y., Liu P., Li Y., Nebiyou Bekele B. A modified toxicity probability interval method for dose-finding trials. Clin. Trials. 2010;7(6):653. doi: 10.1177/1740774510382799. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 8.Liu S., Yuan Y. Bayesian optimal interval designs for phase I clinical trials. J. R. Stat. Soc. Series C (Appl. Stat.) 2015;64(3):507–523. [Google Scholar]
- 9.Yan F., Mandrekar S.J., Keyboard Yuan Y. A novel Bayesian toxicity probability interval design for phase I clinical trials. Clin. Cancer Res. 2017;23(15):3994–4003. doi: 10.1158/1078-0432.CCR-17-0220. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 10.Thall P.F., Cook J.D. Dose-finding based on efficacy–toxicity trade-offs. Biometrics. 2004;60(3) doi: 10.1111/j.0006-341X.2004.00218.x. [DOI] [PubMed] [Google Scholar]
- 11.Yin G., Ji L.Y. Bayesian dose-fiinding in phase I/II clinical trials using toxicity and efficacy odds ratios. Biometrics. 2006;62(3):777–784. doi: 10.1111/j.1541-0420.2006.00534.x. [DOI] [PubMed] [Google Scholar]
- 12.Lee Zang, Yuan J.J. Adaptive designs for identifying optimal biological dose for molecularly targeted agents. Clin. Trials J. Soc. Clin. Trials. 2014;11(3):319–327. doi: 10.1177/1740774514529848. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 13.Liu S., Johnson V.E. A robust Bayesian dose-finding design for phase I/II clinical trials. Biostatistics. 2016;17(2):249–263. doi: 10.1093/biostatistics/kxv040. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 14.Sato H., Hirakawa A., Hamada C. An adaptive dose-finding method using a change-point model for molecularly targeted agents in phase I trials. Stat. Med. 2016;35(23):4093–4109. doi: 10.1002/sim.6981. [DOI] [PubMed] [Google Scholar]
- 15.Li D.H., Whitmore J.B., Guo W., Ji Y. Toxicity and efficacy probability interval design for phase I adoptive cell therapy dose-finding clinical trials. Clinical cancer research . Off. J. Am. Assoc. Cancer Res. 2017;23(1):13–20. doi: 10.1158/1078-0432.CCR-16-1125. [DOI] [PubMed] [Google Scholar]
- 16.Lin R., Yin G. STEIN: A simple toxicity and efficacy interval design for seamless phase I/II clinical trials. Stat. Med. 2017;36(26):4106–4120. doi: 10.1002/sim.7428. [DOI] [PubMed] [Google Scholar]
- 17.Lin R., Zhou Y., Yan F., Li D., Yuan Y. BOIN12. Bayesian optimal interval phase I/II trial design for utility-based dose finding in immunotherapy and targeted therapies. JCO Prec. Oncol. 2020;4:1393–1402. doi: 10.1200/PO.20.00257. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 18.Li D.H., Whitmore J., Ji Y. Abstract 423. Toxicity and efficacy probability intervals design for phase I dose-finding in oncology trials. Cancer Res. 2016;76(14 Supplement):423. [Google Scholar]
- 19.Zhou Y., Lee J.J., Yuan Y. A utility-based Bayesian optimal interval (U-BOIN) phase I/II design to identify the optimal biological dose for targeted and immune therapies. Stat. Med. 2019;38(28):S5299–316. doi: 10.1002/sim.8361. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 20.Shi H., Cao J., Yuan Y., Lin R. uTPI:a utility-based toxicity probability interval design for phase I/II dose-finding trials. Stat. Med. 2021;40(11):2626–2649. doi: 10.1002/sim.8922. [DOI] [PubMed] [Google Scholar]
- 21.Yin G., Yuan Y. Bayesian dose finding in oncology for drug combinations by copula regression. J. R. Stat. Soc. Series C (Appl. Stat.) 2009;58(2):211–224. [Google Scholar]
- 22.Yin G., Yuan Y. A latent contingency table approach to dose finding for combinations of two agents. Biometrics. 2009;65(3):866–875. doi: 10.1111/j.1541-0420.2008.01119.x. [DOI] [PubMed] [Google Scholar]
- 23.Wages N.A., Conaway M.R., O’Quigley J. Continual reassessment method for partial ordering. Biometrics. 2011;67(4):1555–1563. doi: 10.1111/j.1541-0420.2011.01560.x. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 24.Yuan Y., Yin G. Sequential continual reassessment method for two-dimensional dose finding. Stat. Med. 2010;27(27):5664–5678. doi: 10.1002/sim.3372. [DOI] [PubMed] [Google Scholar]
- 25.Pan H., Lin R., Zhou Y., Yuan Y. Keyboard design for phase I drug-combination trials. Contemp. Clin. Trials. 2020;92 doi: 10.1016/j.cct.2020.105972. [DOI] [PubMed] [Google Scholar]
- 26.Liu S., Ning J. A Bayesian dose-finding design for drug combination trials with delayed toxicities. Bayesian Anal. 2013;8(3):703–722. doi: 10.1214/13-BA839. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 27.Razaee Zahra S., Wien-Cook Galen, Tighiouart Mourad. 2019. A nonparametric Bayesian design for drug combination cancer trials. arXiv preprint arXiv:1910.09163. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 28.Corbaux P., Madani M.E., Tod M., Péron J., You B. Clinical efficacy of the optimal biological dose in early-phase trials of anti-cancer targeted therapies. Eur. J. Cancer. 2019;120:40–46. doi: 10.1016/j.ejca.2019.08.002. [DOI] [PubMed] [Google Scholar]
- 29.Zohar S., Resche-Rigon M., Chevret S. Using the continual reassessment method to estimate the minimum effective dose in phase II dose-finding studies. a case study. Clin. Trials. 2013;10(3):414–421. doi: 10.1177/1740774511411593. [DOI] [PubMed] [Google Scholar]



















