Learn R Programming

R Package "httk"

This R package provides data and models for predicting toxicokinetics (chemical absorption, distribution, metabolism, and excretion by the body). The models are design to be parameterized with chemical-specific in vitro (animal free) measurements. The predictions can be used for traditional dosimetry as well as in vivo-in vitro extrapolation (IVIVE) of in vitro bioactivity testing data (for example, ToxCast). See Breen et al. (2021) for a recent review.

This repository is for reporting bugs and contributing enhancements. Installable files, documentation, and other information can be obtained from https://cran.r-project.org/package=httk.

Description

Pre-made models that can be rapidly tailored to various chemicals and species using chemical-specific in vitro data and physiological information. These tools allow incorporation of chemical toxicokinetics ("TK") and in vitro-in vivo extrapolation ("IVIVE") into bioinformatics, as described by Pearce et al. (2017). Chemical-specific in vitro data characterizing toxicokinetics have been obtained from relatively high-throughput experiments. The chemical-independent ("generic") physiologically-based ("PBTK") and empirical (for example, one compartment) "TK" models included here can be parameterized with in vitro data or in silico predictions which are provided for thousands of chemicals, multiple exposure routes, and various species. High throughput toxicokinetics ("HTTK") is the combination of in vitro data and generic models. We establish the expected accuracy of HTTK for chemicals without in vivo data through statistical evaluation of HTTK predictions for chemicals where in vivo data do exist. The models are systems of ordinary differential equations that are developed in MCSim and solved using compiled (C-based) code for speed. A Monte Carlo sampler is included for simulating human biological variability (Ring et al., 2017) and propagating parameter uncertainty (Wambaugh et al., 2019). Empirically calibrated methods are included for predicting tissue:plasma partition coefficients and volume of distribution (Pearce et al., 2017). These functions and data provide a set of tools for using IVIVE to convert concentrations from high-throughput screening experiments (for example, Tox21, ToxCast) to real-world exposures via reverse dosimetry (also known as "RTK") (Wetmore et al., 2015).

Chemical Insights

UL Research Institutes’ Chemical Insights Research Institute (ULRI-CIRI) is an independent, non-profit research organization (501(c)(3)) dedicated to advancing the understanding of chemical exposures and their impacts on human health. Building on UL’s 130-year legacy in safety science, we are committed to producing peer-reviewed, open-access research that serves as a trusted resource for the public and scientific community. CIRI develops data and tools that adhere to the FAIR principles Wilkinson et al. 2016: Findable, Accessible, Interoperable, and Reusable. Our mission is to provide trustworthy, scientifically grounded predictions of chemical behavior.

We emphasize rigorous scientific peer review, and best practices in software development and engineering:

  1. Wherever possible, we integrate existing, peer-reviewed data and tools.
  2. When creating new data or methods, we submit them to external peer review to ensure quality and credibility.
  3. We try to make our research open-source where possible, and use continuous integration and testing to ensure high-quality software

Our goal is to inform standards, support evidence-based decision-making, and protect public health. We are passionate about advancing scientific discovery and applying it to real-world health challenges.

Visit the ULRI Chemical Insights website for more information and our latest research updates.

Getting Started

For an introduction to R, see Irizarry (2022) "Introduction to Data Science": http://rafalab.dfci.harvard.edu/dsbook/getting-started.html

For an introduction to toxicokinetics, with examples in "httk", see Ring (2021) in the "TAME Toolkit": https://uncsrp.github.io/Data-Analysis-Training-Modules/toxicokinetic-modeling.html

Dependencies

install.packages("X")

Or, if using RStudio, look for ‘Install Packages’ under ‘Tools’ tab.

  • Note that R does not recognize fancy versions of quotation marks ‘,$$’,$$“, or$~$”.

If you are cutting and pasting from software like Word or Outlook you may need to replace the quotation marks that curve toward each other with ones typed by the keyboard.

Installing R package "httk"

Adapted from Breen et al. (2021)

  • Getting Started with R Package httk from the R command line
install.packages("httk")

Load the HTTK data, models, and functions

library(httk)
  • Check what version you are using
packageVersion("httk")

Examples

  • List all CAS numbers for all chemicals with sufficient data to run httk
get_cheminfo()
  • List all information (If median.only=FALSE you will get medians, lower 95th,

and upper 95th for Fup, plus p-value for Clint, separated by commans, when those statistics are available. Older data only have means for Clint and Fup.):

