DDI assessment
ddi-assessment.Rmd
This vignette shows how to assess the potential of a drug to act as a perpetrator of drug-drug interactions with CYP and UGT enzymes and drug transporters. The live code contained in this document relies on the following R packages:
Regulatory background
In May-2024, ICH published a new harmonized guidance on the assessment of enzyme- or transporter-mediated drug interactions that will be adopted by the ICH-abiding regulatory agencies, including FDA, EMA and PMDA.
Currently (Nov-2024), the following guidance documents are provided by the individual regulatory authorities:
Drug properties
As a general concept, the risk for enzyme or transporter interactions is evaluated for a given drug exposure level that corresponds to the maximal unbound clinical exposure in the relevant pharmacokinetic compartment. For interactions with hepatic enzymes, the unbound maximal plasma concentration at steady state (\(I_{max,ss,u}\)) is considered, and for intestinal enzymes as victim of orally administered drugs, the maximal clinical dose, dissolved in a volume of 250 mg (\(I_{gut}\)).
For interactions with basolateral hepatic transporters (OATP1B1, OATP1B3), the unbound hepatic inlet concentration (\(I_{max,inlet,u}\)) is considered that is composed of the \(I_{max,ss,u}\) and a portal venous term reflecting the intestinally absorbed drug escaping gut metabolism.
These concentrations can be automatically derived from the following set of drug-specific parameters:
Parameter | Parameter name | Default | Unit |
---|---|---|---|
Molar weight | mw | NA | g/mol |
Clinical dose | dose | NA | mg |
Maximal total plasma concentration (\(C_max\)) | imaxss | NA | ng/ml |
Fraction unbound (\(f_u\)) | fu | 1 | |
Microsomal unbound fraction (\(f_{u,mic}\)) | fumic | 1 | |
Blood-to-plasma concentration ratio (\(R_b\)) | rb | 1 | |
Fraction absorbed (\(f_a\)) | fa | 1 | |
Fraction escapting gut metabolism (\(f_g\)) | fg | 1 | |
Absorption rate constant (\(k_a\)) | ka | 0.1 | 1/min |
Solubility | solubility | Inf | mg/l |
The specification of the key compound parameters is therefore the first step in the formal analysis. In the scope of this package, these key parameters are aggregated into a ‘perpetrator’ object. The package contains a sample perpetrator object for the ficitional drug ‘examplinib’:
examplinib_parent
#> ----- DDI perpetrator object -----
#> name examplinib
#> oral TRUE
#> mw 492.6
#> dose 450 clinical dose
#> imaxss 3530 study 001
#> fu 0.023 study 002
#> fumic 1 default
#> rb 1 study 003
#> fa 0.81 study 003
#> fg 1 default
#> ka 0.00267 unknown
#> solubility Inf default
The ddir
package provides multiple options to create
perpetrator objects. In the simplest case, the function
make_perpetrator()
can be used:
perp <- make_perpetrator(
name = "test",
dose = 100,
imaxss = 1000,
mw = 500,
oral = TRUE,
fu = 1,
fumic = 1,
rb = 1,
fa = 1,
fg = 1,
ka = 0.1,
solubility = Inf
)
Other options are presented in a dedicated vignette (see
vignette("load-data")
).
To facilitate the generation of R notebook-based reports,
property_table()
can be used to print a markdown-formatted
table of the key compound parameters:
property_table(examplinib_parent)
parameter | value | source |
---|---|---|
oral | TRUE | |
\(MW\) (g/mol) | 492.6 | |
\(dose\) (mg) | 450 | clinical dose |
\(C_{max,ss}\) (ng/ml) | 3530 | study 001 |
\(f_u\) | 0.023 | study 002 |
\(f_{u,mic}\) | 1 | default |
\(R_B\) | 1 | study 003 |
\(F_a\) | 0.81 | study 003 |
\(F_g\) | 1 | default |
\(k_a\) (1/min) | 0.00267 | unknown |
\(solubility\) (mg/l) | Inf | default |
Perpetrator concentrations
The relevant perpetrator concentrations (in \(\mu M\)) for a perpetrator compound can be
determined using key_concentrations()
- please see the
documentation to this function for details about the calculations. While
this function returns a named numeric vector of the naked
concentrations, a markdown-formatted tabular output that can be directly
embedded in R notebook documents can be generated using
`conc_table()’:
key_concentrations(examplinib_parent)
#> igut imaxssu imaxinletu imaxintest
#> 3654.0803898 0.1648193 0.1929384 6.5855664
conc_table(examplinib_parent)
parameter | value (\(ng/ml\)) | value (\(\mu M\)) |
---|---|---|
\(I_{gut}\) | 1800000.0 | 3654.080 |
\(I_{max,ss,u}\) | 81.2 | 0.165 |
\(I_{max,inlet,u}\) | 95.0 | 0.193 |
\(I_{max,intestinal}\) | 3244.1 | 6.586 |
Direct enzyme inhibition
CYP enzymes
basic_cyp_inhibition_risk(examplinib_parent, examplinib_cyp_inhibition_data)
#> cyp ki kiu r risk_hep r_gut risk_intest
#> 1 CYP1A2 NA NA NA NA NA NA
#> 2 CYP2B6 NA NA NA NA NA NA
#> 3 CYP2C8 11.00 11.00 0.0150 FALSE NA NA
#> 4 CYP2C9 0.60 0.60 0.2747 TRUE NA NA
#> 5 CYP2C19 0.25 0.25 0.6593 TRUE NA NA
#> 6 CYP2D6 NA NA NA NA NA NA
#> 7 CYP3A4 12.50 12.50 0.0132 FALSE 292.3264 TRUE
basic_cyp_inhibition_risk_table(examplinib_parent, examplinib_cyp_inhibition_data)
CYP | \(K_{i}\) (\(\mu M\)) | \(K_{i,u}\) (\(\mu M\)) | \(R\) | risk (hepatic) | \(R_{gut}\) | risk (intestinal) |
---|---|---|---|---|---|---|
CYP1A2 | NA | NA | NA | |||
CYP2B6 | NA | NA | NA | |||
CYP2C8 | 11.00 | 11.00 | 0.015 | No | ||
CYP2C9 | 0.60 | 0.60 | 0.275 | Yes | ||
CYP2C19 | 0.25 | 0.25 | 0.659 | Yes | ||
CYP2D6 | NA | NA | NA | |||
CYP3A4 | 12.50 | 12.50 | 0.013 | No | 292.3 | Yes |
UGT enzymes
basic_ugt_inhibition_risk(examplinib_parent, examplinib_ugt_inhibition_data)
#> ugt kiu r risk
#> 1 UGT1A1 7.50 0.02197591 TRUE
#> 2 UGT1A3 7.50 0.02197591 TRUE
#> 3 UGT1A4 7.50 0.02197591 TRUE
#> 4 UGT1A6 7.50 0.02197591 TRUE
#> 5 UGT1A9 1.90 0.08674701 TRUE
#> 6 UGT2B7 7.50 0.02197591 TRUE
#> 7 UGT2B15 7.50 0.02197591 TRUE
#> 8 UGT2B17 3.05 0.05403912 TRUE
basic_ugt_inhibition_risk_table(examplinib_parent, examplinib_ugt_inhibition_data)
UGT | \(K_{i,u}\) | \(R\) | risk |
---|---|---|---|
UGT1A1 | 7.50 | 0.022 | Yes |
UGT1A3 | 7.50 | 0.022 | Yes |
UGT1A4 | 7.50 | 0.022 | Yes |
UGT1A6 | 7.50 | 0.022 | Yes |
UGT1A9 | 1.90 | 0.087 | Yes |
UGT2B7 | 7.50 | 0.022 | Yes |
UGT2B15 | 7.50 | 0.022 | Yes |
UGT2B17 | 3.05 | 0.054 | Yes |
Time-dependent enzyme inhibition
basic_cyp_tdi_risk(examplinib_parent, examplinib_cyp_tdi_data)
#> cyp ki fu kinact kdeg source r risk
#> 1 CYP3A4 0.17 0.023 0.04 0.0193 study 001 2.718115 TRUE
basic_cyp_tdi_risk_table(examplinib_parent, examplinib_cyp_tdi_data)
CYP | \(K_{I}\) (\(\mu M\)) | \(f_u\) | \(k_{inact}\) (1/h) | \(k_{deg}\) (1/h) | source | \(R\) | risk |
---|---|---|---|---|---|---|---|
CYP3A4 | 0.17 | 0.02 | 0.04 | 0.02 | study 001 | 2.72 | Yes |
CYP induction
Fold-change method
static_cyp_induction_risk(examplinib_parent, examplinib_cyp_induction_data)
#> cyp emax maxc source maxc_imaxssu risk
#> 1 CYP1A2 1.00 5 study 007 30.3 FALSE
#> 2 CYP2B6 1.00 5 study 007 30.3 FALSE
#> 3 CYP2C8 NA NA NA NA
#> 4 CYP2C9 NA NA NA NA
#> 5 CYP2C19 NA NA NA NA
#> 6 CYP2D6 NA NA NA NA
#> 7 CYP3A4 7.35 3 study 007 18.2 TRUE
#> note
#> 1 caution: maximal tested concentration is less than 50-fold Cmax,u!
#> 2 caution: maximal tested concentration is less than 50-fold Cmax,u!
#> 3
#> 4
#> 5
#> 6
#> 7 caution: maximal tested concentration is less than 50-fold Cmax,u!
static_cyp_induction_risk_table(examplinib_parent, examplinib_cyp_induction_data)
CYP | \(E_{max}\) | \(max c\) (\(\mu M\)) | source | \(max c/C_{max,ss,u}\) | risk | notes |
---|---|---|---|---|---|---|
CYP1A2 | 1.00 | 5 | study 007 | 30.3 | No | Risk cannot be fully excluded |
CYP2B6 | 1.00 | 5 | study 007 | 30.3 | No | Risk cannot be fully excluded |
CYP2C8 | NA | NA | NA | |||
CYP2C9 | NA | NA | NA | |||
CYP2C19 | NA | NA | NA | |||
CYP2D6 | NA | NA | NA | |||
CYP3A4 | 7.35 | 3 | study 007 | 18.2 | Yes |
Basic kinetic model
kinetic_cyp_induction_risk(examplinib_parent, examplinib_cyp_induction_data)
#> cyp emax ec50 maxc source r risk
#> 1 CYP1A2 1.00 NA 5 study 007 NA NA
#> 2 CYP2B6 1.00 NA 5 study 007 NA NA
#> 3 CYP2C8 NA NA NA NA NA
#> 4 CYP2C9 NA NA NA NA NA
#> 5 CYP2C19 NA NA NA NA NA
#> 6 CYP2D6 NA NA NA NA NA
#> 7 CYP3A4 7.35 1.64 3 study 007 0.2134856 TRUE
kinetic_cyp_induction_risk_table(examplinib_parent, examplinib_cyp_induction_data)
CYP | \(E_{max}\) | \(EC_{50}\) (\(\mu M\)) | source | \(R\) | risk |
---|---|---|---|---|---|
CYP1A2 | 1.00 | NA | study 007 | NA | |
CYP2B6 | 1.00 | NA | study 007 | NA | |
CYP2C8 | NA | NA | NA | ||
CYP2C9 | NA | NA | NA | ||
CYP2C19 | NA | NA | NA | ||
CYP2D6 | NA | NA | NA | ||
CYP3A4 | 7.35 | 1.64 | study 007 | 0.21 | Yes |
Mechanistic-static assessment of CYP-related DDI
mech_stat_cyp_risk(examplinib_parent, examplinib_cyp_inhibition_data,
examplinib_cyp_induction_data)
#> cyp substrate kiu fgut fm fmcyp Ag Ah Bg Bh Cg
#> 1 CYP1A2 tizanidine NA 1.00 0.95 0.98 1.00000000 1.0000000 1 1 1.000000
#> 2 CYP2B6 <NA> NA NA NA NA 1.00000000 1.0000000 1 1 1.000000
#> 3 CYP2C8 repaglinide 11.00 1.00 1.00 0.61 0.62551298 0.9827625 1 1 1.000000
#> 4 CYP2C9 S-warfarin 0.60 1.00 1.00 0.91 0.08350072 0.7566792 1 1 1.000000
#> 5 CYP2C19 omeprazole 0.25 1.00 1.00 0.87 0.03657341 0.5644126 1 1 1.000000
#> 6 CYP2D6 desipramine NA 1.00 1.00 0.85 1.00000000 1.0000000 1 1 1.000000
#> 7 CYP3A4 midazolam 12.50 0.57 0.96 1.00 0.65494520 0.9847995 1 1 6.884569
#> Ch aucr risk
#> 1 1.000000 1.0000000 FALSE
#> 2 1.000000 NA NA
#> 3 1.000000 1.0106266 FALSE
#> 4 1.000000 1.2843927 TRUE
#> 5 1.000000 1.6102050 TRUE
#> 6 1.000000 1.0000000 FALSE
#> 7 1.773674 0.2321612 TRUE
mech_stat_cyp_risk_table(examplinib_parent, examplinib_cyp_inhibition_data,
examplinib_cyp_induction_data)
CYP | substrate | \(F_{gut}\) | \(f_m\) | \(f_{m,CYP}\) | \(A_g\) | \(A_h\) | \(B_g\) | \(B_h\) | \(C_g\) | \(C_h\) | AUCR | risk |
---|---|---|---|---|---|---|---|---|---|---|---|---|
CYP1A2 | tizanidine | 1.00 | 0.95 | 0.98 | 1.00 | 1.00 | 1 | 1 | 1.00 | 1.00 | 1.000 | No |
CYP2B6 | NA | NA | NA | NA | 1.00 | 1.00 | 1 | 1 | 1.00 | 1.00 | NA | |
CYP2C8 | repaglinide | 1.00 | 1.00 | 0.61 | 0.63 | 0.98 | 1 | 1 | 1.00 | 1.00 | 1.011 | No |
CYP2C9 | S-warfarin | 1.00 | 1.00 | 0.91 | 0.08 | 0.76 | 1 | 1 | 1.00 | 1.00 | 1.284 | Yes |
CYP2C19 | omeprazole | 1.00 | 1.00 | 0.87 | 0.04 | 0.56 | 1 | 1 | 1.00 | 1.00 | 1.610 | Yes |
CYP2D6 | desipramine | 1.00 | 1.00 | 0.85 | 1.00 | 1.00 | 1 | 1 | 1.00 | 1.00 | 1.000 | No |
CYP3A4 | midazolam | 0.57 | 0.96 | 1.00 | 0.65 | 0.98 | 1 | 1 | 6.88 | 1.77 | 0.232 | Yes |
Transporter inhibition
transporter_inhibition_risk(examplinib_parent, examplinib_transporter_inhibition_data)
#> transporter ic50 source i r threshold risk
#> 1 Pgp_int 0.41 study 005 igut 8.912391e+03 10.00 TRUE
#> 2 Pgp_sys 0.41 study 005 imaxssu 4.019984e-01 0.02 TRUE
#> 3 BCRP_int 1.90 study 005 igut 1.923200e+03 10.00 TRUE
#> 4 BCRP_sys 1.90 study 005 imaxssu 8.674701e-02 0.02 TRUE
#> 5 OATP1B1 177.00 study 006 imaxinletu 1.090047e-03 0.10 FALSE
#> 6 OATP1B3 35.00 study 006 imaxinletu 5.512525e-03 0.10 FALSE
#> 7 OAT1 271.00 imaxssu 6.081894e-04 0.10 FALSE
#> 8 OAT3 300.00 imaxssu 5.493978e-04 0.10 FALSE
#> 9 BSEP 12.80 imaxssu 1.287651e-02 0.10 FALSE
#> 10 OCT1 2.30 study 006 <NA> NA NA NA
#> 11 OCT2 67.00 study 006 imaxssu 2.459990e-03 0.10 FALSE
#> 12 MATE1 3.60 study 006 imaxssu 4.578315e-02 0.02 TRUE
#> 13 MATE2k 1.10 study 006 imaxssu 1.498358e-01 0.02 TRUE
transporter_inhibition_risk_table(examplinib_parent, examplinib_transporter_inhibition_data)
transporter | \(IC_{50}\) | source | \(R\) | threshold | risk |
---|---|---|---|---|---|
Pgp_int | 0.41 | study 005 | 8912.391 | 10.00 | Yes |
Pgp_sys | 0.41 | study 005 | 0.402 | 0.02 | Yes |
BCRP_int | 1.90 | study 005 | 1923.200 | 10.00 | Yes |
BCRP_sys | 1.90 | study 005 | 0.087 | 0.02 | Yes |
OATP1B1 | 177.00 | study 006 | 0.001 | 0.10 | No |
OATP1B3 | 35.00 | study 006 | 0.006 | 0.10 | No |
OAT1 | 271.00 | 0.001 | 0.10 | No | |
OAT3 | 300.00 | 0.001 | 0.10 | No | |
BSEP | 12.80 | 0.013 | 0.10 | No | |
OCT1 | 2.30 | study 006 | NA | NA | |
OCT2 | 67.00 | study 006 | 0.002 | 0.10 | No |
MATE1 | 3.60 | study 006 | 0.046 | 0.02 | Yes |
MATE2k | 1.10 | study 006 | 0.150 | 0.02 | Yes |