calc_mc_tk: Conduct multiple TK simulations using Monte Carlo

View source: R/calc_mc_tk.R

calc_mc_tkR Documentation

Conduct multiple TK simulations using Monte Carlo

Description

This function finds the analytical steady state plasma concentration(from calc_analytic_css) using a monte carlo simulation (monte_carlo).

Usage

calc_mc_tk(
  chem.cas = NULL,
  chem.name = NULL,
  dtxsid = NULL,
  parameters = NULL,
  samples = 1000,
  species = "Human",
  suppress.messages = FALSE,
  model = "pbtk",
  httkpop = TRUE,
  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)),
  invitro.mc.arg.list = NULL,
  httkpop.generate.arg.list = list(method = "direct resampling"),
  convert.httkpop.arg.list = NULL,
  parameterize.arg.list = NULL,
  return.all.sims = FALSE
)

Arguments

chem.cas

Either the CAS number, parameters, or the chemical name must be specified.

chem.name

Either the chemical parameters, name, or the CAS number 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 parameterize_steadystate. Not used with httkpop model.

samples

Number of samples generated in calculating quantiles.

species

Species desired (either "Rat", "Rabbit", "Dog", "Mouse", or default "Human"). Species must be set to "Human" to run httkpop model.

suppress.messages

Whether or not to suppress output message.

model

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.

httkpop

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'.

invitrouv

Logical to indicate whether to include in vitro parameters in uncertainty and variability analysis

calcrb2p

Logical determining whether or not to recalculate the chemical ratio of blood to plasma

censored.params

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.

vary.params

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.

return.samples

Whether or not to return the vector containing the samples from the simulation instead of the selected quantile.

tissue

Desired steady state tissue conentration.

output.units

Plasma concentration units, either uM or default mg/L.

solvemodel.arg.list

Additional arguments ultimately passed to solve_model

invitro.mc.arg.list

List of additional parameters passed to invitro_mc

httkpop.generate.arg.list

Additional parameters passed to httkpop_generate.

convert.httkpop.arg.list

Additional parameters passed to the convert_httkpop_* function for the model.

parameterize.arg.list

Additional parameters passed to the parameterize_* function for the model.

return.all.sims

Logical indicating whether to return the results of all simulations, in addition to the default toxicokinetic statistics

Details

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 substitues 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 in vitro-in vivo extrpolation (IVIVE) assumptions identified by Honda et al. (2019) (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.

Value

If return.all.sims == FALSE (default) a list with:

means

The mean concentration for each model compartment as a function of time across the Monte Carlo simulation

sds

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:

stats

The list of means and sds from return.all.sums=FALSE

sims

The concentration vs. time results for each compartment for every (samples) set of parameters in the Monte Carlo simulation

Author(s)

John Wambaugh

See Also

create_mc_samples

Examples



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))
}



httk documentation built on March 7, 2023, 7:26 p.m.