View source: R/calc_mc_oral_equiv.R
calc_mc_oral_equiv | R Documentation |
This function converts a chemical plasma concentration to an oral adminstered
equivalent
dose (AED) using a concentration obtained from calc_mc_css
.
This function uses reverse dosimetry-based
'in vitro-in vivo extrapolation (IVIVE)
for high throughput risk screening. The user can input the
chemical and in vitro bioactive concentration, select the TK
model, and then automatically predict the in vivo AED
which would produce a body concentration equal to
the in vitro bioactive concentration. This function relies on the
Monte Carlo method (via funcion create_mc_samples
to simulate
both uncertainty and variability so that the result is a distribution of
equivalent doses, from which we provide specific quantiles
(specified by which.quantile
), though the full set of predictions can
be obtained by setting return.samples
to TRUE
.
calc_mc_oral_equiv(
conc,
chem.name = NULL,
chem.cas = NULL,
dtxsid = NULL,
parameters = NULL,
which.quantile = 0.95,
species = "Human",
input.units = "uM",
output.units = "mgpkgpday",
suppress.messages = FALSE,
return.samples = FALSE,
restrictive.clearance = TRUE,
bioactive.free.invivo = FALSE,
tissue = NULL,
concentration = "plasma",
IVIVE = NULL,
model = "3compartmentss",
Caco2.options = list(),
calc.analytic.css.arg.list = list(),
...
)
conc |
Bioactive in vitro concentration in units of uM. |
chem.name |
Either the chemical name or the CAS number must be specified. |
chem.cas |
Either the CAS number or the chemical name must be specified. |
dtxsid |
EPA's 'DSSTox Structure ID (https://comptox.epa.gov/dashboard) the chemical must be identified by either CAS, name, or DTXSIDs |
parameters |
Parameters from the appropriate parameterization function for the model indicated by argument model |
which.quantile |
Which quantile from Monte Carlo steady-state
simulation ( |
species |
Species desired (either "Rat", "Rabbit", "Dog", "Mouse", or default "Human"). |
input.units |
Units of given concentration, default of uM but can also be mg/L. |
output.units |
Units of dose, default of 'mgpkgpday' for mg/kg BW/ day or 'umolpkgpday' for umol/ kg BW/ day. |
suppress.messages |
Suppress text messages. |
return.samples |
Whether or not to return the vector containing the samples from the simulation instead of the selected quantile. |
restrictive.clearance |
Protein binding not taken into account (set to 1) in liver clearance if FALSE. |
bioactive.free.invivo |
If FALSE (default), then the total concentration is treated as bioactive in vivo. If TRUE, the the unbound (free) plasma concentration is treated as bioactive in vivo. Only works with tissue = NULL in current implementation. |
tissue |
Desired steady state tissue concentration. Default is of NULL typically gives whole body plasma concentration. |
concentration |
Desired concentration type: 'blood','tissue', or default 'plasma'. In the case that the concentration is for plasma, selecting "blood" will use the blood:plasma ratio to estimate blood concentration. In the case that the argument 'tissue' specifies a particular tissue of the body, concentration defaults to 'tissue' – that is, the concentration in the If cocentration is set to 'blood' or 'plasma' and 'tissue' specifies a specific tissue then the value returned is for the plasma or blood in that specific tissue. |
IVIVE |
Honda et al. (2019) identified six plausible sets of assumptions for in vitro-in vivo extrapolation (IVIVE) assumptions. Argument may be set to "Honda1" through "Honda6". If used, this function overwrites the tissue, restrictive.clearance, and bioactive.free.invivo arguments. See Details below for more information. |
model |
Model used in calculation,'gas_pbtk' for the gas pbtk model, 'pbtk' for the multiple compartment model, '3compartment' for the three compartment model, '3compartmentss' for the three compartment steady state model, and '1compartment' for one compartment model. This only applies when httkpop=TRUE and species="Human", otherwise '3compartmentss' is used. |
Caco2.options |
A list of options to use when working with Caco2 apical to
basolateral data |
calc.analytic.css.arg.list |
A list of options to pass to the analytic steady-state calculation function. This includes 'restrictive.clearance', 'bioactive.free.invivo', 'IVIVE', 'wellstirred.correction', and 'adjusted.Funbound.plasma'. |
... |
Additional parameters passed to |
The chemical-specific steady-state concentration for a dose rate of 1 mg/kg body weight/day can be used for in IVIVE of a bioactive in vitro concentration by dividing the in vitro concentration by the steady-state concentration to predict a dose rate (mg/kg/day) that would produce that concentration in plasma. Using quantiles of the distribution (such as the upper 95th percentile) allow incorporation of uncertainty and variability into IVIVE.
This approach relies on thelinearity of the models to calculate a scaling factor to relate in vitro concentrations (uM) with AED. The scaling factor is the inverse of the steady-state plasma concentration (Css) predicted for a 1 mg/kg/day exposure dose rate where in vitro concentration [X] and Css must be in the same units. Note that it is typical for in vitro concentrations to be reported in units of uM and Css in units of mg/L, in which case one must be converted to the other.
Reverse Dosimetry Toxicodynamic IVIVE
Figure from Breen et al. (2021) (\Sexpr[results=rd]{tools:::Rd_expr_doi("10.1080/17425255.2021.1935867")}) shows reverse dosimetry toxicodynamic IVIVE. Equivalent external dose is determined by solving the TK model in reverse by deriving the external dose (that is, TK model input) that produces a specified internal concentration (that is, TK model output). Reverse dosimetry and IVIVE using HTTK relies on the linearity of the models. We calculate a scaling factor to relate in vitro concentrations (uM) to AEDs. The scaling factor is the inverse of the Css predicted for a 1 mg/kg/day exposure dose rate. We use Monte Carlo to simulate variability and propagate uncertainty; for example, to calculate an upper 95th percentile Css,95 for individuals who get higher plasma concentrations from the same exposure.
The Monte Carlo methods used here were recently updated and described by Breen et al. (submitted).
All arguments after httkpop only apply if httkpop is set to TRUE and species to "Human".
When species is specified as rabbit, dog, or mouse, the function uses the appropriate physiological data(volumes and flows) but substitutes human fraction unbound, partition coefficients, and intrinsic hepatic clearance.
Tissue concentrations are calculated for the pbtk model with oral infusion dosing. All tissues other than gut, liver, and lung are the product of the steady state plasma concentration and the tissue to plasma partition coefficient.
The six sets of plausible IVIVE assumptions identified by Honda et al. (2019) (\Sexpr[results=rd]{tools:::Rd_expr_doi("10.1371/journal.pone.0217564")}) are:
in vivo Conc. | Metabolic Clearance | Bioactive Chemical Conc. | TK Statistic Used* | |
Honda1 | Veinous (Plasma) | Restrictive | Free | Mean Conc. |
Honda2 | Veinous | Restrictive | Free | Max Conc. |
Honda3 | Veinous | Non-restrictive | Total | Mean Conc. |
Honda4 | Veinous | Non-restrictive | Total | Max Conc. |
Honda5 | Target Tissue | Non-restrictive | Total | Mean Conc. |
Honda6 | Target Tissue | Non-restrictive | Total | Max Conc. |
*Assumption is currently ignored because analytical steady-state solutions are currently used by this function.
Equivalent dose in specified units, default of mg/kg BW/day.
John Wambaugh
ring2017identifyinghttk
\insertRefwetmore2015incorporatinghttk
\insertRefhonda2019usinghttk
\insertRefrowland1973clearancehttk
calc_mc_css
create_mc_samples
# Set the number of samples (NSAMP) low for rapid testing, increase NSAMP
# for more stable results. Default value is 1000:
NSAMP = 10
# Basic in vitro - in vivo extrapolation with httk, convert 0.5 uM in vitro
# concentration of chemical Surinabant to mg/kg/day:
set.seed(1234)
0.5/calc_mc_css(chem.name="Surinabant", samples=NSAMP, output.units="uM")
# The significant digits should give the same answer as:
set.seed(1234)
calc_mc_oral_equiv(chem.name="Surinabant",conc=0.5,samples=NSAMP)
# Note that we use set.seed to get the same sequence of random numbers for
# the two different function calls (calc_mc_css and calc_mc_oral_equiv)
# The following example should result in an error since we do not
# estimate tissue partitioning with '3compartmentss'.
set.seed(1234)
try(calc_mc_oral_equiv(0.1, chem.cas="34256-82-1",
which.quantile=c(0.05,0.5,0.95),
samples=NSAMP,
tissue='brain'))
set.seed(1234)
calc_mc_oral_equiv(0.1,chem.cas="34256-82-1", model='pbtk',
samples=NSAMP,
which.quantile=c(0.05,0.5,0.95), tissue='brain')
# We can also use the Monte Carlo functions by passing a table
# where each row represents a different Monte Carlo draw of parameters:
p <- create_mc_samples(chem.cas="80-05-7")
# Use data.table for steady-state plasma concentration (Css) Monte Carlo:
calc_mc_css(parameters=p)
# Using the same table gives the same answer:
calc_mc_css(parameters=p)
# Use Css for 1 mg/kg/day for simple reverse toxicokinetics
# in Vitro-In Vivo Extrapolation to convert 15 uM to mg/kg/day:
15/calc_mc_css(parameters=p, output.units="uM")
# Can do the same with calc_mc_oral_equiv:
calc_mc_oral_equiv(15, parameters=p)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.