
Last chance! 50% off unlimited learning
Sale ends in
This function solves for the amounts or concentrations of a chemical in
the blood of three different compartments representing the body.
The volumes of the three compartments are chemical specific, determined from
the true tissue volumes multipled by the partition coefficients:
solve_3comp(
chem.name = NULL,
chem.cas = NULL,
dtxsid = NULL,
times = NULL,
parameters = NULL,
days = 10,
tsteps = 4,
daily.dose = NULL,
dose = NULL,
doses.per.day = NULL,
initial.values = NULL,
plots = FALSE,
suppress.messages = FALSE,
species = "Human",
iv.dose = FALSE,
input.units = "mg/kg",
output.units = NULL,
default.to.human = FALSE,
class.exclude = TRUE,
physchem.exclude = TRUE,
recalc.blood2plasma = FALSE,
recalc.clearance = FALSE,
clint.pvalue.threshold = 0.05,
dosing.matrix = NULL,
adjusted.Funbound.plasma = TRUE,
regression = TRUE,
restrictive.clearance = TRUE,
minimum.Funbound.plasma = 1e-04,
Caco2.options = list(),
monitor.vars = NULL,
...
)
A matrix of class deSolve with a column for time(in days) and each compartment, the plasma concentration, area under the curve, and a row for each time point.
Either the chemical name, CAS number, or the parameters must be specified.
Either the chemical name, CAS number, or the parameters must be specified.
EPA's 'DSSTox Structure ID (https://comptox.epa.gov/dashboard) the chemical must be identified by either CAS, name, or DTXSIDs
Optional time sequence for specified number of days. The dosing sequence begins at the beginning of times.
Chemical parameters from parameterize_3comp function, overrides chem.name and chem.cas.
Length of the simulation.
The number time steps per hour.
Total daily dose, mg/kg BW.
Amount of a single dose, mg/kg BW.
Number of doses per day.
Vector containing the initial concentrations or amounts of the chemical in specified tissues with units corresponding to output.units. Defaults are zero.
Plots all outputs if true.
Whether or not the output message is suppressed.
Species desired (either "Rat", "Rabbit", "Dog", "Mouse", or default "Human").
Simulates a single i.v. dose if true.
Input units of interest assigned to dosing, defaults to mg/kg BW
A named vector of output units expected for the model results. Default, NULL, returns model results in units specified in the 'modelinfo' file. See table below for details.
Substitutes missing animal values with human values if true (hepatic intrinsic clearance or fraction of unbound plasma).
Exclude chemical classes identified as outside of domain of applicability by relevant modelinfo_[MODEL] file (default TRUE).
Exclude chemicals on the basis of physico-chemical properties (currently only Henry's law constant) as specified by the relevant modelinfo_[MODEL] file (default TRUE).
Recalculates the ratio of the amount of chemical in the blood to plasma using the input parameters, calculated with hematocrit, Funbound.plasma, and Krbc2pu.
Recalculates the the hepatic clearance (Clmetabolism) with new million.cells.per.gliver parameter.
Hepatic clearances with clearance assays having p-values greater than the threshold are set to zero.
Vector of dosing times or a matrix consisting of two columns or rows named "dose" and "time" containing the time and amount, in mg/kg BW, of each dose.
Uses adjusted Funbound.plasma when set to TRUE along with partition coefficients calculated with this value.
Whether or not to use the regressions in calculating partition coefficients.
Protein binding not taken into account (set to 1) in liver clearance if FALSE.
Monte Carlo draws less than this value are set equal to this value (default is 0.0001 -- half the lowest measured Fup in our dataset).
A list of options to use when working with Caco2 apical
to basolateral data Caco2.Pab
, default is Caco2.options =
list(Caco2.Pab.default = 1.6, Caco2.Fabs = TRUE, Caco2.Fgut = TRUE,
overwrite.invivo = FALSE, keepit100 = FALSE). Caco2.Pab.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.
See get_fbio
for further details.
Which variables are returned as a function of time. Defaults value of NULL provides "Cliver", "Csyscomp", "Atubules", "Ametabolized", "AUC"
Additional arguments passed to the integrator (deSolve).
John Wambaugh and Robert Pearce
Note that the timescales for the model parameters have units of hours while the model output is in days.
Default of NULL for doses.per.day solves for a single dose.
The compartments used in this model are the gutlumen, gut, liver, and rest-of-body, with the plasma related to the concentration in the blood in the systemic compartment by the blood:plasma ratio.
Model Figure
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.
Because this model does not simulate exhalation, inhalation, and other processes relevant to volatile chemicals, this model is by default restricted to chemicals with a logHenry's Law Constant less than that of Acetone, a known volatile chemical. That is, chemicals with logHLC > -4.5 (Log10 atm-m3/mole) are excluded. Volatility is not purely determined by the Henry's Law Constant, therefore this chemical exclusion may be turned off with the argument "physchem.exclude = FALSE". Similarly, per- and polyfluoroalkyl substances (PFAS) are excluded by default because the transporters that often drive PFAS toxicokinetics are not included in this model. However, PFAS chemicals can be included with the argument "class.exclude = FALSE".
pearce2017httkhttk
solve_model
parameterize_3comp
calc_analytic_css_3comp
solve_3comp(chem.name='Bisphenol-A',
doses.per.day=2,
daily.dose=.5,
days=1,
tsteps=2)
# \donttest{
# By storing the model parameters in a vector first, you can potentially
# edit them before using the model:
params <-parameterize_3comp(chem.cas="80-05-7")
solve_3comp(parameters=params, days=1)
head(solve_3comp(chem.name="Terbufos", daily.dose=NULL, dose=1, days=1))
head(solve_3comp(chem.name="Terbufos", daily.dose=NULL, dose=1,
days=1, iv.dose=TRUE))
# A dose matrix specifies times and magnitudes of doses:
dm <- matrix(c(0,1,2,5,5,5),nrow=3)
colnames(dm) <- c("time","dose")
solve_3comp(chem.name="Methenamine", dosing.matrix=dm,
dose=NULL, daily.dose=NULL,
days=2.5)
solve_3comp(chem.name="Besonprodil",
daily.dose=1, dose=NULL,
days=2.5, doses.per.day=4)
# The following will not work because Diquat dibromide monohydrate's
# Henry's Law Constant (-3.912) is higher than that of Acetone (~-4.5):
try(head(solve_3comp(chem.cas = "6385-62-2")))
# However, we can turn off checking for phys-chem properties, since we know
# that Diquat dibromide monohydrate is not too volatile:
head(solve_3comp(chem.cas = "6385-62-2", physchem.exclude = FALSE))
# }
Run the code above in your browser using DataLab