get_cheminfo(info = "all", median.only=TRUE)
  • Is a chemical with a specified CAS number available?
"80-05-7" %in% get_cheminfo()
  • All data on chemicals A, B, C (You need to specify the names instead of "A","B","C"...)
subset(get_cheminfo(info = "all"), Compound %in% c("A","B","C"))
  • Administrated equivalent dose (mg/kg BW/day) to produce 0.1 uM plasma concentration, 0.95

quantile, for a specified CAS number and species

calc_mc_oral_equiv(0.1,chem.cas = "34256-82-1",species = "human")
calc_mc_oral_equiv(0.1,chem.cas = "99-71-8", species = "human")
  • Calculate the mean, AUC, and peak concentrations for a simulated study (28-day daily dose, by

default) for a specified CAS number and species

calc_tkstats(chem.cas = "34256-82-1",species = "rat")
calc_tkstats(chem.cas = "962-58-3", species = "rat")
  • Using the PBTK solver for a specified chem name
solve_pbtk(chem.name = "bisphenol a", plots = TRUE)
  • Create data set, my_data, for all data on chemicals A, B, C, in R
my_data <- subset(get_cheminfo(info = "all"), Compound %in% c("A","B","C"))
  • Export data set, my_data, from R to csv file called my_data.csv in the current working directory
write.csv(my_data, file = "my_data.csv")

User Notes

  • When using the CAS number as a unique chemical identifier with 'httk'

functions it is best to type these numbers directly (i.e. by hand) into the console, script, Rmarkdown, etc. to avoid unnecessary error messages. Webpages, word documents, and other sources of these CAS numbers may use a different character encoding that does not match those used in the 'httk' data sources.

Help

  • Getting help with R Package httk
help(httk)
  • You can go straight to the index:
help(package = httk)
  • List all vignettes for httk
vignette(package = "httk")
  • Displays the vignette for a specified vignette
vignette("IntroToHTTK")

Authors

Principal Investigator

John Wambaugh [wambaugh.research@gmail.com]

EPA Lead Developer

Caroline Ring [Ring.Caroline@epa.gov]

Model Authors and Function Developers

Robert Pearce, Sarah Davidson-Fritz [DavidsonFritz.Sarah@epa.gov] Greg Honda [honda.gregory@epa.gov], Mark Sfeir, Matt Linakis [MLINAKIS@ramboll.com], Dustin Kapraun [kapraun.dustin@epa.gov], Kimberly Truong [truong.kimberly@epa.gov], Colin Thomson [thomson.colin@epa.gov], Annabel Meade [aemeade7@gmail.com], and Celia Schacht [Schacht.Celia@epa.gov]

Bug-Fixes, Vignette edits, and Parameter Values

Todor Antonijevic [tantonijevic@toxstrategies.com], Miyuki Breen, Shannon Bell [Shannon.bell@inotivco.com], Xiaoqing Chang [Xiaoqing.chang@inotivco.com], Jimena Davis, Elaina Kenyon, Gilberto Padilla Mercado [PadillaMercado.Gilberto@epa.gov], Katie Paul Friedman [Katie.PaulFriedman@UL.org], Nathan Pollesch [pollesch.nathan@epa.gov], Meredith Scherer [Scherer.Meredith@epa.gov], Noelle Sinski [Noelle.Sinski@icf.com], Nisha Sipes [sipes.nisha@epa.gov], James Sluka [jsluka@indiana.edu],
Caroline Stevens [Stevens.Caroline@epa.gov], Barbara Wetmore [wetmore.barbara@epa.gov], and Lily Whipple

Statistical Expertise

Woodrow Setzer

Disclaimer

This software/application was initially developed by the U.S. Environmental Protection Agency (USEPA). No warranty expressed or implied is made regarding the accuracy or utility of the system, nor shall the act of distribution constitute any such warranty. The USEPA has relinquished control of the information and no longer has responsibility to protect the integrity, confidentiality or availability of the information. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the USEPA.

Copy Link

Version

Install

install.packages('httk')

Monthly Downloads

827

Version

2.7.4

License

MIT + file LICENSE

Maintainer

John Wambaugh

Last Published

December 9th, 2025

Functions in httk (2.7.4)

CAS.checksum

Test the check digit of a CAS number to confirm validity
apply_fup_adjustment

