Solves a model for concentration vs. time predictions using Monte Carlo methods
calc_mc_tk(
chem.cas = NULL,
chem.name = NULL,
dtxsid = NULL,
parameters = NULL,
samples = 1000,
species = "Human",
suppress.messages = FALSE,
model = "pbtk",
httkpop = TRUE,
httkpop.dt = NULL,
invitrouv = TRUE,
calcrb2p = TRUE,
censored.params = list(),
vary.params = list(),
return.samples = FALSE,
tissue = NULL,
output.units = "mg/L",
solvemodel.arg.list = list(times = c(0, 0.25, 0.5, 0.75, 1, 1.5, 2, 2.5, 3, 4, 5)),
Caco2.options = list(),
invitro.mc.arg.list = NULL,
httkpop.generate.arg.list = list(method = "direct resampling"),
convert.httkpop.arg.list = NULL,
parameterize.args.list = NULL,
propagate.invitrouv.arg.list = NULL,
return.all.sims = FALSE
)
If return.all.sims == FALSE (default) a list with:
The mean concentration for each model compartment as a function of time across the Monte Carlo simulation
The standard deviation for each model compartment as a function of time across the Monte Carlo simulation
If return.all.sums == TRUE then a list is returned with:
The list of means and sds from return.all.sums=FALSE
The concentration vs. time results for each compartment for every (samples) set of parameters in the Monte Carlo simulation
Either the CAS number, parameters, or the chemical name must be specified.
Either the chemical parameters, name, or the CAS number must be specified.
EPA's DSSTox Structure ID (https://comptox.epa.gov/dashboard) the chemical must be identified by either CAS, name, or DTXSIDs
Parameters from parameterize_MODEL, which must align with
model
. Not used with httkpop model.
Number of samples generated in calculating quantiles.
Species desired (either "Rat", "Rabbit", "Dog", "Mouse", or default "Human"). Species must be set to "Human" to run httkpop model.
Whether or not to suppress output message.
Model used in calculation: '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.
Whether or not to use population generator and sampler from httkpop. This is overwrites censored.params and vary.params and is only for human physiology. Species must also be set to 'Human'.
A data table generated by httkpop_generate
.
This defaults to NULL, in which case httkpop_generate
is
called to generate this table.
Logical to indicate whether to include in vitro parameters in uncertainty and variability analysis
Logical determining whether or not to recalculate the chemical ratio of blood to plasma
The parameters listed in censored.params are sampled from a normal distribution that is censored for values less than the limit of detection (specified separately for each parameter). This argument should be a list of sub-lists. Each sublist is named for a parameter in "parameters" and contains two elements: "CV" (coefficient of variation) and "LOD" (limit of detection, below which parameter values are censored. New values are sampled with mean equal to the value in "parameters" and standard deviation equal to the mean times the CV. Censored values are sampled on a uniform distribution between 0 and the limit of detection. Not used with httkpop model.
The parameters listed in vary.params are sampled from a normal distribution that is truncated at zero. This argument should be a list of coefficients of variation (CV) for the normal distribution. Each entry in the list is named for a parameter in "parameters". New values are sampled with mean equal to the value in "parameters" and standard deviation equal to the mean times the CV. Not used with httkpop model.
Whether or not to return the vector containing the samples from the simulation instead of the selected quantile.
Desired steady state tissue conentration.
Plasma concentration units, either uM or default mg/L.
Additional arguments ultimately passed to
solve_model
A list of options to use when working with Caco2 apical
to basolateral data Caco2.Pab
, default is Caco2.options =
list(Caco2.default = 2, Caco2.Fabs = TRUE, Caco2.Fgut = TRUE,
overwrite.invivo = FALSE, keepit100 = FALSE). Caco2.default sets the
default value for Caco2.Pab if Caco2.Pab is unavailable. Caco2.Fabs = TRUE
uses Caco2.Pab to calculate fabs.oral, otherwise fabs.oral = Fabs
.
Caco2.Fgut = TRUE uses Caco2.Pab to calculate fgut.oral, otherwise
fgut.oral = Fgut
. overwrite.invivo = TRUE overwrites Fabs and Fgut
in vivo values from literature with Caco2 derived values if available.
keepit100 = TRUE overwrites Fabs and Fgut with 1 (i.e. 100 percent)
regardless of other settings.
List of additional parameters passed to
invitro_mc
Additional parameters passed to
httkpop_generate
.
Additional parameters passed to the convert_httkpop_* function for the model.
Additional parameters passed to the parameterize_* function for the model.
List of additional parameters passed to
create_mc_samples
.
Logical indicating whether to return the results of all simulations, in addition to the default toxicokinetic statistics
John Wambaugh
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.
The six sets of plausible in vitro-in vivo extrapolation (IVIVE) assumptions identified by Honda et al. (2019) (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. |
NOTE: This function, and [create_mc_samples()], calculate oral bioavailability parameters based on Caco2 data. If you are comparing the output of this function to the output of [solve_model()], you will need to to ensure that [solve_model()] also uses Caco2 data, rather than its default behavior of using *in vivo* oral bioavailability data when available. To do that, please pass the following argument to [solve_model()]: `Caco2.options = list(overwrite.invivo = TRUE`.
create_mc_samples
# \donttest{
NSAMP <- 50
chemname="Abamectin"
times<- c(0,0.25,0.5,0.75,1,1.5,2,2.5,3,4,5)
age.ranges <- seq(6,80,by=10)
forward <- NULL
for (age.lower in age.ranges)
{
label <- paste("Ages ",age.lower,"-",age.lower+4,sep="")
set.seed(1234)
forward[[label]] <- calc_mc_tk(
chem.name=chemname,
samples=NSAMP,
httkpop.generate.arg.list=list(
method="d",
agelim_years = c(age.lower, age.lower+9)),
solvemodel.arg.list = list(
times=times))
}
set.seed(1234)
# well-behaved chemical with a measured Rblood2plasma:
lapply(calc_mc_tk(chem.cas="80-05-7",samples=NSAMP),function(x) x[-2,])
# }
Run the code above in your browser using DataLab