This release accompanies the submission of the new manuscript "A Simple Physiologically-Based Toxicokinetic Model for Multi-Route In Vitro-In Vivo Extrapolation" and includes new models incorporating inhalation/exhalation ("sumclearances" and "3compartment2").
calc_analytic_css_1comp
to reflect that Vdist is the effective plasma (not blood) volume (thanks Shenghong Wang)check_model
argument logic to include "force.human.clint.fup"calc_css
Now passing arguments "well.stirred.correction" and "restrictive.clearance" to the model parameterization function, so calc_css
should now respect user specifications for those options, rather than previous behavior of always calculating with defaults well-stirred and restrictive = TRUEsolve_model
: Pass restrictive clearance argument to model parameterization functionparameterize_steadystate
: pass minimum.Funbound.plasma to get_fup
parameterize_1comp
: pass "minimum.Funbound.plasma" argument to calc_vdist
calc_total_clearance
: arguments "well.stirred.correction" and "adjusted.Funbound.plasma" are no longer explicit arguments for the function but are still able to be used as part of the '...' argumentssolve_gas_pbtk
: the "restrictive.clearance" argument default was changed from TRUE to FALSEcalc_vdist
, parameterize_schmitt
, and predict_partitioning_schmitt
to correctly show how to predict volume of distribution from a list of parametersparameterize_sumclearances
, parameterize_3comp2
, solve_3comp2
parameterize_1comp
: Add calls to check_model
for models "1compartment" and "3compartmentss", since we use parameterize_steadystate
to parameterize "1compartment".solve_gas_pbtk
is now non-restrictive by default, but argument restrictive.clearance=TRUE makes the model behave similarly to the default pbtk model.This release accompanies the submission of the new manuscript "Enabling Transparent Toxicokinetic Modeling for Public Health Risk Assessment" and includes changes intended to better facilitate development of new HTTK models through improved model clarity.
In addition we have incorporated comments received on manuscript "Impact of Gut Permeability on Estimation of Oral Bioavailability for Chemicals in Commerce and the Environment" provided by reviewers at ALTEX.
calc_hep_clearance
when model = "unscaled"calc_fabs.oral
-- calculations now indicate that more chemicals are poorly absorbed.calc_css
to handle models with no specified analytic solutionarmitage_eval
so that pka_donor and pka_accept values now correctly used (thank you Meredith Scherer)solve_model
when only specific times requesed and plots=TRUE (thank you Kimberly Troung)get_chem_id
when using add_chemtable
without DTXSIDs (thank you Marc Beal and Miyuki Breen)create_mc_samples
where arguments were not getting passed to 'invitro_mc' (thank you Hsing-Chieh Lin and Weihsueh Chiu)solve_model
where tsteps was ignored if times were specifiedcalc_mc_css
and calc_mc_tk
(and calc_mc_css
via ...) so that a consistent population can be used across monte carlo runs. See argument httkpop.dt.calc_fabs.oral
now calculates oral uptake rate kgutabs using Caco-2 permeability, according to method of Lennernas (1997) (Thank you ALTEX reviewers)get_fabsgut
to get_fbio
and modified function to use calc_fbio.oral
rather than call oral bioavailability subfunctions directlycalc_kair
to only allow neutral chemical fraction to partition into air (thank you Jon Arnot)solve_[MODEL]
functions now exclusively pass arguments to deSolve through "..."calc_css
to better calculate the day on which steady-state is reachedcheck_model
to provide more informative error messages when key model parameters are missingsolve_model
now limited to ten times higher than small.timesolve_model
immediately after dose events to improve plottingThis patch addresses a number of bugs.
get_fabsgut
create_mc_samples
could not handle argument
parameters being a list (as in,
parameters=parameterize_steadstate(chem.name="bisphenola"))calc_css
now explain that function is only applicable
to dynamical (time-evolving) models and handles errors with other models
(such as 3compartmentss) more gracefullyconvert_units
were
actually ppmw. Cannot calculate ppmv without chemical-specific liquid density,
which we do not know.armitage_eval
to allow chemical specification by usual arguments
chem.name, chem.cas, and DTXSID. Preserved casrn.vector for backward compatibility.armitage_eval
to allow multiple instances of chemicals (no longer
using CASRN as row names) -- thank you Katie Paul Friedman for suggestionsolve_model
now gives warnings when ignoring elements of
dosing for a given model and route (acceptible dosing.params are now
specified by the modelinfo_[MODEL].R file)This version accompanies the submission of manuscript Honda et al. "Impact of Gut Permeability on Estimation of Oral Bioavailability for Chemicals in Commerce and the Environment". Find the analysis scripts on GitHub
calc_css
works for accumulative chemcialsconvert_units
solve_model
is no longer restricted to four
significant figurescalc_mc_oral_equiv
)
wherein you could not specify the argument parameters to be a table created by
create_mc_samples
(thanks Jayme Coyle and Tyler Lalonde)convert_units
to handle multiple molecular weights -- this enables
convert_mc_oral_equivalent
to take a table of parameters for Monte Carloget_clint
and
get_invtroPK_param
to be more informativeinvitrouv=FALSE
(thanks cm16120)load_honda2023
to load QSPR (quantitative
structure-property relationship model) predictions for Caco-2 membrane
permeability for ~10,000 chemicals -- QSPR is optimized to detect low
permeability chemicals and therefore predicts only three values
(low/medium/high permeability)calc_fbio.oral
, calc_fabs.oral
, and calc_fgut.oral
for calculating systemic bioavailability as $Fbio = Fabs \times Fgut \times Fhep$
where first-pass hepatic metabolism was already available from
calc_hep_bioavailability
.invitro_uv
benchmark_httk
to compare current function of the
package against historical performance (stored in data.frame httk.performance
)calc_tkstats
to allow PBTK model to distribute iv dosesload_dawson2021
(thank you Alex Fisher and Mike Tornero!)armitage_eval
to
properly convert water solubility from OPERA units)convert_units
, expanding the variety of unit conversions
available -- it is critical to distringuish between state of matter
(liquid vs. gas)get_physchem_param
to be case-insensitivecal_hep_clearance
--
Kilford (2008) adjustment now only
occurs in parameterization functions* Added new function
apply_clint_adjustment
to standardize implementation of adjustment (thanks
Todor Antonijevic)calc_ionization
that caused error when argument pH was a
vector -- impacts Monte Carlo for ionized compoundssolve_model
returned other than requested times when
argument times was specified (thanks Kimberly Truong)calc_fup_correction
and apply_fup_adjustment
to
consolidate and make uniform application of the
Pearce et al. (2017) lipid binding
adjustment to in vitro measured fupcalc_dow
for the distribution coefficientcalc_ma
separates membrane affinity calculation from
parameterize_schmitt
calc_kair
separates calculation of blood:air, water:air, and
mucus:air partition coefficients from parameterize_gas_pbtk
calc_fup_correction
and
calc_hep_fu
based on the idea that the in vitro assays are not long enough
to reach concentration ratios greater than 1,000,000 to 1calc_analytic_css_pbtk
to reflect
Breen et al. (2022) modification
to glomerular filtration in the kidneyget_cheminfo
now lists required parameters when chemicals are excluded
(thanks Ben Savage)daily.dose
argument to calc_mc_css
(still defaults to 1
mg/kg/day)calc_mc_css
and calc_mc_tk
since now
internally using do.call
wherever possible to pass argumentssolve_model
predict_partitioning_schmitt
identifying
corresponding equations in
Schmitt (2008)class.exclude
to get_cheminfo
-- defaults to TRUE
, but if
FALSE
then chemical classes are not excluded on the basis of specified modelThis minor update removes UTF-8 characters from the package and changes the
calculation of kUrt on line 292 of model_gas_pbtk.c
to reduce
vulnerability to machine precision errors.
This version accompanies the submission of the Breen et al. manuscript "Simulating Toxicokinetic Variability to Identify Susceptible and Highly Exposed Populations"
mecdt
of class data.table
, rather than as object nhanes_mec_svy
of
class survey.design2
. Also, no longer storing pre-calculated spline fits
for serum creatinine and hematocrit vs. age, or pre-calculated age
distributions (used by HTTK-Pop in virtual-individuals mode); these are now
calculated "on the fly".race factor
to 1 by
default (that is, treat all simulated adults as "non-black" for purposes of GFR
estimation), to reflect recent changes in clinical practice. (Control this
behavior with httkpop_generate()
argument ckd_epi_race_factor
)httkpop_generate()
argument gfr_resid_var
)default.to.human=TRUE
when rat fup
is 0 (Thanks Jim Sluka)get_wetmore...
) for backward compatibility
(Thanks Jim Sluka)invitro_mc
to remove inconsistencies and correct handling of
fup where median is zero but upper 95th is non-zeroremd0non0u95
to draw random numbers such that the
median is zero and the upper 97.5th quantile is non-zero, taking limit of
detection into accountcalc_mc_css
and
calc_mc_oral_equiv
invitro_mc
to directly allow user to turn
uncertainty and variability off (previously this was done by setting CV to
NULL)calc_hep_clearance
to the
parameterize_X
functions and invitro_mc
-- can now be toggled with argument
adjusted.Clintcalc_mc_css
were incorrectly calculated in v2.1.0 (only), mg/L
units unaffected, but this will have impacted equivalent doses calculated with
calc_mc_oralequiv
(Thank you Marc Beal!)calc_half_life
and prohibited the ability to obtain steady state parameters.create_mc_samples
related to default.to.human
argument not
being passed to parameterize_schmitt
This version accompanies the submission of the Kapraun et al. manuscript "Evaluation of a Rapid, Generic Human Gestational Dose Model"
solve_fetal_pbtk
and parameterize_fetal_pbtk
load_dawson2021
load_pradeep2020
calc_halflife
(thank you Imran Shah)predict_partitioning_schmitt
removing the hard coded predicted
fup regression values from
Pearce et al. (2017) and created
stand-alone data matrix pearce2017regression read in by the function.convert_units
added to ensure consistency in
unit conversions across functionspredict_partitioning_schmitt
-- now we read list of
tissues needed for a model from modelinfo_X.R
variable alltissuesget_cheminfo
and table
chem.phys_and_invitro.data (thank you Lynne Haber and Mark Bradley)add_chemtable
to address ionization (thank you Johann Fribl)get_cheminfo
to incorporate a chemical class filter to remove
"PFAS" compounds for all models, except 3compartmentss, based on
Wambaugh et al.(2015).calc_ionization
)
that caused pKa`s to be ignored in many cases (thank you Wu Yaoxing)get_cheminfo
behavior to change chemical hepatic clearance values
where p-value is not consistent with decrease (p-value >
clint.pvalue.threshold, default 0.05) to zero.get_cheminfo
behavior to remove fraction unbound in plasma values
if credible interval spans from < 0.1 to > 0.9 (turn off with
fup.ci.cutoff=FALSE).get_cheminfo
to include median.only argument allowing
confidence intervals to be removed for chemical intrinsic hepatic clearance
(Clint) values and fraction unbound in plasma (fup) values where
they exist (turn on with median.only=TRUE).get_cheminfo
to filter volatile compounds using Henry`s law
constant for all models, excluding the gas_pbtk model.calc_stats
to calc_tkstats
-- calc_stats
remains temporarily
but calls calc_tkstats
calc_stats
and
calc_hepatocyte_clearance
get_cheminfo
and
parameterize_schmitt
now handle odd cases (like species is zero but human is
not) betterget_cheminfo
is now case insensitiveadd_chemtable
(really internal function augment.table
) changed to enforce
significant figures (default 4)allow.na
argument to add_chemtable
so that values can be
deleted (thanks Nisha Sipes)create_mc_samples
not setting parameter.names variable when
parameters are passed to it was fixed by Tom Moxon -- thank you!add_chemtable
changed so that pValue and pValue.Reference
set to NA
when Clint is changed (thanks Nisha Sipes)calc_tkstats
corrected to display Rblood2plasmaparameterize_pbtk
get_physchem_param
to look up any missing parameter needed in predicting
tissue:plasma partition coefficients using predict_partitioning_schmitt
.set_httk_precision
is now used throughout code to enforce a
standard set of significant figures (4) and precision (nothing less than 1e-9).calc_hepatic_clearance
wrapper function for calc_hep_clearance
to
allow backwards compatibilityget_chemid
to not crash in certain cases (thank you, Shannon Bell)calc_mc_oral_equivalent
(was sometimes returning all
samples unasked, thank you Dan Dawson)This version is consistent with consistent with Linakis et al. (submitted) "Development and Evaluation of a High Throughput Inhalation Model for Organic Chemicals"
Significantly rewrote underlying code to allow more easy integration of new models. (goodbye spaghetti code!)
calc_analytic_css
calc_mc_css
convert_httkpop
(renamed from convert_httk
)solve_*
model functionshttkpop_biotophys_default
replaces httkpop_bio
convert_httkpop
replaces convert_httk
solve_model
(mostly used by solve_*
model functions)calc_mc_tk
(performs Monte Carlo simulation using a solve_*
function)analytic_css_*
: Model-specific analytic steady-state solutionconvert_httkpop_*
: Model-specific functions for converting HTTK-pop
biometrics to model parametersEPAs DSSTox Chemical Structure ID
s (DTXSIDs, see
https://comptox.epa.gov/dashboard) now work as chemical identifiers in
addition to name and CAS.
Results now truncated to appropriate significant figures (4) and precision (1e-12).
New physiological parameters have been added for monkeys
To decrease package size the load image option of load_sipes2017
was
eliminated
Added vignette for Figure 6 from Frank, et al. (2018) "Defining toxicological tipping points in neuronal network development."
This version is consistent with the submitted manuscript Wambaugh et al. "Assessing Toxicokinetic Uncertainty and Variability in Risk Prioritization". Major enhancements were made to allow propagation of measurement-specific uncertainty and population variability into IVIVE predictions.
minimum.Funbound.plasma
argument since some of the Bayesian estimates
are very low and at some point the values seem implausible. A value of 0.0001
was selected since it half the lowest reported measured value. Setting
minimum.Funbound.plasma=0
removes this restriction.fup.meas.cv=0.4
, clint.meas.cv=0.3
, fup.pop.cv=0.3
,
clint.pop.cv=0.3
, (from
Wambaugh et al, submitted). Note that
most of the new fup measurements have a lower CV than 0.3.calc_analytic_css
to handle all models in the same manner.calc_mc_oral_equivalent
to "mgpkgpday" and "umolpkgpday".
(idea from Katie Paul-Friedman) honda.ivive
argument functionality, reduced to four options as in
Honda et al. (2019) Figure 8
panels a-d, changed "plasma.binding" to "bioactive.free.invivo", and exported
function to allow user to call help filehonda.ivive
calc_css
functionscalc_analytic_css
functions, and calc_mc...
functionsget_physchem_param
: exported and now works with vectors of CAS
and/or parametersdefault.to.human=TRUE
(human p-value is now used).
(thank you Jason Phillips and Shyam Patel for bug report).calc_mc_css
warningscalc_analytic_css
that were causing Css
to be over-estimated roughly 10x, therefore reducing the oral equivalent dose
10x (thank you Nisha Sipes for bug report).This version is consistent with the submitted version of Honda et al. "Using the Concordance of In Vitro and In Vivo Data to Evaluate Extrapolation Assumptions"
armitage_eval
armitage_estimate_sarea
calc_mc_css
) to use sets
of assumptions identified by
Honda et al.
(for example, IVIVE="Honda1") (thank you Katie Paul-Friedman)load_sipes2017
to be much faster by loading an image by defaultload_sipes2017
.get_wetmore_X
functions changed to get_lit_X
httkpop_bio
exported to user functions
(function name since changed to httkpop_biotophys_default
)solve_[MODEL]
functionshematocrit
argument to calc_rblood2plasma
get_cheminfo
help file: exlude.fub.zero
defaults to
FALSE
for model 3compartmentss and TRUE
for otherscalc_mc_css
bug: species now passed to function monte_carlo
This version is consistent with the published version of Pearce et al. "Evaluation and calibration of high-throughput predictions of chemical distribution to tissues". This version contains calibrations for tissue:plasma partition coefficient calibration predictions.
regression
) and adjusted Funbound.plasma (adjusted.Funbound.plasma
).load_sipes2017()
.calc_mc_css
runs faster when not using httkpop and calculating
Rblood2plasma, now only calculated once.is.pharma
has been added as a function.calc_analytic_css
does not recalculate all partition coefficients when
specifying a tissue.NA
have been replaced with
predictions from OPERA where available.parameterize_1comp
) and 3compartmentss
(parameterize_steadystate
). Oral doses for these models are now multiplied by
hepatic.bioavailability and Fgutabs before entering systemic
circulation.modelPBTK.c
, the source file for the pbtk model, now has updated
variable names, and corresponding changes are made in solve_pbtk
.calc_mc_css bug
: daily.dose now working as an argument (previously only running as 1).This version is consistent with the JSS publication of Pearce et al. "httk: R Package for High-Throughput Toxicokinetics".
calc_mc_css
calc_mc_css
, and added faster
method for calculating Rblood2plasma for 3compartmentss
.This version includes data and modifications as reported in the recently submitted Pearce et al. paper "Evaluation and Calibration of High-Throughput Predictions of Chemical Distribution to Tissues".
regression=FALSE
and Funbound.plasma.pc.correction=FALSE
for other
models).available_rblood2plasma
parameterize_schmitt
: added force.human.fub
argumentcalc_mc_css
: defaults to direct resampling. no longer coerces species to
human when httkpop=TRUE
. When another species is entered, a warning is thrown
and the function behaves as if httkpop=FALSE
.Fubound.plasma
when overwrite=FALSE
in
add_chemtable
calc_mc_css
: well-stirred correction and new
Funbound.plasma
used by default. New partition coefficients used with other models by default.parameterize_3comp
default.to.human
bug -- no longer always set to falseThis version is consistent with Ring et al. "Identifying populations sensitive to environmental chemicals by simulating toxicokinetic variability", which is accepted for publication at Environment International. Revisions include models, data, and vignettes for "httk-pop" functionality. "httk-pop" allows Monte Carlo simulation of physiological variability using data from the National Health and Nutrition Examination Survey.
httkpop=FALSE
).default.to.human
argument added to calc_hepatic_clearance
and
calc_stats
.calc_hepatic_clearance
and calc_total_clearance
do not necessarily require
all parameters.tissue
added to calc_analytic_css
, calc_mc_css
, and
calc_mc_oral_equiv
, enabling tissue specific calculations in addition to
plasma.calc_dow
argument fraction.neutral
changed to fraction.charged
, thus
treating Zwitter ions as neutralssolve_*
functions.get_rblood2plasma
function added to retrieve in vivo Rblood2plasma
from chem.physical_and_invitro.data.get_cheminfo
monte_carlo
: Upper bound placed at limit of detection for
censored.params
truncated normal distribution. However, this has no impact
on the default case where the limit of detection is .01 the mean .005 because
of the small standard deviation size (.0015). Only large coefficients of
variation or Funbound.plasma values close to the limit of detection would
be affected.This revision incorporates changes suggested by the reviewers of Pearce et al., which was accepted, pending minor revision, in the Journal of Statistical Software (now included in vignettes).
This revision adds ~200 more chemicals (from two recent publications including Wetmore et al. (2015) and make several small changes to improve usability and stability.
This version is consistent with a newly submitted article Pearce et al. "httk: R Package for High-Throughput Toxicokinetics" to the Journal of Statistical Software describing use of this package.
Initial public (CRAN) release (March 6, 2015)