Correct the measured fraction unbound in plasma for lipid binding
benchmark_httk

Assess the current performance of httk relative to historical benchmarks
armitage_estimate_sarea

Estimate well surface area
body_surface_area

Predict body surface area.
available_rblood2plasma

Find the best available ratio of the blood to plasma concentration constant.
brain_mass

Predict brain mass.
EPA.ref

Reference for EPA Physico-Chemical Data
calc_analytic_css_1comp

Calculate the analytic steady state concentration for the one compartment model.
calc_analytic_css

Calculate the analytic steady state plasma concentration.
calc_dermal_equiv

Calculate Dermal Equivalent Dose
calc_clearance_frac

Calculate the fractional contributions to total clearance
blood_mass_correct

Find average blood masses by age.
bone_mass_age

Predict bone mass
calc_analytic_css_pbtk

Calculate the analytic steady state plasma concentration for model pbtk.
blood_weight

Predict blood mass.
calc_css

Find the steady state concentration and the day it is reached.
bmiage

CDC BMI-for-age charts
calc_analytic_css_3comp2

Calculate the analytic steady state concentration for model 3compartment
calc_analytic_css_sumclearances

Calculate the steady state concentration for the sum of clearances steady-state model with exhalation
calc_dow

Calculate the distribution coefficient
calc_analytic_css_3compss

Calculate the analytic steady state concentration for the three compartment steady-state model
calc_elimination_rate

Calculate the elimination rate for a one compartment model
calc_analytic_css_3comp

Calculate the analytic steady state concentration for model 3compartment
calc_ionization

Calculate the ionization.
calc_fbio.oral

Functions for calculating the bioavaialble fractions from oral doses
calc_hepatic_clearance

Calculate the hepatic clearance (deprecated).
calc_fetal_phys

Calculate maternal-fetal physiological parameters
calc_kair

Calculate air:matrix partition coefficients
calc_hep_clearance

Calculate the hepatic clearance.
calc_hep_fu

Calculate the free chemical in the hepaitic clearance assay
calc_half_life

Calculates the half-life for a one compartment model.
calc_fup_correction

Calculate the correction for lipid binding in plasma binding assay
calc_hep_bioavailability

Calculate first pass heaptic metabolism
calc_mc_css

Distribution of chemical steady state concentration with uncertainty and variability
calc_maternal_bw

Calculate maternal body weight
calc_ma

Calculate the membrane affinity
calc_rblood2plasma

Calculate the constant ratio of the blood concentration to the plasma concentration.
calc_mc_oral_equiv

Calculate Monte Carlo Oral Equivalent Dose
calc_mc_tk

Conduct multiple TK simulations using Monte Carlo
calc_tkstats

Calculate toxicokinetic summary statistics.
calc_stats

Calculate toxicokinetic summary statistics (deprecated).
calc_krbc2pu

Back-calculates the Red Blood Cell to Unbound Plasma Partition Coefficient
calc_total_clearance

Calculate the total plasma clearance.
convert_units

convert_units
cas_id_check

CAS number format check function
convert_solve_x

convert_solve_x
chem.physical_and_invitro.data

Physico-chemical properties and in vitro measurements for toxicokinetics
create_mc_samples

Create a table of parameter values for Monte Carlo
chem.invivo.PK.summary.data

Summary of published toxicokinetic time course experiments
ckd_epi_eq

CKD-EPI equation for GFR.
check_model

Check for sufficient model parameters
chem.invivo.PK.aggregate.data

Parameter Estimates from Wambaugh et al. (2018)
calc_vdist

Calculate the volume of distribution for a one compartment model.
dtxsid_id_check

DTXSID number format check function
estimate_gfr

Predict GFR.
dawson2021

Dawson et al. 2021 data
export_pbtk_jarnac

Export model to jarnac.
dawson2023

Machine Learning PFAS Half-Life Predictions from Dawson et al. 2023
export_pbtk_sbml

Export model to sbml.
example.seem

SEEM Example Data We can grab SEEM daily intake rate predictions already in RData format from https://github.com/HumanExposure/SEEM3RPackage/tree/main/SEEM3/data Download the file Ring2018Preds.RData
example.toxcast

ToxCast Example Data The main page for the ToxCast data is here: https://www.epa.gov/comptox-tools/exploring-toxcast-data Most useful to us is a single file containing all the hits across all chemcials and assays: https://clowder.edap-cluster.com/datasets/6364026ee4b04f6bb1409eda?space=62bb560ee4b07abf29f88fef
estimate_hematocrit

