solve_1comp | R Documentation |
This function solves for the amount or concentration of a chemical in plasma
for a one compartment model as a function of time based on the dose and
dosing frequency.
The model describes blood concentrations in a single compartment.
The volume of distribution
depends on the physical volume of each tissue and the predicted chemical
partitioning into those volumes.
Plasma concentration in compartment x is given by
C_{plasma} = \frac{C_{blood}}{R_{b2p}}
for a tissue independent value of
R_{b2p}
.
solve_1comp(
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,
dosing.matrix = NULL,
adjusted.Funbound.plasma = TRUE,
regression = TRUE,
restrictive.clearance = TRUE,
minimum.Funbound.plasma = 1e-04,
monitor.vars = NULL,
Caco2.options = list(),
...
)
chem.name |
Either the chemical name, CAS number, or the parameters must be specified. |
chem.cas |
Either the chemical name, CAS number, or the parameters 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 |
times |
Optional time sequence for specified number of days. |
parameters |
Chemical parameters from parameterize_1comp function, overrides chem.name and chem.cas. |
days |
Length of the simulation. |
tsteps |
The number time steps per hour. |
daily.dose |
Total daily dose, default is mg/kg BW. |
dose |
Amount of a single dose, default is mg/kg BW. |
doses.per.day |
Number of doses per day. |
initial.values |
Vector containing the initial concentrations or amounts of the chemical in specified tissues with units corresponding to output.units. Defaults are zero. |
plots |
Plots all outputs if true. |
suppress.messages |
Whether or not the output message is suppressed. |
species |
Species desired (either "Rat", "Rabbit", "Dog", or default "Human"). |
iv.dose |
Simulates a single i.v. dose if true. |
input.units |
Input units of interest assigned to dosing, defaults to "mg/kg" BW. |
output.units |
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. |
default.to.human |
Substitutes missing rat values with human values if true. |
class.exclude |
Exclude chemical classes identified as outside of domain of applicability by relevant modelinfo_[MODEL] file (default TRUE). |
physchem.exclude |
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). |
recalc.blood2plasma |
Whether or not to recalculate the blood:plasma chemical concentrationr ratio |
recalc.clearance |
Whether or not to recalculate the elimination rate. |
dosing.matrix |
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 by default, of each dose. |
adjusted.Funbound.plasma |
Uses adjusted Funbound.plasma when set to TRUE along with volume of distribution calculated with this value. |
regression |
Whether or not to use the regressions in calculating partition coefficients in volume of distribution calculation. |
restrictive.clearance |
In calculating elimination rate, protein binding is not taken into account (set to 1) in liver clearance if FALSE. |
minimum.Funbound.plasma |
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). |
monitor.vars |
Which variables are returned as a function of time. Defaults value of NULL provides "Agutlumen", "Ccompartment", "Ametabolized", "AUC" |
Caco2.options |
A list of options to use when working with Caco2 apical
to basolateral data |
... |
Additional arguments passed to the integrator (deSolve). |
Model Figure
Note that the timescales for the model parameters have units of hours while
the model output is in days.
Default value of NULL for doses.per.day solves for a single dose.
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.
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".
A matrix with a column for time(in days) and a column for the compartment and the area under the curve (concentration only).
Robert Pearce
pearce2017httkhttk
solve_model
parameterize_1comp
calc_analytic_css_1comp
solve_1comp(chem.name='Bisphenol-A', days=1)
# By storing the model parameters in a vector first, you can potentially
# edit them before using the model:
params <- parameterize_1comp(chem.cas="80-05-7")
solve_1comp(parameters=params, days=1)
head(solve_1comp(chem.name="Terbufos", daily.dose=NULL, dose=1, days=1))
head(solve_1comp(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_1comp(chem.name="Methenamine", dosing.matrix=dm,
days=2.5, dose=NULL,daily.dose=NULL)
solve_1comp(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_1comp(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_1comp(chem.cas = "6385-62-2", physchem.exclude = FALSE))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.