Generate hematocrit values for a virtual population
estimate_gfr_ped

Predict GFR in children.
gen_height_weight

Generate heights and weights for a virtual population.
get_cheminfo

Retrieve chemical information available from HTTK package
get_2023pfasinfo

Retrieve chemical information on 2023 EPA PFAS Chemicals
get_clint

Retrieve and parse intrinsic hepatic clearance
get_fup

Retrieve and parse fraction unbound in plasma
gen_serum_creatinine

Generate serum creatinine values for a virtual population.
gen_age_height_weight

Generate demographic parameters for a virtual population
get_chem_id

Retrieve chemical identity from HTTK package
get_physchem_param

Get physico-chemical parameters from chem.physical_and_invitro.data table
get_caco2

Retrieve in vitro measured Caco-2 membrane permeabilit
get_fbio

Retrieve or calculate fraction of chemical absorbed from the gut
get_invitroPK_param

Retrieve species-specific in vitro data from chem.physical_and_invitro.data table
get_gfr_category

Categorize kidney function by GFR.
get_weight_class

Assign weight class (underweight, normal, overweight, obese)
get_rblood2plasma

Get ratio of the blood concentration to the plasma concentration.
get_input_param_timeseries

Get timeseries containing the change of each of the input parameters.
get_lit_css

Get literature Css
get_lit_cheminfo

Get literature Chemical Information.
get_lit_oral_equiv

Get Literature Oral Equivalent Dose
get_wetmore_cheminfo

Get literature Chemical Information. (deprecated).
honda2023.data

Measured Caco-2 Apical-Basal Permeability Data
hematocrit_infants

Predict hematocrit in infants under 1 year old.
httk.performance

Historical Performance of R Package httk
httk_chem_subset

HTTK data chemical subsetting function
honda.ivive

Return the assumptions used in Honda et al. 2019
httk-package

httk: High-Throughput Toxicokinetics
honda2023.qspr

Predicted Caco-2 Apical-Basal Permeabilities
get_wetmore_oral_equiv

Get Literature Oral Equivalent Dose (deprecated).
hct_h

KDE bandwidths for residual variability in hematocrit
get_wetmore_css

Get literature Css (deprecated).
hw_H

KDE bandwidth for residual variability in height/weight
httkpop_direct_resample_inner

Inner loop function called by httkpop_direct_resample.
httkpop_biotophys_default

Convert HTTK-Pop-generated parameters to HTTK physiological parameters
in.list

Convenience Boolean (yes/no) functions to identify chemical membership in several key lists.
httk_vignettes

Interact with HTTK vignettes
httkpop

httkpop: Virtual population generator for HTTK.
httkpop_direct_resample

Generate a virtual population by directly resampling the NHANES data.
httkpop_mc

httk-pop: Correlated human physiological parameter Monte Carlo
httkpop_virtual_indiv

Generate a virtual population by the virtual individuals method.
is.httk

Convenience Boolean (yes/no) function to identify chemical membership and treatment within the httk project.
kidney_mass_children

Predict kidney mass for children
invitro.assay.params

ToxCast In Vitro Assay Descriptors
liver_mass_children

Predict liver mass for children
kapraun2019

Kapraun et al. 2019 data
load_dawson2021

Load CLint and Fup QSPR predictions from Dawson et al. 2021.
kramer_eval

Evaluate the Kramer In Vitro Distribution model
list_models

List all available HTTK models
invitro_mc

Monte Carlo for in vitro toxicokinetic parameters including uncertainty and variability.
httkpop_generate

Generate a virtual population for PBTK
is_in_inclusive

Checks whether a value, or all values in a vector, is within inclusive limits
pancreas_mass_children

Predict pancreas mass for children
load_pradeep2020

Load CLint and Fup QSPR predictions predictions from Pradeep et al. 2020.
load_sipes2017

Load CLint and Fup QSPR predictions from Sipes et al 2017.
lung_mass_children

Predict lung mass for children
parameterize_1comp

Parameters for a one compartment (empirical) toxicokinetic model
mecdt

Pre-processed NHANES data.
mcnally_dt

Reference tissue masses and flows from tables in McNally et al. (2014)
load_honda2025

Load Caco2 pereneability QSPR predictions from Honda et al. 2025
lump_tissues

Lump tissue parameters into model compartments
monte_carlo

Monte Carlo for toxicokinetic model parameters
parameterize_3comp

Parameters for a three-compartment toxicokinetic model (dynamic)
parameterize_armitage

Parameterize Armitage In Vitro Distribution Model
parameterize_gas_pbtk

Parameters for a generic gas inhalation physiologically-based toxicokinetic model
parameterize_fetal_pbtk

Parameterize_fetal_PBTK
parameterize_1tri_pbtk

Parameterize_1tri_PBTK
parameterize_kramer

Parameterize Kramer IVD Model
parameterize_IVD

Parameterize In Vitro Distribution Models
parameterize_pbtk

Parameters for a generic physiologically-based toxicokinetic model
parameterize_3comp2

Parameters for a three-compartment toxicokinetic model (dynamic)
parameterize_dermal_pbtk

Parameterizea generic PBTK model with dermal exposure
pradeep2020

Pradeep et al. 2020
pearce2017regression

Pearce et al. 2017 data
physiology.data

Species-specific physiology parameters
pfas.clearance

Interspecies In vivo Clearance Data for PFAS
parameterize_steadystate

Parameters for a three-compartment toxicokinetic model at steady-state
parameterize_sumclearances

Parameters for a three-compartment model at steady-state with exhalation
set_httk_precision

set_httk_precision
predict_partitioning_schmitt

Predict partition coefficients using the method from Schmitt (2008).
reset_httk

Reset HTTK to Default Data Tables
parameterize_sumclearancespfas

Parameters for a three-compartment model at steady-state with exhalation and resorption
r_left_censored_norm

Returns draws from a normal distribution with a lower censoring limit of lod (limit of detection)
parameterize_schmitt

Parameters for Schmitt's (2008) Tissue Partition Coefficient Method
scr_h

KDE bandwidths for residual variability in serum creatinine
parameterize_pfas1comp

Parameters for a one compartment (empirical) toxicokinetic model for PFAS
rmed0non0u95

Draw random numbers with LOD median but non-zero upper 95th percentile
propagate_invitrouv_1comp

Propagates uncertainty and variability in in vitro HTTK data into one compartment model parameters
propagate_invitrouv_3comp

Propagates uncertainty and variability in in vitro HTTK data into three compartment model parameters
rfun

Randomly draws from a one-dimensional KDE
scale_dosing

Scale mg/kg body weight doses according to body weight and units
propagate_invitrouv_pbtk

Propagates uncertainty and variability in in vitro HTTK data into PBPK model parameters
solve_1tri_pbtk

Solve_1tri_PBTK
skeletal_muscle_mass_children

Predict skeletal muscle mass for children
skin_mass_bosgra

Predict skin mass
skeletal_muscle_mass

Predict skeletal muscle mass
solve_3comp_lifestage

Solve the 3comp_lifestage model, which has time-dependent parameters
solve_1comp_lifestage

Solve 1comp_lifestage model, which has time-dependent parameters
solve_1comp

Solve one compartment TK model
sipes2017

Sipes et al. 2017 data
solve_3comp

Solve_3comp
solve_3comp2

Solve_3comp2
spleen_mass_children

Predict spleen mass for children
tissue.data

Tissue composition and species-specific physiology parameters
solve_full_pregnancy

Solve_full_pregnancy
solve_model

Solve_model
solve_pbtk_lifestage

Solve the pbtk_lifestage model, which has time-dependent parameters
well_param

Microtiter Plate Well Descriptions for Armitage et al. (2014) Model
solve_gas_pbtk

solve_gas_pbtk
tissue_scale

Allometric scaling.
solve_dermal_pbtk

Solve_dermal_PBTK
tissue_masses_flows

Given a data.table describing a virtual population by the NHANES quantities, generates HTTK physiological parameters for each individual.
solve_fetal_pbtk

Solve_fetal_PBTK
solve_pbtk

Solve_PBTK
wfl

WHO weight-for-length charts
age_draw_smooth

Draws ages from a smoothed distribution for a given gender/race combination
augment.table

Add a parameter value to the chem.physical_and_invitro.data table
add_chemtable

Add a table of chemical information for use in making httk predictions.
armitage_eval

Armitage In Vitro Distribution Model
Tables.Rdata.stamp

A timestamp of table creation
apply_clint_adjustment

Correct the measured intrinsive hepatic clearance for fraction free